From b19b3913312d803e62ab4804e50eda05c2645135 Mon Sep 17 00:00:00 2001 From: qiuguohua Date: Thu, 15 Oct 2026 22:38:08 +0800 Subject: [PATCH] feat(openpaas): configure engine overrides and npm patches for v3.1.0+patch.1 --- .gitattributes | 1 + @types/consts.d.ts | 4 + cc.config.json | 32 +- package-lock.json | 29276 +++++++++------- package.json | 10 +- pal/audio/minigame/player.ts | 252 - pal/audio/native/player.ts | 267 - pal/audio/operation-queue.ts | 62 - pal/audio/type.ts | 30 - pal/audio/web/player-dom.ts | 248 - pal/audio/web/player-web.ts | 370 - pal/audio/web/player.ts | 104 - pal/input/minigame/accelerometer.ts | 76 - pal/input/minigame/gamepad.ts | 7 - pal/input/minigame/index.ts | 71 - pal/input/minigame/input-box.ts | 26 - pal/input/minigame/keyboard.ts | 20 - pal/input/minigame/mouse.ts | 26 - pal/input/minigame/touch.ts | 65 - pal/input/native/accelerometer.ts | 86 - pal/input/native/gamepad.ts | 7 - pal/input/native/index.ts | 71 - pal/input/native/input-box.ts | 26 - pal/input/native/keyboard.ts | 38 - pal/input/native/mouse.ts | 70 - pal/input/native/touch.ts | 68 - pal/input/web/accelerometer.ts | 118 - pal/input/web/gamepad.ts | 7 - pal/input/web/index.ts | 71 - pal/input/web/input-box.ts | 26 - pal/input/web/keyboard.ts | 41 - pal/input/web/mouse.ts | 152 - pal/input/web/touch.ts | 99 - pal/minigame/alipay.ts | 145 - pal/minigame/baidu.ts | 100 - pal/minigame/bytedance.ts | 94 - pal/minigame/non-minigame.ts | 5 - pal/minigame/runtime.ts | 103 - pal/minigame/wechat.ts | 161 - pal/minigame/xiaomi.ts | 121 - pal/system/enum-type/browser-type.ts | 117 - pal/system/enum-type/event.ts | 6 - pal/system/enum-type/index.ts | 7 - pal/system/enum-type/language.ts | 121 - pal/system/enum-type/network-type.ts | 17 - pal/system/enum-type/operating-system.ts | 32 - pal/system/enum-type/orientation.ts | 9 - pal/system/enum-type/platform.ts | 26 - pal/system/minigame/system.ts | 189 - pal/system/native/system.ts | 175 - pal/system/web/system.ts | 334 - pal/utils.ts | 100 - patches/@cocos+engine-pal+1.0.4.patch | 5992 ++++ patches/@cocos+engine-platforms+1.0.6.patch | 17513 +++++++++ ...s+engine-platforms+1.0.6.patch-assets.json | 15 + platforms/minigame/README.md | 7 - platforms/minigame/common/cache-manager.js | 263 - .../minigame/common/engine/AssetManager.js | 430 - platforms/minigame/common/engine/Editbox.js | 172 - platforms/minigame/common/engine/Game.js | 143 - platforms/minigame/common/engine/Screen.js | 5 - .../engine/globalAdapter/ContainerStrategy.js | 20 - .../common/engine/globalAdapter/View.js | 43 - .../common/engine/globalAdapter/index.js | 5 - platforms/minigame/common/engine/index.js | 5 - platforms/minigame/common/engine/misc.js | 1 - .../minigame/common/xmldom/dom-parser.js | 252 - platforms/minigame/common/xmldom/dom.js | 1246 - platforms/minigame/common/xmldom/entities.js | 244 - platforms/minigame/common/xmldom/sax.js | 616 - .../platforms/alipay/wrapper/builtin.js | 2539 -- .../alipay/wrapper/engine/AudioPlayer.js | 3 - .../alipay/wrapper/engine/Console.js | 12 - .../platforms/alipay/wrapper/engine/Label.js | 24 - .../platforms/alipay/wrapper/engine/index.js | 3 - .../platforms/alipay/wrapper/fs-utils.js | 257 - .../platforms/alipay/wrapper/unify.js | 109 - .../platforms/alipay/wrapper/utils.js | 16 - .../platforms/baidu/wrapper/builtin/Audio.js | 228 - .../platforms/baidu/wrapper/builtin/Base64.js | 60 - .../platforms/baidu/wrapper/builtin/Body.js | 10 - .../platforms/baidu/wrapper/builtin/Canvas.js | 48 - .../baidu/wrapper/builtin/DocumentElement.js | 8 - .../baidu/wrapper/builtin/Element.js | 28 - .../platforms/baidu/wrapper/builtin/Event.js | 17 - .../wrapper/builtin/EventIniter/MouseEvent.js | 8 - .../builtin/EventIniter/PointerEvent.js | 183 - .../wrapper/builtin/EventIniter/TouchEvent.js | 36 - .../wrapper/builtin/EventIniter/index.js | 4 - .../baidu/wrapper/builtin/EventTarget.js | 58 - .../baidu/wrapper/builtin/FileReader.js | 7 - .../baidu/wrapper/builtin/HTMLAudioElement.js | 8 - .../wrapper/builtin/HTMLCanvasElement.js | 21 - .../baidu/wrapper/builtin/HTMLElement.js | 33 - .../baidu/wrapper/builtin/HTMLImageElement.js | 17 - .../baidu/wrapper/builtin/HTMLMediaElement.js | 20 - .../baidu/wrapper/builtin/HTMLVideoElement.js | 9 - .../platforms/baidu/wrapper/builtin/Image.js | 18 - .../baidu/wrapper/builtin/ImageBitmap.js | 6 - .../platforms/baidu/wrapper/builtin/Node.js | 34 - .../wrapper/builtin/WebGLRenderingContext.js | 6 - .../baidu/wrapper/builtin/WebSocket.js | 87 - .../baidu/wrapper/builtin/WindowProperties.js | 23 - .../platforms/baidu/wrapper/builtin/Worker.js | 44 - .../baidu/wrapper/builtin/XMLHttpRequest.js | 229 - .../baidu/wrapper/builtin/document.js | 185 - .../platforms/baidu/wrapper/builtin/index.js | 72 - .../baidu/wrapper/builtin/localStorage.js | 32 - .../baidu/wrapper/builtin/location.js | 15 - .../baidu/wrapper/builtin/navigator.js | 37 - .../baidu/wrapper/builtin/performance.js | 23 - .../builtin/style/CanvasComputedStyle.js | 20 - .../builtin/style/CommonComputedStyle.js | 593 - .../builtin/style/ImageComputedStyle.js | 21 - .../baidu/wrapper/builtin/util/index.js | 2 - .../baidu/wrapper/builtin/util/isDevtool.js | 16 - .../baidu/wrapper/builtin/util/mixin.js | 125 - .../platforms/baidu/wrapper/builtin/window.js | 125 - .../platforms/baidu/wrapper/engine/index.js | 1 - .../baidu/wrapper/engine/sprite-frame.js | 25 - .../platforms/baidu/wrapper/fs-utils.js | 267 - .../minigame/platforms/baidu/wrapper/unify.js | 117 - .../minigame/platforms/baidu/wrapper/utils.js | 16 - .../bytedance/wrapper/builtin/Audio.js | 205 - .../bytedance/wrapper/builtin/Canvas.js | 64 - .../bytedance/wrapper/builtin/Element.js | 10 - .../bytedance/wrapper/builtin/Event.js | 14 - .../wrapper/builtin/EventIniter/MouseEvent.js | 5 - .../wrapper/builtin/EventIniter/TouchEvent.js | 32 - .../wrapper/builtin/EventIniter/index.js | 2 - .../bytedance/wrapper/builtin/EventTarget.js | 57 - .../bytedance/wrapper/builtin/FileReader.js | 7 - .../wrapper/builtin/HTMLAudioElement.js | 7 - .../wrapper/builtin/HTMLCanvasElement.js | 20 - .../bytedance/wrapper/builtin/HTMLElement.js | 54 - .../wrapper/builtin/HTMLImageElement.js | 16 - .../wrapper/builtin/HTMLMediaElement.js | 25 - .../wrapper/builtin/HTMLVideoElement.js | 8 - .../bytedance/wrapper/builtin/Image.js | 9 - .../bytedance/wrapper/builtin/ImageBitmap.js | 5 - .../bytedance/wrapper/builtin/Node.js | 34 - .../wrapper/builtin/WebGLRenderingContext.js | 5 - .../bytedance/wrapper/builtin/WebSocket.js | 87 - .../wrapper/builtin/WindowProperties.js | 21 - .../bytedance/wrapper/builtin/Worker.js | 5 - .../wrapper/builtin/XMLHttpRequest.js | 170 - .../bytedance/wrapper/builtin/document.js | 127 - .../bytedance/wrapper/builtin/index.js | 59 - .../bytedance/wrapper/builtin/localStorage.js | 31 - .../bytedance/wrapper/builtin/location.js | 7 - .../bytedance/wrapper/builtin/navigator.js | 38 - .../bytedance/wrapper/builtin/util/index.js | 1 - .../bytedance/wrapper/builtin/window.js | 41 - .../bytedance/wrapper/engine/ImageAsset.js | 7 - .../bytedance/wrapper/engine/Label.js | 44 - .../bytedance/wrapper/engine/index.js | 2 - .../platforms/bytedance/wrapper/fs-utils.js | 272 - .../platforms/bytedance/wrapper/unify.js | 133 - .../platforms/bytedance/wrapper/utils.js | 16 - .../platforms/wechat/wrapper/builtin/Audio.js | 205 - .../wechat/wrapper/builtin/Canvas.js | 64 - .../wechat/wrapper/builtin/Element.js | 10 - .../platforms/wechat/wrapper/builtin/Event.js | 14 - .../wrapper/builtin/EventIniter/MouseEvent.js | 5 - .../wrapper/builtin/EventIniter/TouchEvent.js | 32 - .../wrapper/builtin/EventIniter/index.js | 2 - .../wechat/wrapper/builtin/EventTarget.js | 57 - .../wechat/wrapper/builtin/FileReader.js | 7 - .../wrapper/builtin/HTMLAudioElement.js | 7 - .../wrapper/builtin/HTMLCanvasElement.js | 20 - .../wechat/wrapper/builtin/HTMLElement.js | 54 - .../wrapper/builtin/HTMLImageElement.js | 16 - .../wrapper/builtin/HTMLMediaElement.js | 25 - .../wrapper/builtin/HTMLVideoElement.js | 8 - .../platforms/wechat/wrapper/builtin/Image.js | 10 - .../wechat/wrapper/builtin/ImageBitmap.js | 5 - .../platforms/wechat/wrapper/builtin/Node.js | 34 - .../wrapper/builtin/WebGLRenderingContext.js | 302 - .../wechat/wrapper/builtin/WebSocket.js | 87 - .../wrapper/builtin/WindowProperties.js | 21 - .../wechat/wrapper/builtin/Worker.js | 5 - .../wechat/wrapper/builtin/XMLHttpRequest.js | 172 - .../wechat/wrapper/builtin/document.js | 127 - .../platforms/wechat/wrapper/builtin/index.js | 61 - .../wechat/wrapper/builtin/localStorage.js | 31 - .../wechat/wrapper/builtin/location.js | 7 - .../wechat/wrapper/builtin/navigator.js | 38 - .../wechat/wrapper/builtin/util/index.js | 1 - .../wechat/wrapper/builtin/window.js | 41 - .../wechat/wrapper/engine/VideoPlayer.js | 383 - .../platforms/wechat/wrapper/engine/index.js | 3 - .../wechat/wrapper/engine/pc-adapter.js | 186 - .../wechat/wrapper/engine/sprite-frame.js | 25 - .../platforms/wechat/wrapper/fs-utils.js | 266 - .../platforms/wechat/wrapper/unify.js | 137 - .../platforms/wechat/wrapper/utils.js | 16 - .../platforms/xiaomi/wrapper/builtin.js | 1164 - .../xiaomi/wrapper/engine/download-ttf.js | 12 - .../platforms/xiaomi/wrapper/engine/index.js | 1 - .../platforms/xiaomi/wrapper/fs-utils.js | 267 - .../platforms/xiaomi/wrapper/unify.js | 122 - .../platforms/xiaomi/wrapper/utils.js | 16 - platforms/native/README.md | 6 - platforms/native/builtin/Blob.js | 229 - platforms/native/builtin/base64/base64.min.js | 1 - platforms/native/builtin/index.js | 195 - platforms/native/builtin/jsb-adapter/Audio.js | 8 - .../jsb-adapter/CanvasRenderingContext2D.js | 113 - .../native/builtin/jsb-adapter/DOMRect.js | 14 - .../builtin/jsb-adapter/DeviceMotionEvent.js | 37 - .../native/builtin/jsb-adapter/Element.js | 33 - platforms/native/builtin/jsb-adapter/Event.js | 174 - .../native/builtin/jsb-adapter/EventTarget.js | 289 - .../native/builtin/jsb-adapter/FileReader.js | 30 - .../native/builtin/jsb-adapter/FontFace.js | 28 - .../native/builtin/jsb-adapter/FontFaceSet.js | 62 - .../builtin/jsb-adapter/HTMLAudioElement.js | 87 - .../builtin/jsb-adapter/HTMLCanvasElement.js | 117 - .../native/builtin/jsb-adapter/HTMLElement.js | 34 - .../builtin/jsb-adapter/HTMLImageElement.js | 63 - .../builtin/jsb-adapter/HTMLMediaElement.js | 70 - .../builtin/jsb-adapter/HTMLScriptElement.js | 31 - .../builtin/jsb-adapter/HTMLVideoElement.js | 15 - platforms/native/builtin/jsb-adapter/Image.js | 9 - .../native/builtin/jsb-adapter/ImageData.js | 36 - .../builtin/jsb-adapter/KeyboardEvent.js | 289 - .../native/builtin/jsb-adapter/MediaError.js | 20 - .../native/builtin/jsb-adapter/MouseEvent.js | 54 - platforms/native/builtin/jsb-adapter/Node.js | 49 - .../native/builtin/jsb-adapter/TouchEvent.js | 12 - .../native/builtin/jsb-adapter/document.js | 125 - platforms/native/builtin/jsb-adapter/fetch.js | 510 - platforms/native/builtin/jsb-adapter/index.js | 2 - .../native/builtin/jsb-adapter/location.js | 10 - .../native/builtin/jsb-adapter/navigator.js | 19 - .../native/builtin/jsb-adapter/util/index.js | 3 - .../native/builtin/jsb-adapter/window.js | 131 - platforms/native/builtin/jsb_audioengine.js | 21 - platforms/native/builtin/jsb_input.js | 106 - platforms/native/builtin/jsb_prepare.js | 48 - platforms/native/builtin/promise.min.js | 11 - platforms/native/builtin/xmldom/dom-parser.js | 252 - platforms/native/builtin/xmldom/dom.js | 1240 - platforms/native/builtin/xmldom/entities.js | 244 - platforms/native/builtin/xmldom/sax.js | 616 - platforms/native/engine/index.js | 40 - platforms/native/engine/jsb-assets-manager.js | 60 - platforms/native/engine/jsb-cache-manager.js | 146 - platforms/native/engine/jsb-dragonbones.js | 830 - platforms/native/engine/jsb-editbox.js | 200 - platforms/native/engine/jsb-editor-support.js | 194 - platforms/native/engine/jsb-fs-utils.js | 234 - platforms/native/engine/jsb-game.js | 39 - platforms/native/engine/jsb-gfx.js | 233 - platforms/native/engine/jsb-loader.js | 394 - platforms/native/engine/jsb-physics.js | 637 - platforms/native/engine/jsb-reflection.js | 46 - platforms/native/engine/jsb-safearea.js | 29 - platforms/native/engine/jsb-spine-skeleton.js | 930 - platforms/native/engine/jsb-videoplayer.js | 272 - platforms/native/engine/jsb-webview.js | 185 - platforms/native/modules.json | 197 - platforms/runtime/README.md | 8 - platforms/runtime/common/engine/EditBox.js | 172 - .../runtime/common/engine/asset-manager.js | 420 - .../runtime/common/engine/cache-manager.js | 260 - platforms/runtime/common/engine/canvas.js | 6 - platforms/runtime/common/engine/fs-utils.js | 268 - platforms/runtime/common/engine/game.js | 25 - platforms/runtime/common/engine/index.js | 29 - platforms/runtime/common/web-adapter.js | 8663 ----- platforms/runtime/common/web-adapter.min.js | 1 - .../platforms/cocos-play/engine/index.js | 1 - platforms/runtime/platforms/cocos-play/ral.js | 1297 - .../runtime/platforms/cocos-play/ral.min.js | 1 - .../platforms/cocos-runtime/engine/index.js | 1 - .../runtime/platforms/cocos-runtime/ral.js | 1297 - .../platforms/cocos-runtime/ral.min.js | 1 - .../huawei-quick-game/engine/index.js | 1 - .../platforms/huawei-quick-game/ral.js | 1239 - .../platforms/huawei-quick-game/ral.min.js | 1 - .../platforms/link-sure/engine/index.js | 2 - .../platforms/link-sure/engine/resize.js | 10 - platforms/runtime/platforms/link-sure/ral.js | 1304 - .../runtime/platforms/link-sure/ral.min.js | 1 - .../oppo-mini-game/engine/VideoPlayer.js | 405 - .../platforms/oppo-mini-game/engine/index.js | 2 - .../runtime/platforms/oppo-mini-game/ral.js | 1239 - .../platforms/oppo-mini-game/ral.min.js | 1 - .../runtime/platforms/qtt/engine/index.js | 1 - platforms/runtime/platforms/qtt/ral.js | 1285 - platforms/runtime/platforms/qtt/ral.min.js | 1 - .../platforms/vivo-mini-game/engine/index.js | 1 - .../runtime/platforms/vivo-mini-game/ral.js | 947 - .../platforms/vivo-mini-game/ral.min.js | 1 - scripts/build-engine/package-lock.json | 666 +- .../src/build-declarations/index.ts | 26 + .../build-engine/src/build-time-constants.ts | 4 +- scripts/build-engine/src/ts-paths.ts | 94 +- scripts/build-engine/tests/ts-paths.test.ts | 28 + scripts/spread-adapter.cjs | 103 + scripts/spread-pal.cjs | 48 + tsconfig.json | 5 +- 303 files changed, 41120 insertions(+), 61126 deletions(-) create mode 100644 .gitattributes delete mode 100644 pal/audio/minigame/player.ts delete mode 100644 pal/audio/native/player.ts delete mode 100644 pal/audio/operation-queue.ts delete mode 100644 pal/audio/type.ts delete mode 100644 pal/audio/web/player-dom.ts delete mode 100644 pal/audio/web/player-web.ts delete mode 100644 pal/audio/web/player.ts delete mode 100644 pal/input/minigame/accelerometer.ts delete mode 100644 pal/input/minigame/gamepad.ts delete mode 100644 pal/input/minigame/index.ts delete mode 100644 pal/input/minigame/input-box.ts delete mode 100644 pal/input/minigame/keyboard.ts delete mode 100644 pal/input/minigame/mouse.ts delete mode 100644 pal/input/minigame/touch.ts delete mode 100644 pal/input/native/accelerometer.ts delete mode 100644 pal/input/native/gamepad.ts delete mode 100644 pal/input/native/index.ts delete mode 100644 pal/input/native/input-box.ts delete mode 100644 pal/input/native/keyboard.ts delete mode 100644 pal/input/native/mouse.ts delete mode 100644 pal/input/native/touch.ts delete mode 100644 pal/input/web/accelerometer.ts delete mode 100644 pal/input/web/gamepad.ts delete mode 100644 pal/input/web/index.ts delete mode 100644 pal/input/web/input-box.ts delete mode 100644 pal/input/web/keyboard.ts delete mode 100644 pal/input/web/mouse.ts delete mode 100644 pal/input/web/touch.ts delete mode 100644 pal/minigame/alipay.ts delete mode 100644 pal/minigame/baidu.ts delete mode 100644 pal/minigame/bytedance.ts delete mode 100644 pal/minigame/non-minigame.ts delete mode 100644 pal/minigame/runtime.ts delete mode 100644 pal/minigame/wechat.ts delete mode 100644 pal/minigame/xiaomi.ts delete mode 100644 pal/system/enum-type/browser-type.ts delete mode 100644 pal/system/enum-type/event.ts delete mode 100644 pal/system/enum-type/index.ts delete mode 100644 pal/system/enum-type/language.ts delete mode 100644 pal/system/enum-type/network-type.ts delete mode 100644 pal/system/enum-type/operating-system.ts delete mode 100644 pal/system/enum-type/orientation.ts delete mode 100644 pal/system/enum-type/platform.ts delete mode 100644 pal/system/minigame/system.ts delete mode 100644 pal/system/native/system.ts delete mode 100644 pal/system/web/system.ts delete mode 100644 pal/utils.ts create mode 100644 patches/@cocos+engine-pal+1.0.4.patch create mode 100644 patches/@cocos+engine-platforms+1.0.6.patch create mode 100644 patches/@cocos+engine-platforms+1.0.6.patch-assets.json delete mode 100644 platforms/minigame/README.md delete mode 100644 platforms/minigame/common/cache-manager.js delete mode 100644 platforms/minigame/common/engine/AssetManager.js delete mode 100644 platforms/minigame/common/engine/Editbox.js delete mode 100644 platforms/minigame/common/engine/Game.js delete mode 100644 platforms/minigame/common/engine/Screen.js delete mode 100644 platforms/minigame/common/engine/globalAdapter/ContainerStrategy.js delete mode 100644 platforms/minigame/common/engine/globalAdapter/View.js delete mode 100644 platforms/minigame/common/engine/globalAdapter/index.js delete mode 100644 platforms/minigame/common/engine/index.js delete mode 100644 platforms/minigame/common/engine/misc.js delete mode 100644 platforms/minigame/common/xmldom/dom-parser.js delete mode 100755 platforms/minigame/common/xmldom/dom.js delete mode 100644 platforms/minigame/common/xmldom/entities.js delete mode 100644 platforms/minigame/common/xmldom/sax.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/builtin.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/engine/AudioPlayer.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/engine/Console.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/engine/Label.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/engine/index.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/fs-utils.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/unify.js delete mode 100644 platforms/minigame/platforms/alipay/wrapper/utils.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Audio.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Base64.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Body.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Canvas.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/DocumentElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Element.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/Event.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/EventIniter/MouseEvent.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/EventIniter/PointerEvent.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/EventIniter/TouchEvent.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/EventIniter/index.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/EventTarget.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/FileReader.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/HTMLAudioElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/HTMLCanvasElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/HTMLElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/HTMLImageElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/HTMLMediaElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/HTMLVideoElement.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Image.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/ImageBitmap.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/Node.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/WebGLRenderingContext.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/WebSocket.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/WindowProperties.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/Worker.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/XMLHttpRequest.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/document.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/index.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/localStorage.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/location.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/navigator.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/performance.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/style/CanvasComputedStyle.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/style/CommonComputedStyle.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/style/ImageComputedStyle.js delete mode 100755 platforms/minigame/platforms/baidu/wrapper/builtin/util/index.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/util/isDevtool.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/util/mixin.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/builtin/window.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/engine/index.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/engine/sprite-frame.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/fs-utils.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/unify.js delete mode 100644 platforms/minigame/platforms/baidu/wrapper/utils.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Audio.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Canvas.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Element.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Event.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/EventIniter/MouseEvent.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/EventIniter/TouchEvent.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/EventIniter/index.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/EventTarget.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/FileReader.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/HTMLAudioElement.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/HTMLCanvasElement.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/HTMLElement.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/HTMLImageElement.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/HTMLMediaElement.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/HTMLVideoElement.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Image.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/ImageBitmap.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Node.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/WebGLRenderingContext.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/WebSocket.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/WindowProperties.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/Worker.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/XMLHttpRequest.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/document.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/index.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/localStorage.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/location.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/navigator.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/util/index.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/builtin/window.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/engine/ImageAsset.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/engine/Label.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/engine/index.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/fs-utils.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/unify.js delete mode 100644 platforms/minigame/platforms/bytedance/wrapper/utils.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Audio.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Canvas.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Element.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Event.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/EventIniter/MouseEvent.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/EventIniter/TouchEvent.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/EventIniter/index.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/EventTarget.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/FileReader.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/HTMLAudioElement.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/HTMLCanvasElement.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/HTMLElement.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/HTMLImageElement.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/HTMLMediaElement.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/HTMLVideoElement.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Image.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/ImageBitmap.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Node.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/WebGLRenderingContext.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/WebSocket.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/WindowProperties.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/Worker.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/XMLHttpRequest.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/document.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/index.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/localStorage.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/location.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/navigator.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/util/index.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/builtin/window.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/engine/VideoPlayer.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/engine/index.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/engine/pc-adapter.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/engine/sprite-frame.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/fs-utils.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/unify.js delete mode 100644 platforms/minigame/platforms/wechat/wrapper/utils.js delete mode 100644 platforms/minigame/platforms/xiaomi/wrapper/builtin.js delete mode 100644 platforms/minigame/platforms/xiaomi/wrapper/engine/download-ttf.js delete mode 100644 platforms/minigame/platforms/xiaomi/wrapper/engine/index.js delete mode 100644 platforms/minigame/platforms/xiaomi/wrapper/fs-utils.js delete mode 100644 platforms/minigame/platforms/xiaomi/wrapper/unify.js delete mode 100644 platforms/minigame/platforms/xiaomi/wrapper/utils.js delete mode 100644 platforms/native/README.md delete mode 100644 platforms/native/builtin/Blob.js delete mode 100644 platforms/native/builtin/base64/base64.min.js delete mode 100644 platforms/native/builtin/index.js delete mode 100755 platforms/native/builtin/jsb-adapter/Audio.js delete mode 100644 platforms/native/builtin/jsb-adapter/CanvasRenderingContext2D.js delete mode 100644 platforms/native/builtin/jsb-adapter/DOMRect.js delete mode 100644 platforms/native/builtin/jsb-adapter/DeviceMotionEvent.js delete mode 100755 platforms/native/builtin/jsb-adapter/Element.js delete mode 100644 platforms/native/builtin/jsb-adapter/Event.js delete mode 100644 platforms/native/builtin/jsb-adapter/EventTarget.js delete mode 100755 platforms/native/builtin/jsb-adapter/FileReader.js delete mode 100644 platforms/native/builtin/jsb-adapter/FontFace.js delete mode 100644 platforms/native/builtin/jsb-adapter/FontFaceSet.js delete mode 100755 platforms/native/builtin/jsb-adapter/HTMLAudioElement.js delete mode 100644 platforms/native/builtin/jsb-adapter/HTMLCanvasElement.js delete mode 100755 platforms/native/builtin/jsb-adapter/HTMLElement.js delete mode 100755 platforms/native/builtin/jsb-adapter/HTMLImageElement.js delete mode 100755 platforms/native/builtin/jsb-adapter/HTMLMediaElement.js delete mode 100644 platforms/native/builtin/jsb-adapter/HTMLScriptElement.js delete mode 100644 platforms/native/builtin/jsb-adapter/HTMLVideoElement.js delete mode 100755 platforms/native/builtin/jsb-adapter/Image.js delete mode 100644 platforms/native/builtin/jsb-adapter/ImageData.js delete mode 100644 platforms/native/builtin/jsb-adapter/KeyboardEvent.js delete mode 100644 platforms/native/builtin/jsb-adapter/MediaError.js delete mode 100644 platforms/native/builtin/jsb-adapter/MouseEvent.js delete mode 100755 platforms/native/builtin/jsb-adapter/Node.js delete mode 100755 platforms/native/builtin/jsb-adapter/TouchEvent.js delete mode 100755 platforms/native/builtin/jsb-adapter/document.js delete mode 100644 platforms/native/builtin/jsb-adapter/fetch.js delete mode 100755 platforms/native/builtin/jsb-adapter/index.js delete mode 100755 platforms/native/builtin/jsb-adapter/location.js delete mode 100755 platforms/native/builtin/jsb-adapter/navigator.js delete mode 100755 platforms/native/builtin/jsb-adapter/util/index.js delete mode 100755 platforms/native/builtin/jsb-adapter/window.js delete mode 100644 platforms/native/builtin/jsb_audioengine.js delete mode 100644 platforms/native/builtin/jsb_input.js delete mode 100644 platforms/native/builtin/jsb_prepare.js delete mode 100644 platforms/native/builtin/promise.min.js delete mode 100644 platforms/native/builtin/xmldom/dom-parser.js delete mode 100644 platforms/native/builtin/xmldom/dom.js delete mode 100644 platforms/native/builtin/xmldom/entities.js delete mode 100644 platforms/native/builtin/xmldom/sax.js delete mode 100644 platforms/native/engine/index.js delete mode 100644 platforms/native/engine/jsb-assets-manager.js delete mode 100644 platforms/native/engine/jsb-cache-manager.js delete mode 100644 platforms/native/engine/jsb-dragonbones.js delete mode 100644 platforms/native/engine/jsb-editbox.js delete mode 100644 platforms/native/engine/jsb-editor-support.js delete mode 100644 platforms/native/engine/jsb-fs-utils.js delete mode 100644 platforms/native/engine/jsb-game.js delete mode 100644 platforms/native/engine/jsb-gfx.js delete mode 100644 platforms/native/engine/jsb-loader.js delete mode 100644 platforms/native/engine/jsb-physics.js delete mode 100644 platforms/native/engine/jsb-reflection.js delete mode 100644 platforms/native/engine/jsb-safearea.js delete mode 100644 platforms/native/engine/jsb-spine-skeleton.js delete mode 100644 platforms/native/engine/jsb-videoplayer.js delete mode 100644 platforms/native/engine/jsb-webview.js delete mode 100644 platforms/native/modules.json delete mode 100644 platforms/runtime/README.md delete mode 100644 platforms/runtime/common/engine/EditBox.js delete mode 100644 platforms/runtime/common/engine/asset-manager.js delete mode 100644 platforms/runtime/common/engine/cache-manager.js delete mode 100644 platforms/runtime/common/engine/canvas.js delete mode 100644 platforms/runtime/common/engine/fs-utils.js delete mode 100644 platforms/runtime/common/engine/game.js delete mode 100644 platforms/runtime/common/engine/index.js delete mode 100644 platforms/runtime/common/web-adapter.js delete mode 100644 platforms/runtime/common/web-adapter.min.js delete mode 100644 platforms/runtime/platforms/cocos-play/engine/index.js delete mode 100644 platforms/runtime/platforms/cocos-play/ral.js delete mode 100644 platforms/runtime/platforms/cocos-play/ral.min.js delete mode 100644 platforms/runtime/platforms/cocos-runtime/engine/index.js delete mode 100644 platforms/runtime/platforms/cocos-runtime/ral.js delete mode 100644 platforms/runtime/platforms/cocos-runtime/ral.min.js delete mode 100644 platforms/runtime/platforms/huawei-quick-game/engine/index.js delete mode 100644 platforms/runtime/platforms/huawei-quick-game/ral.js delete mode 100644 platforms/runtime/platforms/huawei-quick-game/ral.min.js delete mode 100644 platforms/runtime/platforms/link-sure/engine/index.js delete mode 100644 platforms/runtime/platforms/link-sure/engine/resize.js delete mode 100644 platforms/runtime/platforms/link-sure/ral.js delete mode 100644 platforms/runtime/platforms/link-sure/ral.min.js delete mode 100644 platforms/runtime/platforms/oppo-mini-game/engine/VideoPlayer.js delete mode 100644 platforms/runtime/platforms/oppo-mini-game/engine/index.js delete mode 100644 platforms/runtime/platforms/oppo-mini-game/ral.js delete mode 100644 platforms/runtime/platforms/oppo-mini-game/ral.min.js delete mode 100644 platforms/runtime/platforms/qtt/engine/index.js delete mode 100644 platforms/runtime/platforms/qtt/ral.js delete mode 100644 platforms/runtime/platforms/qtt/ral.min.js delete mode 100644 platforms/runtime/platforms/vivo-mini-game/engine/index.js delete mode 100644 platforms/runtime/platforms/vivo-mini-game/ral.js delete mode 100644 platforms/runtime/platforms/vivo-mini-game/ral.min.js create mode 100644 scripts/build-engine/tests/ts-paths.test.ts create mode 100644 scripts/spread-adapter.cjs create mode 100644 scripts/spread-pal.cjs diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..9812ceb1ffd --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.patch text eol=lf diff --git a/@types/consts.d.ts b/@types/consts.d.ts index 5a32775bbdb..d948c5569b3 100644 --- a/@types/consts.d.ts +++ b/@types/consts.d.ts @@ -100,6 +100,10 @@ declare module 'internal:constants' { */ export const LINKSURE: boolean; + export const SUD: boolean; + + export const SUDV2: boolean; + /** * Running in mini game. */ diff --git a/cc.config.json b/cc.config.json index 9581c9050cc..17ba2e8f2d1 100644 --- a/cc.config.json +++ b/cc.config.json @@ -52,40 +52,40 @@ "test": "context.buildTimeConstants && context.buildTimeConstants.HTML5", "isVirtualModule": true, "overrides": { - "pal/minigame": "pal/minigame/non-minigame.ts", - "pal/audio": "pal/audio/web/player.ts", - "pal/system": "pal/system/web/system.ts", - "pal/input": "pal/input/web/index.ts" + "pal/minigame": "pal/minigame/non-minigame.js", + "pal/audio": "pal/audio/web/player.js", + "pal/system": "pal/system/web/system.js", + "pal/input": "pal/input/web/index.js" } }, { "test": "context.buildTimeConstants && context.buildTimeConstants.NATIVE", "isVirtualModule": true, "overrides": { - "pal/minigame": "pal/minigame/non-minigame.ts", - "pal/audio": "pal/audio/native/player.ts", - "pal/system": "pal/system/native/system.ts", - "pal/input": "pal/input/native/index.ts" + "pal/minigame": "pal/minigame/non-minigame.js", + "pal/audio": "pal/audio/native/player.js", + "pal/system": "pal/system/native/system.js", + "pal/input": "pal/input/native/index.js" } }, { "test": "context.buildTimeConstants && context.buildTimeConstants.MINIGAME", "isVirtualModule": true, "overrides": { - "pal/minigame": "pal/minigame/{{context.platform.toLowerCase()}}.ts", - "pal/audio": "pal/audio/minigame/player.ts", - "pal/system": "pal/system/minigame/system.ts", - "pal/input": "pal/input/minigame/index.ts" + "pal/minigame": "pal/minigame/{{context.platform.toLowerCase()}}.js", + "pal/audio": "pal/audio/minigame/player.js", + "pal/system": "pal/system/minigame/system.js", + "pal/input": "pal/input/minigame/index.js" } }, { "test": "context.buildTimeConstants && context.buildTimeConstants.RUNTIME_BASED", "isVirtualModule": true, "overrides": { - "pal/minigame": "pal/minigame/runtime.ts", - "pal/audio": "pal/audio/minigame/player.ts", - "pal/system": "pal/system/minigame/system.ts", - "pal/input": "pal/input/minigame/index.ts" + "pal/minigame": "pal/minigame/runtime.js", + "pal/audio": "pal/audio/minigame/player.js", + "pal/system": "pal/system/minigame/system.js", + "pal/input": "pal/input/minigame/index.js" } } ] diff --git a/package-lock.json b/package-lock.json index c18ce10b6d9..43f9bc33cb9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,35 +1,81 @@ { "name": "cocos-creator", "version": "3.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@babel/code-frame": { + "packages": { + "": { + "name": "cocos-creator", + "version": "3.0.0", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@cocos/ammo": "1.1.1", + "@cocos/box2d": "1.0.1", + "@cocos/cannon": "1.2.3", + "@cocos/dragonbones-js": "^1.0.1", + "@cocos/engine-pal": "1.0.4", + "@cocos/engine-platforms": "1.0.6", + "@cocos/physx": "1.0.2" + }, + "devDependencies": { + "@babel/core": "^7.13.10", + "@babel/preset-env": "7.8.7", + "@cocos/babel-preset-cc": "2.2.0", + "@cocos/build-engine": "4.2.7", + "@cocos/typedoc-plugin-internal-external": "^1.0.1", + "@cocos/typedoc-plugin-localization": "^1.0.0", + "@types/fs-extra": "^5.0.4", + "@types/jest": "^24.9.1", + "@types/yargs": "^12.0.14", + "@typescript-eslint/eslint-plugin": "^4.6.1", + "@typescript-eslint/parser": "^4.6.1", + "commander": "^2.20.3", + "dat.gui": "^0.7.5", + "eslint": "^7.2.0", + "eslint-config-airbnb-base": "^14.2.1", + "eslint-plugin-import": "^2.22.1", + "fs-extra": "^7.0.1", + "gulp": "^4.0.2", + "http-server": "^0.12.3", + "jest": "^26.6.3", + "patch-package": "8.0.0", + "spectorjs": "^0.9.15", + "stats.js": "^0.17.0", + "ts-jest": "^26.5.4", + "typedoc": "^0.17.7", + "typedoc-plugin-external-module-name": "^4.0.3", + "typescript": "^4.2.3", + "vconsole": "^3.3.0", + "yargs": "^12.0.5" + } + }, + "node_modules/@babel/code-frame": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz?cache=0&sync_timestamp=1578953126105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.8.3.tgz", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.8.3.tgz", "integrity": "sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4=", "dev": true, - "requires": { + "dependencies": { "@babel/highlight": "^7.8.3" } }, - "@babel/compat-data": { + "node_modules/@babel/compat-data": { "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.9.0.tgz?cache=0&sync_timestamp=1584718854366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.9.0.tgz", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.9.0.tgz", "integrity": "sha1-BIFVVvyQsMF0q9LAwbuWb6oDamw=", "dev": true, - "requires": { + "dependencies": { "browserslist": "^4.9.1", "invariant": "^2.2.4", "semver": "^5.5.0" } }, - "@babel/core": { + "node_modules/@babel/core": { "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.13.10.tgz", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.13.10.tgz", "integrity": "sha1-B94FC72Bk/zYo8J5GMCJBhOpRVk=", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.12.13", "@babel/generator": "^7.13.9", "@babel/helper-compilation-targets": "^7.13.10", @@ -47,11366 +93,14486 @@ "semver": "^6.3.0", "source-map": "^0.5.0" }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz", - "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/compat-data": { - "version": "7.13.11", - "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.13.11.tgz?cache=0&sync_timestamp=1615820149302&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.13.11.tgz", - "integrity": "sha1-nI/lI8IGl5yagbHhL+UMElTxqjU=", - "dev": true - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.13.9.tgz", - "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.10.tgz", - "integrity": "sha1-ExChZ4y4QnwHp1N1DaT4zkQr3Qw=", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.12.13.tgz", - "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.0.tgz?cache=0&sync_timestamp=1614034556365&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.13.0.tgz", - "integrity": "sha1-aqS7Z44PjCL1jNt5RR0wSURhsJE=", - "dev": true, - "requires": { - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.12.13.tgz?cache=0&sync_timestamp=1612314636371&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.12.13.tgz", - "integrity": "sha1-7GfkQE9BdQRj5FXMMgP2oy6T/LA=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-module-transforms": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.13.0.tgz", - "integrity": "sha1-QutL2O6mi6tGdRISw1e/7YtA9vE=", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-replace-supers": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.0.tgz?cache=0&sync_timestamp=1614034503111&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.0.tgz", - "integrity": "sha1-YDS3tRlDCUy0FieEjLIZywK+HSQ=", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.12.13.tgz", - "integrity": "sha1-hHi8xcrPaqFnKyUcHS3eXM1hpsQ=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz?cache=0&sync_timestamp=1612314636310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.12.13.tgz", - "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076995361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", - "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", - "dev": true - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz", - "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.11", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.13.11.tgz", - "integrity": "sha1-+T6/yZ0hwXcq+7qhU/R+fOL1C4g=", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz?cache=0&sync_timestamp=1612314730561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.12.13.tgz", - "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.13.0.tgz", - "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.13.0.tgz?cache=0&sync_timestamp=1614034208093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.13.0.tgz", - "integrity": "sha1-dEJNKBbwFxtBAPCrNOmjdO/ff4A=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.16.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.3.tgz", - "integrity": "sha1-NAqkaUDX24eHSFZ8XeokpI3fNxc=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", - "escalade": "^3.1.1", - "node-releases": "^1.1.70" - } - }, - "caniuse-lite": { - "version": "1.0.30001202", - "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001202.tgz", - "integrity": "sha1-TLO9XoqAjozYnk5mxUmYm8gTcgE=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.689", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.689.tgz?cache=0&sync_timestamp=1615863975723&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.689.tgz", - "integrity": "sha1-D0CCRnwQmES3mnsyomScmramyCI=", - "dev": true - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - }, - "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.71.tgz", - "integrity": "sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } + "@babel/highlight": "^7.12.13" } }, - "@babel/generator": { - "version": "7.9.4", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.9.4.tgz?cache=0&sync_timestamp=1585038762678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.9.4.tgz", - "integrity": "sha1-EkQekMOzxBWc3s8xIHW/Gozi284=", + "node_modules/@babel/core/node_modules/@babel/compat-data": { + "version": "7.13.11", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.13.11.tgz", + "integrity": "sha1-nI/lI8IGl5yagbHhL+UMElTxqjU=", + "dev": true + }, + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", "dev": true, - "requires": { - "@babel/types": "^7.9.0", + "dependencies": { + "@babel/types": "^7.13.0", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-compilation-targets": { + "version": "7.13.10", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", + "integrity": "sha1-ExChZ4y4QnwHp1N1DaT4zkQr3Qw=", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.0.tgz", - "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha1-YLwLxlf2Ogkk/5pLSgskoTz03u4=", + "node_modules/@babel/core/node_modules/@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha1-yECXpCegYaxWocMOv1S3si0kFQM=", + "node_modules/@babel/core/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", + "integrity": "sha1-aqS7Z44PjCL1jNt5RR0wSURhsJE=", "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/types": "^7.13.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.8.7", - "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.8.7.tgz", - "integrity": "sha1-2sHuoVnA5L1G4wm1obBKZrU8Hd4=", + "node_modules/@babel/core/node_modules/@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha1-7GfkQE9BdQRj5FXMMgP2oy6T/LA=", "dev": true, - "requires": { - "@babel/compat-data": "^7.8.6", - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "node_modules/@babel/core/node_modules/@babel/helper-module-transforms": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", + "integrity": "sha1-QutL2O6mi6tGdRISw1e/7YtA9vE=", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", - "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", - "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", - "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.1", - "@babel/types": "^7.12.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", - "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - } + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "lodash": "^4.17.19" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha1-XYQYC1iPVgt4ZO+u6okkPlgxIIc=", + "node_modules/@babel/core/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.8.3.tgz", - "integrity": "sha1-oGVcrVRRw3YLcm66h18c2PqgLBU=", + "node_modules/@babel/core/node_modules/@babel/helper-replace-supers": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", + "integrity": "sha1-YDS3tRlDCUy0FieEjLIZywK+HSQ=", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha1-pyjcW06J4w/C38fQT6KKkwZT+YI=", + "node_modules/@babel/core/node_modules/@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha1-hHi8xcrPaqFnKyUcHS3eXM1hpsQ=", "dev": true, - "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.8.3.tgz", - "integrity": "sha1-7utmWgGx8RBo6fuGrVahyxqCTMo=", + "node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz?cache=0&sync_timestamp=1578951938166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.8.3.tgz", - "integrity": "sha1-uJS5R70AQ4HOY+odufCFR+kgq9U=", + "node_modules/@babel/core/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", + "dev": true + }, + "node_modules/@babel/core/node_modules/@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha1-Hb6ba1XXjJtBg/yM3G4wzrg7cTQ=", + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.13.11", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.13.11.tgz", + "integrity": "sha1-+T6/yZ0hwXcq+7qhU/R+fOL1C4g=", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.8.3.tgz?cache=0&sync_timestamp=1578951939517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha1-ZZtxBJjqbB2ZB+DHPyBu7n2twkw=", + "node_modules/@babel/core/node_modules/@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.8.3.tgz", - "integrity": "sha1-f+OVibOcAWMxtrjD9EHo8LFBlJg=", + "node_modules/@babel/core/node_modules/@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" } }, - "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.9.0.tgz?cache=0&sync_timestamp=1584718808099&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.9.0.tgz", - "integrity": "sha1-Q7NN/hWWGRhwfSRzJ0MTiOn+luU=", + "node_modules/@babel/core/node_modules/@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha1-dEJNKBbwFxtBAPCrNOmjdO/ff4A=", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" - }, "dependencies": { - "@babel/generator": { - "version": "7.9.3", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.9.3.tgz?cache=0&sync_timestamp=1584875115725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.9.3.tgz", - "integrity": "sha1-fIspVsb2izq3Mr0WMFkW+7pSHZQ=", - "dev": true, - "requires": { - "@babel/types": "^7.9.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.8.6.tgz?cache=0&sync_timestamp=1582806192406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.8.6.tgz", - "integrity": "sha1-Wtp0T9WtcyA78dZ0WaJ9y6Z+/8g=", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/parser": { - "version": "7.9.3", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.9.3.tgz", - "integrity": "sha1-BDpfwq2Lfqn6zdxOgCofDyXaclU=", - "dev": true - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.6.tgz", - "integrity": "sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.9.0.tgz?cache=0&sync_timestamp=1584720333049&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.9.0.tgz", - "integrity": "sha1-04gsKDDlE/T+TOyf526hzHh0eJI=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.0.tgz", - "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.8.3.tgz?cache=0&sync_timestamp=1578951937431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha1-ftBxgT0Jx1KY708giVYAa2ER7Lk=", + "node_modules/@babel/core/node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha1-NAqkaUDX24eHSFZ8XeokpI3fNxc=", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" } }, - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha1-nqKTvhm6vA9S/4yoizTDYRsghnA=", + "node_modules/@babel/core/node_modules/caniuse-lite": { + "version": "1.0.30001202", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", + "integrity": "sha1-TLO9XoqAjozYnk5mxUmYm8gTcgE=", "dev": true }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.8.3.tgz?cache=0&sync_timestamp=1578951938163&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.8.3.tgz", - "integrity": "sha1-E5dyYH1RuT8j7/5yEFsxnSpMaWU=", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } + "node_modules/@babel/core/node_modules/electron-to-chromium": { + "version": "1.3.689", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.3.689.tgz", + "integrity": "sha1-D0CCRnwQmES3mnsyomScmramyCI=", + "dev": true }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha1-JzxgDYub9QBhQsHjWIfVVcEu3YY=", + "node_modules/@babel/core/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true + }, + "node_modules/@babel/core/node_modules/node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs=", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.8.6.tgz?cache=0&sync_timestamp=1582806192406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.8.6.tgz", - "integrity": "sha1-Wtp0T9WtcyA78dZ0WaJ9y6Z+/8g=", + "node_modules/@babel/generator": { + "version": "7.9.4", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.9.4.tgz", + "integrity": "sha1-EkQekMOzxBWc3s8xIHW/Gozi284=", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" - }, "dependencies": { - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.0.tgz", - "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.8.3.tgz", - "integrity": "sha1-f4EJkotNq0ZUB2mGr1dSMd62Oa4=", + "node_modules/@babel/generator/node_modules/@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "@babel/helper-split-export-declaration": { + "node_modules/@babel/helper-annotate-as-pure": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha1-ManzAHD5E2inGCzwX4MXgQZfx6k=", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha1-YLwLxlf2Ogkk/5pLSgskoTz03u4=", "dev": true, - "requires": { + "dependencies": { "@babel/types": "^7.8.3" } }, - "@babel/helper-validator-identifier": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.9.0.tgz", - "integrity": "sha1-rVNWKn/Cmzuakbv30QOX/RRjRu0=", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-option/download/@babel/helper-validator-option-7.12.17.tgz?cache=0&sync_timestamp=1613661224272&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.12.17.tgz", - "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=", - "dev": true - }, - "@babel/helper-wrap-function": { + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.8.3.tgz", - "integrity": "sha1-nb2yu1XvFKqgH+jJm2Kb1TUthhA=", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha1-yECXpCegYaxWocMOv1S3si0kFQM=", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.8.3", "@babel/types": "^7.8.3" } }, - "@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.13.10.tgz", - "integrity": "sha1-/Y4rp0iFM83qxFzBWOnryl48ffg=", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.8.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", + "integrity": "sha1-2sHuoVnA5L1G4wm1obBKZrU8Hd4=", "dev": true, - "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz", - "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.13.9.tgz", - "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.12.13.tgz", - "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz?cache=0&sync_timestamp=1612314636310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.12.13.tgz", - "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076995361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", - "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", - "dev": true - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz", - "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.11", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.13.11.tgz", - "integrity": "sha1-+T6/yZ0hwXcq+7qhU/R+fOL1C4g=", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz?cache=0&sync_timestamp=1612314730561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.12.13.tgz", - "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.13.0.tgz", - "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.13.0.tgz?cache=0&sync_timestamp=1614034208093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.13.0.tgz", - "integrity": "sha1-dEJNKBbwFxtBAPCrNOmjdO/ff4A=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - } - } - }, - "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.8.3.tgz?cache=0&sync_timestamp=1578951935730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.8.3.tgz", - "integrity": "sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c=", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/compat-data": "^7.8.6", + "browserslist": "^4.9.1", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/parser": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.8.3.tgz", - "integrity": "sha1-eQh0CR0gAcm+bsQmwu7Ue8dnkIE=", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha1-utMpxnCzgliXIbJ1QMfSiGAcbm8=", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - } + "@babel/highlight": "^7.10.4" } }, - "@babel/plugin-proposal-decorators": { + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator": { "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", + "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - } + "@babel/types": "^7.12.1", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha1-OMT+VVdEgm6X4q6TCw+0zAfmYFQ=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha1-2lIWsjipi1ih4F1oUhBLEPmnDWs=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "dependencies": { + "@babel/types": "^7.10.4" } }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.11.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.11.0.tgz?cache=0&sync_timestamp=1596145269520&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.11.0.tgz", - "integrity": "sha1-n4DkgsAwg8hxJd7hACa1hSfqIMg=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", + "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521082372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz", - "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", - "dev": true - } + "@babel/types": "^7.12.1" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-5FciU/3u1lzd7s/as/kor+sv1dI=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "dependencies": { + "@babel/types": "^7.10.4" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.9.0.tgz?cache=0&sync_timestamp=1584718852115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.9.0.tgz", - "integrity": "sha1-oomTaZ/BPfFlmVNiaTliumsGHW8=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-replace-supers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz", + "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-ne6WqxZQ7tiGRq6XNMoWesSpxck=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "dependencies": { + "@babel/types": "^7.11.0" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha1-7jqV6QzcBP6M2S7DJ5+gF9aKDR0=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/parser": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz", + "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-bigint/download/@babel/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha1-TJpvZp9dDN8bkKFnHpoUa+UwDOo=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314770269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz", + "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", - "dev": true - } + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.1", + "@babel/types": "^7.12.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" } }, - "@babel/plugin-syntax-decorators": { + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/types": { "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", - "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz", + "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - } + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } + "node_modules/@babel/helper-create-class-features-plugin/node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-import-meta/download/@babel/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha1-7mATSMNw+jNNIge+FYd3SWUh/VE=", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.8.8", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", + "integrity": "sha1-XYQYC1iPVgt4ZO+u6okkPlgxIIc=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", - "dev": true - } + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.7.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/plugin-syntax-json-strings": { + "node_modules/@babel/helper-define-map": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha1-oGVcrVRRw3YLcm66h18c2PqgLBU=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521082372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz", - "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", - "dev": true - } + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { + "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha1-pyjcW06J4w/C38fQT6KKkwZT+YI=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", + "node_modules/@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha1-7utmWgGx8RBo6fuGrVahyxqCTMo=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", - "dev": true - } + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/helper-get-function-arity": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha1-uJS5R70AQ4HOY+odufCFR+kgq9U=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/types": "^7.8.3" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "node_modules/@babel/helper-hoist-variables": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha1-Hb6ba1XXjJtBg/yM3G4wzrg7cTQ=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/types": "^7.8.3" } }, - "@babel/plugin-syntax-optional-chaining": { + "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha1-ZZtxBJjqbB2ZB+DHPyBu7n2twkw=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "@babel/types": "^7.8.3" } }, - "@babel/plugin-syntax-top-level-await": { + "node_modules/@babel/helper-module-imports": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.8.3.tgz?cache=0&sync_timestamp=1578951935611&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha1-Os3s5pXmsTqvV/wpHRqACVDHE5E=", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha1-f+OVibOcAWMxtrjD9EHo8LFBlJg=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/types": "^7.8.3" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", + "integrity": "sha1-Q7NN/hWWGRhwfSRzJ0MTiOn+luU=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - } + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.9.0", + "lodash": "^4.17.13" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.8.3.tgz?cache=0&sync_timestamp=1578951935848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha1-gndsLtDNnhpJlW2uuJYCTJRzuLY=", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/generator": { + "version": "7.9.3", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.9.3.tgz", + "integrity": "sha1-fIspVsb2izq3Mr0WMFkW+7pSHZQ=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/types": "^7.9.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha1-Qwj60NlAnXHq+5sabuNfnWS2QIY=", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha1-Wtp0T9WtcyA78dZ0WaJ9y6Z+/8g=", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.8.3.tgz?cache=0&sync_timestamp=1578951934748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha1-Q37sW3mbWFIHIISzrl72boNJ6KM=", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/parser": { + "version": "7.9.3", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.9.3.tgz", + "integrity": "sha1-BDpfwq2Lfqn6zdxOgCofDyXaclU=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.8.3.tgz?cache=0&sync_timestamp=1578951934401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha1-l9Ndq2aFekN8FmNYuR0JBQyGjzo=", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" } }, - "@babel/plugin-transform-classes": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.8.6.tgz", - "integrity": "sha1-d1NER6R3y+WZWuSu4+OfvICQxG0=", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha1-04gsKDDlE/T+TOyf526hzHh0eJI=", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", "@babel/helper-function-name": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", "@babel/helper-split-export-declaration": "^7.8.3", - "globals": "^11.1.0" + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.8.3.tgz?cache=0&sync_timestamp=1578951933993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha1-ltDSi3985OtbEguy4OlDNDyG+Bs=", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.8.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.8.8.tgz", - "integrity": "sha1-+tsryOkMyvVljeb41NIv9icqL0s=", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha1-ftBxgT0Jx1KY708giVYAa2ER7Lk=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-dotall-regex": { + "node_modules/@babel/helper-plugin-utils": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha1-w8bsXuYSXGmTxcvKINyGIanqem4=", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha1-nqKTvhm6vA9S/4yoizTDYRsghnA=", + "dev": true + }, + "node_modules/@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha1-E5dyYH1RuT8j7/5yEFsxnSpMaWU=", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "lodash": "^4.17.13" } }, - "@babel/plugin-transform-duplicate-keys": { + "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.8.3.tgz?cache=0&sync_timestamp=1578951935457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha1-jRLfMJqlN/JyiZxWXqF2jihuIfE=", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha1-JzxgDYub9QBhQsHjWIfVVcEu3YY=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha1-WBptf1aXDga/UVYM1k9elHtw17c=", + "node_modules/@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha1-Wtp0T9WtcyA78dZ0WaJ9y6Z+/8g=", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" } }, - "@babel/plugin-transform-for-of": { + "node_modules/@babel/helper-replace-supers/node_modules/@babel/types": { "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.9.0.tgz?cache=0&sync_timestamp=1584718807470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.9.0.tgz", - "integrity": "sha1-DyYOJ9PinNG7MSjaXnbHYapsEI4=", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "@babel/plugin-transform-function-name": { + "node_modules/@babel/helper-simple-access": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha1-J5NzyycyKqrWfCaD53bfxHGW7Ys=", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha1-f4EJkotNq0ZUB2mGr1dSMd62Oa4=", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-literals": { + "node_modules/@babel/helper-split-export-declaration": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.8.3.tgz?cache=0&sync_timestamp=1578951935103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.8.3.tgz", - "integrity": "sha1-rvI5gj2RmU7Hto5VGTUl1229XcE=", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha1-ManzAHD5E2inGCzwX4MXgQZfx6k=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-member-expression-literals": { + "node_modules/@babel/helper-validator-identifier": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", + "integrity": "sha1-rVNWKn/Cmzuakbv30QOX/RRjRu0=", + "dev": true + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=", + "dev": true + }, + "node_modules/@babel/helper-wrap-function": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.8.3.tgz?cache=0&sync_timestamp=1578951935289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha1-lj/tS2IKx8v2Apx1VCQCn6OkBBA=", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha1-nb2yu1XvFKqgH+jJm2Kb1TUthhA=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.9.0.tgz?cache=0&sync_timestamp=1584718810466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.9.0.tgz", - "integrity": "sha1-GXVe5yGRLPW7BMB9UCgK80hO/vQ=", + "node_modules/@babel/helpers": { + "version": "7.13.10", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.13.10.tgz", + "integrity": "sha1-/Y4rp0iFM83qxFzBWOnryl48ffg=", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "dependencies": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.9.0.tgz", - "integrity": "sha1-4+cvTLybSiYOML4OpZvfWjl0iUA=", + "node_modules/@babel/helpers/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "dependencies": { + "@babel/highlight": "^7.12.13" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.9.0.tgz?cache=0&sync_timestamp=1584718810247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.9.0.tgz", - "integrity": "sha1-6f1Gopb8keAJtk4H3aqG1vDt65A=", + "node_modules/@babel/helpers/node_modules/@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha1-Onqpb577jivkLTjYDizrTGTY3jk=", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" + "dependencies": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha1-6Qmsridv7CgPm4IaXzjh8ItIBpc=", + "node_modules/@babel/helpers/node_modules/@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha1-k61lbbPDwiMlWf17LD29y+DrN3o=", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha1-oqcr/6ICrA4tBQav0JOcXsvEjGw=", + "node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha1-YMwq5m2FyVq1QOs0urtkNNTHDEM=", + "node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/types": "^7.12.13" } }, - "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.8.3.tgz?cache=0&sync_timestamp=1578960811276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.8.3.tgz", - "integrity": "sha1-67ah56hv+paFi9asAQLWWUQmFyU=", + "node_modules/@babel/helpers/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", + "dev": true + }, + "node_modules/@babel/helpers/node_modules/@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.9.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.9.3.tgz", - "integrity": "sha1-MCjQzCDdxzMWbG6chTRVnO4J9Uo=", + "node_modules/@babel/helpers/node_modules/@babel/parser": { + "version": "7.13.11", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.13.11.tgz", + "integrity": "sha1-+T6/yZ0hwXcq+7qhU/R+fOL1C4g=", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha1-MxlDANhTnB7SjGKtUIe6OAe5gmM=", + "node_modules/@babel/helpers/node_modules/@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha1-Xkag3KK+4a2ChesFJ+arycN2cvg=", + "node_modules/@babel/helpers/node_modules/@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha1-bZV1JHX4bufe0GU23jCaZfyJZsw=", "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.8.3.tgz?cache=0&sync_timestamp=1578951936369&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha1-mgY1rE5mXSmxYoN908xQdF398fU=", + "node_modules/@babel/helpers/node_modules/@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha1-dEJNKBbwFxtBAPCrNOmjdO/ff4A=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" } }, - "@babel/plugin-transform-shorthand-properties": { + "node_modules/@babel/helpers/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true + }, + "node_modules/@babel/highlight": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.8.3.tgz?cache=0&sync_timestamp=1578951936720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha1-KFRSFuAjqDLU06EYXtSSvP6sCMg=", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, - "@babel/plugin-transform-spread": { + "node_modules/@babel/parser": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha1-nI/+gXD9+4ixFOy5ILgvtulf5eg=", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha1-eQh0CR0gAcm+bsQmwu7Ue8dnkIE=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-sticky-regex": { + "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha1-vnoSkPgdrnZ0dUUhmeH3bWF1sQA=", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha1-utMpxnCzgliXIbJ1QMfSiGAcbm8=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", "dev": true, - "requires": { + "dependencies": { "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha1-e/pHMrRV6mpDEwrcC6dn7A5AKoA=", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha1-7eQGIxXOCq+KZXqSCFjxovNfxBI=", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } + "node_modules/@babel/plugin-proposal-class-properties/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true }, - "@babel/plugin-transform-typescript": { + "node_modules/@babel/plugin-proposal-decorators": { "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", + "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-create-class-features-plugin": "^7.12.1", "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" + "@babel/plugin-syntax-decorators": "^7.12.1" }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/plugin-proposal-decorators/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha1-DO8247pz5cVyc+/7GC9GuRoeyq0=", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha1-OMT+VVdEgm6X4q6TCw+0zAfmYFQ=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/preset-env": { - "version": "7.8.7", - "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.8.7.tgz?cache=0&sync_timestamp=1593522855920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.8.7.tgz", - "integrity": "sha1-H8fYnH910tcMK2do3mwuBJs8uds=", + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha1-2lIWsjipi1ih4F1oUhBLEPmnDWs=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", "dev": true, - "requires": { - "@babel/compat-data": "^7.8.6", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.8.3", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.8.3", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.8.6", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.8.6", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.8.3", - "@babel/plugin-transform-modules-commonjs": "^7.8.3", - "@babel/plugin-transform-modules-systemjs": "^7.8.3", - "@babel/plugin-transform-modules-umd": "^7.8.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/types": "^7.8.7", - "browserslist": "^4.8.5", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" + "@babel/plugin-syntax-json-strings": "^7.8.0" }, - "dependencies": { - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.0.tgz", - "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.2.tgz", - "integrity": "sha1-2Q3wWDo6JS8JqqYZZlNnuuUY2wY=", + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.11.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz", + "integrity": "sha1-n4DkgsAwg8hxJd7hACa1hSfqIMg=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { + "node_modules/@babel/plugin-proposal-logical-assignment-operators/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", + "dev": true + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.3.tgz", - "integrity": "sha1-4CrQT+JipleAkyf1eAVsoV/U0bg=", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha1-5FciU/3u1lzd7s/as/kor+sv1dI=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/types": "^7.8.3" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/traverse": { + "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.9.0.tgz?cache=0&sync_timestamp=1584720333049&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.9.0.tgz", - "integrity": "sha1-04gsKDDlE/T+TOyf526hzHh0eJI=", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz", + "integrity": "sha1-oomTaZ/BPfFlmVNiaTliumsGHW8=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, "dependencies": { - "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.9.4.tgz?cache=0&sync_timestamp=1585038714563&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.9.4.tgz", - "integrity": "sha1-aKNeawMZu8AURlvkOCgwARPy8ug=", - "dev": true - }, - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.0.tgz", - "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/types": { + "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.8.3.tgz?cache=0&sync_timestamp=1578951935746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.8.3.tgz", - "integrity": "sha1-Wjg9/6VBbbG3Pe3/0xH/0HiPsxw=", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-ne6WqxZQ7tiGRq6XNMoWesSpxck=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/@bcoe/v8-coverage/download/@bcoe/v8-coverage-0.2.3.tgz", - "integrity": "sha1-daLotRy3WKdVPWgEpZMteqznXDk=", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz", - "integrity": "sha1-+GSuhQBND8q29QvpFBxNo2jRZWo=", + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", + "integrity": "sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@cocos/ammo": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/@cocos/ammo/download/@cocos/ammo-1.1.1.tgz", - "integrity": "sha1-lqgbwp4jMWcAhU0vbXJ+rubf/E8=" - }, - "@cocos/babel-plugin-dynamic-import-vars": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/@cocos/babel-plugin-dynamic-import-vars/download/@cocos/babel-plugin-dynamic-import-vars-1.0.2.tgz", - "integrity": "sha1-chaboK/r3jjHTS02cU95rWZBT5g=", + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.8.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", + "integrity": "sha1-7jqV6QzcBP6M2S7DJ5+gF9aKDR0=", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", "dev": true, - "requires": { - "globby": "^11.0.1" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.8.8", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@cocos/babel-preset-cc": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@cocos/babel-preset-cc/-/babel-preset-cc-2.2.0.tgz", - "integrity": "sha512-OdrQW+7d3F0tAXbOC5hYJxmRQA1FqRrSuAUHVroUdBTnYWpBEXH3ROH0wxf7WBx6RfNY0RYNzdvA7v9jzwqNNA==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-proposal-logical-assignment-operators": "^7.10.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-transform-typescript": "^7.9.4", - "babel-plugin-const-enum": "^1.0.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@cocos/box2d": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/@cocos/box2d/download/@cocos/box2d-1.0.1.tgz", - "integrity": "sha1-Fc2lzPxRCCt91tNoo+S55IXS5To=", - "requires": { - "@types/systemjs": "^0.20.6" + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha1-TJpvZp9dDN8bkKFnHpoUa+UwDOo=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@cocos/build-engine": { - "version": "4.2.7", - "resolved": "https://registry.nlark.com/@cocos/build-engine/download/@cocos/build-engine-4.2.7.tgz", - "integrity": "sha1-rSp/20O9hL94+kOv//yfpQ39G3Q=", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", "dev": true, - "requires": { - "@babel/core": "^7.13.10", - "@babel/plugin-transform-classes": "^7.8.6", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/preset-env": "^7.8.7", - "@cocos/babel-plugin-dynamic-import-vars": "^1.0.2", - "@cocos/babel-preset-cc": "2.2.0", - "@rollup/plugin-babel": "^5.2.2", - "@rollup/plugin-commonjs": "^11.0.2", - "@rollup/plugin-json": "^4.0.2", - "@rollup/plugin-node-resolve": "^7.1.1", - "@rollup/plugin-virtual": "^2.0.1", - "dedent": "^0.7.0", - "fs-extra": "^8.1.0", - "json5": "^2.1.3", - "resolve": "^1.17.0", - "rollup": "2.26.6", - "rollup-plugin-progress": "^1.1.1", - "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-visualizer": "^4.2.0", - "semver": "^7.3.2", - "tfig": "^3.1.1", - "typescript": "^4.2.3", - "yargs": "^15.1.0" - }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz", - "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682725186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1611075413359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "is-core-module": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.3.0.tgz?cache=0&sync_timestamp=1619297239231&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.3.0.tgz", - "integrity": "sha1-00FlLjQIvKacRnG3mglUo9NJ+Ic=", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz", - "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz", - "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.nlark.com/yargs/download/yargs-15.4.1.tgz", - "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - } + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@cocos/cannon": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/@cocos/cannon/download/@cocos/cannon-1.2.3.tgz", - "integrity": "sha1-78BfuDuh3xRLJtvC8WPlPwKYi6I=" - }, - "@cocos/dragonbones-js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@cocos/dragonbones-js/-/dragonbones-js-1.0.1.tgz", - "integrity": "sha512-1bWAW8td2WTGicyCqxtpIjc1YuK5EzMWfMEWaJlskPAQwLS0JfxEGka71sZ1BzudiWiKS7hPMg+FvXr5NRnVwQ==" + "node_modules/@babel/plugin-syntax-class-properties/node_modules/@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", + "dev": true }, - "@cocos/physx": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/@cocos/physx/download/@cocos/physx-1.0.2.tgz?cache=0&sync_timestamp=1611817988952&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40cocos%2Fphysx%2Fdownload%2F%40cocos%2Fphysx-1.0.2.tgz", - "integrity": "sha1-73tmA/uk+xpP60LBON2SC9L+bWM=" + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", + "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "@cocos/typedoc-plugin-internal-external": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/@cocos/typedoc-plugin-internal-external/download/@cocos/typedoc-plugin-internal-external-1.0.1.tgz", - "integrity": "sha1-p3mtZYlcZV8JWKPQel1cexxJM8g=", + "node_modules/@babel/plugin-syntax-decorators/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true }, - "@cocos/typedoc-plugin-localization": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/@cocos/typedoc-plugin-localization/download/@cocos/typedoc-plugin-localization-1.0.0.tgz", - "integrity": "sha1-tgm8/YW1fcRE/BasUWCjP9uix0g=", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", "dev": true, - "requires": { - "fs-extra": "^7.0.0", - "typedoc": "^0.16.9" - }, "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - }, - "typedoc": { - "version": "0.16.11", - "resolved": "https://registry.npm.taobao.org/typedoc/download/typedoc-0.16.11.tgz", - "integrity": "sha1-lfhixuunhTPtya9wltIpW3GO3cE=", - "dev": true, - "requires": { - "@types/minimatch": "3.0.3", - "fs-extra": "^8.1.0", - "handlebars": "^4.7.2", - "highlight.js": "^9.17.1", - "lodash": "^4.17.15", - "marked": "^0.8.0", - "minimatch": "^3.0.0", - "progress": "^2.0.3", - "shelljs": "^0.8.3", - "typedoc-default-themes": "^0.7.2", - "typescript": "3.7.x" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1591229972229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npm.taobao.org/typescript/download/typescript-3.7.5.tgz?cache=0&sync_timestamp=1594620477415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-3.7.5.tgz", - "integrity": "sha1-BpLiH2X9QQi5MwI4qsEd0uF3oa4=", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/@istanbuljs/load-nyc-config/download/@istanbuljs/load-nyc-config-1.1.0.tgz", - "integrity": "sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0=", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha1-7mATSMNw+jNNIge+FYd3SWUh/VE=", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", - "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", - "dev": true - } + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/@istanbuljs/schema/download/@istanbuljs/schema-0.1.3.tgz?cache=0&sync_timestamp=1613227144228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40istanbuljs%2Fschema%2Fdownload%2F%40istanbuljs%2Fschema-0.1.3.tgz", - "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "node_modules/@babel/plugin-syntax-import-meta/node_modules/@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", "dev": true }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/console/download/@jest/console-26.6.2.tgz?cache=0&sync_timestamp=1616701585589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-26.6.2.tgz", - "integrity": "sha1-TgS8RkAUNYsDq0k3gF7jagrrmPI=", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/@jest/core/download/@jest/core-26.6.3.tgz", - "integrity": "sha1-djn8s4M9dIpGVq2lS94ZMFHkX60=", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-26.6.2.tgz?cache=0&sync_timestamp=1616701586653&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-26.6.2.tgz", - "integrity": "sha1-ujZMxy4iHnnMjwqZVVv111d8+Sw=", + "node_modules/@babel/plugin-syntax-logical-assignment-operators/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=", + "dev": true + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", "dev": true, - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-26.6.2.tgz?cache=0&sync_timestamp=1616701585743&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ffake-timers%2Fdownload%2F%40jest%2Ffake-timers-26.6.2.tgz", - "integrity": "sha1-RZwym89wzuSvTX4/PmeEgSNTWq0=", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/globals/download/@jest/globals-26.6.2.tgz?cache=0&sync_timestamp=1616701587468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fglobals%2Fdownload%2F%40jest%2Fglobals-26.6.2.tgz", - "integrity": "sha1-W2E7eKGqJlWukI66Y4zJaiDfcgo=", + "node_modules/@babel/plugin-syntax-numeric-separator/node_modules/@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=", + "dev": true + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-26.6.2.tgz?cache=0&sync_timestamp=1616701586851&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-26.6.2.tgz", - "integrity": "sha1-H1GLmWN6Xxgwe9Ps+SdfaIKmZ/Y=", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-26.6.2.tgz", - "integrity": "sha1-Ka9eHi4yTK/MyTbyGDCfVKtp1TU=", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha1-Os3s5pXmsTqvV/wpHRqACVDHE5E=", + "dev": true, "dependencies": { - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-26.6.2.tgz?cache=0&sync_timestamp=1616701586169&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-26.6.2.tgz", - "integrity": "sha1-VdpYti3xNFdsyVR276X3lJ4/Xxg=", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", + "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha1-gndsLtDNnhpJlW2uuJYCTJRzuLY=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-26.6.3.tgz?cache=0&sync_timestamp=1616701589657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-26.6.3.tgz", - "integrity": "sha1-mOikUQCGOIbQdCBej/3Fp+tYKxc=", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha1-Qwj60NlAnXHq+5sabuNfnWS2QIY=", "dev": true, - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "dependencies": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha1-Q37sW3mbWFIHIISzrl72boNJ6KM=", + "dev": true, "dependencies": { - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - } + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-26.6.2.tgz?cache=0&sync_timestamp=1616701584954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-26.6.2.tgz", - "integrity": "sha1-WsV8X6GtF7Kq6D5z5FgTiU3PLks=", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha1-l9Ndq2aFekN8FmNYuR0JBQyGjzo=", "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "lodash": "^4.17.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.8.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", + "integrity": "sha1-d1NER6R3y+WZWuSu4+OfvICQxG0=", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3", + "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha1-ltDSi3985OtbEguy4OlDNDyG+Bs=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.8.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", + "integrity": "sha1-+tsryOkMyvVljeb41NIv9icqL0s=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha1-w8bsXuYSXGmTxcvKINyGIanqem4=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha1-jRLfMJqlN/JyiZxWXqF2jihuIfE=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha1-WBptf1aXDga/UVYM1k9elHtw17c=", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", + "integrity": "sha1-DyYOJ9PinNG7MSjaXnbHYapsEI4=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha1-J5NzyycyKqrWfCaD53bfxHGW7Ys=", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha1-rvI5gj2RmU7Hto5VGTUl1229XcE=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha1-lj/tS2IKx8v2Apx1VCQCn6OkBBA=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz", + "integrity": "sha1-GXVe5yGRLPW7BMB9UCgK80hO/vQ=", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz", + "integrity": "sha1-4+cvTLybSiYOML4OpZvfWjl0iUA=", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz", + "integrity": "sha1-6f1Gopb8keAJtk4H3aqG1vDt65A=", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", + "integrity": "sha1-6Qmsridv7CgPm4IaXzjh8ItIBpc=", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha1-oqcr/6ICrA4tBQav0JOcXsvEjGw=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha1-YMwq5m2FyVq1QOs0urtkNNTHDEM=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha1-67ah56hv+paFi9asAQLWWUQmFyU=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.9.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.3.tgz", + "integrity": "sha1-MCjQzCDdxzMWbG6chTRVnO4J9Uo=", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha1-MxlDANhTnB7SjGKtUIe6OAe5gmM=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.8.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", + "integrity": "sha1-Xkag3KK+4a2ChesFJ+arycN2cvg=", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha1-mgY1rE5mXSmxYoN908xQdF398fU=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha1-KFRSFuAjqDLU06EYXtSSvP6sCMg=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha1-nI/+gXD9+4ixFOy5ILgvtulf5eg=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha1-vnoSkPgdrnZ0dUUhmeH3bWF1sQA=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha1-e/pHMrRV6mpDEwrcC6dn7A5AKoA=", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha1-7eQGIxXOCq+KZXqSCFjxovNfxBI=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", + "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha1-DO8247pz5cVyc+/7GC9GuRoeyq0=", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.8.7", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.8.7.tgz", + "integrity": "sha1-H8fYnH910tcMK2do3mwuBJs8uds=", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.8.6", + "@babel/helper-compilation-targets": "^7.8.7", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.8.6", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.8.6", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.8.3", + "@babel/plugin-transform-modules-systemjs": "^7.8.3", + "@babel/plugin-transform-modules-umd": "^7.8.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.8.7", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.7", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/types": "^7.8.7", + "browserslist": "^4.8.5", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha1-2Q3wWDo6JS8JqqYZZlNnuuUY2wY=", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha1-4CrQT+JipleAkyf1eAVsoV/U0bg=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "node_modules/@babel/traverse": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.9.0.tgz", + "integrity": "sha1-04gsKDDlE/T+TOyf526hzHh0eJI=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.9.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.9.4.tgz", + "integrity": "sha1-aKNeawMZu8AURlvkOCgwARPy8ug=", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha1-Wjg9/6VBbbG3Pe3/0xH/0HiPsxw=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha1-daLotRy3WKdVPWgEpZMteqznXDk=", + "dev": true + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha1-+GSuhQBND8q29QvpFBxNo2jRZWo=", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@cocos/ammo": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@cocos/ammo/-/ammo-1.1.1.tgz", + "integrity": "sha1-lqgbwp4jMWcAhU0vbXJ+rubf/E8=" + }, + "node_modules/@cocos/babel-plugin-dynamic-import-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@cocos/babel-plugin-dynamic-import-vars/-/babel-plugin-dynamic-import-vars-1.0.2.tgz", + "integrity": "sha1-chaboK/r3jjHTS02cU95rWZBT5g=", + "dev": true, + "dependencies": { + "globby": "^11.0.1" + }, + "peerDependencies": { + "@babel/core": "^7.9.0" + } + }, + "node_modules/@cocos/babel-preset-cc": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@cocos/babel-preset-cc/-/babel-preset-cc-2.2.0.tgz", + "integrity": "sha512-OdrQW+7d3F0tAXbOC5hYJxmRQA1FqRrSuAUHVroUdBTnYWpBEXH3ROH0wxf7WBx6RfNY0RYNzdvA7v9jzwqNNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-proposal-logical-assignment-operators": "^7.10.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.9.0", + "@babel/plugin-transform-typescript": "^7.9.4", + "babel-plugin-const-enum": "^1.0.1" + }, + "peerDependencies": { + "@babel/core": "^7.9.0" + } + }, + "node_modules/@cocos/box2d": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@cocos/box2d/-/box2d-1.0.1.tgz", + "integrity": "sha1-Fc2lzPxRCCt91tNoo+S55IXS5To=", + "dependencies": { + "@types/systemjs": "^0.20.6" + } + }, + "node_modules/@cocos/build-engine": { + "version": "4.2.7", + "resolved": "https://registry.npmmirror.com/@cocos/build-engine/-/build-engine-4.2.7.tgz", + "integrity": "sha1-rSp/20O9hL94+kOv//yfpQ39G3Q=", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.10", + "@babel/plugin-transform-classes": "^7.8.6", + "@babel/plugin-transform-for-of": "^7.9.0", + "@babel/preset-env": "^7.8.7", + "@cocos/babel-plugin-dynamic-import-vars": "^1.0.2", + "@cocos/babel-preset-cc": "2.2.0", + "@rollup/plugin-babel": "^5.2.2", + "@rollup/plugin-commonjs": "^11.0.2", + "@rollup/plugin-json": "^4.0.2", + "@rollup/plugin-node-resolve": "^7.1.1", + "@rollup/plugin-virtual": "^2.0.1", + "dedent": "^0.7.0", + "fs-extra": "^8.1.0", + "json5": "^2.1.3", + "resolve": "^1.17.0", + "rollup": "2.26.6", + "rollup-plugin-progress": "^1.1.1", + "rollup-plugin-terser": "^7.0.2", + "semver": "^7.3.2", + "tfig": "^3.1.1", + "typescript": "^4.2.3", + "yargs": "^15.1.0" + }, + "optionalDependencies": { + "rollup-plugin-visualizer": "^4.2.0" + }, + "peerDependencies": { + "typescript": "^3.7.2" + } + }, + "node_modules/@cocos/build-engine/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@cocos/build-engine/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/@cocos/build-engine/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@cocos/build-engine/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@cocos/build-engine/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "node_modules/@cocos/build-engine/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/@cocos/build-engine/node_modules/is-core-module": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha1-00FlLjQIvKacRnG3mglUo9NJ+Ic=", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@cocos/build-engine/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@cocos/build-engine/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "node_modules/@cocos/build-engine/node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@cocos/build-engine/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@cocos/build-engine/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/@cocos/build-engine/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/build-engine/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", + "dev": true + }, + "node_modules/@cocos/build-engine/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cocos/cannon": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/@cocos/cannon/-/cannon-1.2.3.tgz", + "integrity": "sha1-78BfuDuh3xRLJtvC8WPlPwKYi6I=", + "engines": { + "node": "*" + } + }, + "node_modules/@cocos/dragonbones-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cocos/dragonbones-js/-/dragonbones-js-1.0.1.tgz", + "integrity": "sha512-1bWAW8td2WTGicyCqxtpIjc1YuK5EzMWfMEWaJlskPAQwLS0JfxEGka71sZ1BzudiWiKS7hPMg+FvXr5NRnVwQ==" + }, + "node_modules/@cocos/engine-pal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cocos/engine-pal/-/engine-pal-1.0.4.tgz", + "integrity": "sha512-VtvO0xE2ZviVtwqWn4P6cysn2BX7QABm9sNc1rfy4gy+FHtiwSMkLLL3l3Faw+yZiTE6EwxjPvnc96Igb7mNuQ==" + }, + "node_modules/@cocos/engine-platforms": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@cocos/engine-platforms/-/engine-platforms-1.0.6.tgz", + "integrity": "sha512-Jv+KhPv1iV0PtUk0Fr5MX0gBMh94yz+I6CTSMf7Ht6duUDTz4roOQKwi0EFobXfNXLWwUAPTCVZaPYY7Y9P6gw==" + }, + "node_modules/@cocos/physx": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@cocos/physx/-/physx-1.0.2.tgz", + "integrity": "sha1-73tmA/uk+xpP60LBON2SC9L+bWM=" + }, + "node_modules/@cocos/typedoc-plugin-internal-external": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@cocos/typedoc-plugin-internal-external/-/typedoc-plugin-internal-external-1.0.1.tgz", + "integrity": "sha1-p3mtZYlcZV8JWKPQel1cexxJM8g=", + "dev": true, + "peerDependencies": { + "typedoc": ">=0.7.2 <1.0.0" + } + }, + "node_modules/@cocos/typedoc-plugin-localization": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@cocos/typedoc-plugin-localization/-/typedoc-plugin-localization-1.0.0.tgz", + "integrity": "sha1-tgm8/YW1fcRE/BasUWCjP9uix0g=", + "dev": true, + "dependencies": { + "fs-extra": "^7.0.0", + "typedoc": "^0.16.9" + } + }, + "node_modules/@cocos/typedoc-plugin-localization/node_modules/typedoc": { + "version": "0.16.11", + "resolved": "https://registry.npmmirror.com/typedoc/-/typedoc-0.16.11.tgz", + "integrity": "sha1-lfhixuunhTPtya9wltIpW3GO3cE=", + "dev": true, + "dependencies": { + "@types/minimatch": "3.0.3", + "fs-extra": "^8.1.0", + "handlebars": "^4.7.2", + "highlight.js": "^9.17.1", + "lodash": "^4.17.15", + "marked": "^0.8.0", + "minimatch": "^3.0.0", + "progress": "^2.0.3", + "shelljs": "^0.8.3", + "typedoc-default-themes": "^0.7.2", + "typescript": "3.7.x" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@cocos/typedoc-plugin-localization/node_modules/typedoc/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@cocos/typedoc-plugin-localization/node_modules/typescript": { + "version": "3.7.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-3.7.5.tgz", + "integrity": "sha1-BpLiH2X9QQi5MwI4qsEd0uF3oa4=", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0=", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha1-TgS8RkAUNYsDq0k3gF7jagrrmPI=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/console/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha1-djn8s4M9dIpGVq2lS94ZMFHkX60=", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/core/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha1-ujZMxy4iHnnMjwqZVVv111d8+Sw=", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/environment/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/environment/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/environment/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/environment/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/environment/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha1-RZwym89wzuSvTX4/PmeEgSNTWq0=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/fake-timers/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha1-W2E7eKGqJlWukI66Y4zJaiDfcgo=", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/globals/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/globals/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/globals/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/globals/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/globals/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha1-H1GLmWN6Xxgwe9Ps+SdfaIKmZ/Y=", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/reporters/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha1-Ka9eHi4yTK/MyTbyGDCfVKtp1TU=", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/source-map/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha1-VdpYti3xNFdsyVR276X3lJ4/Xxg=", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-result/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-result/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/test-result/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/test-result/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/test-result/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-result/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha1-mOikUQCGOIbQdCBej/3Fp+tYKxc=", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-sequencer/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha1-WsV8X6GtF7Kq6D5z5FgTiU3PLks=", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/@jest/transform/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/types/node_modules/@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha1-3vLwyT5L3yxh1+NImbF+NL4o07E=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha1-Olgr21OATGum0UZXnEblITDPSjs=", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M=", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY=", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", + "integrity": "sha1-nLHFFG3daklorZbyCcUMYvkvmHk=", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel/node_modules/@babel/helper-module-imports": { + "version": "7.13.12", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha1-xqNppvNiHLJdoBQHhoTakZa2GXc=", + "dev": true, + "dependencies": { + "@babel/types": "^7.13.12" + } + }, + "node_modules/@rollup/plugin-babel/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", + "dev": true + }, + "node_modules/@rollup/plugin-babel/node_modules/@babel/types": { + "version": "7.13.17", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.13.17.tgz", + "integrity": "sha1-SAEKEVyfunWItEN91oyUaQErOLQ=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", + "integrity": "sha1-YGNsenIvVLQeQZ4XCd8FxyNFV+8=", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha1-VOCYZ65pY8WThE2L16nHGClElvM=", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "7.1.3", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz", + "integrity": "sha1-gN44Tt+9e/yRARZJEPhgeBUaPso=", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8", + "@types/resolve": "0.0.8", + "builtin-modules": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.14.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-virtual": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-virtual/-/plugin-virtual-2.0.3.tgz", + "integrity": "sha1-CvyI11weE3irKQuOmJjU7bW+DXQ=", + "dev": true, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s=", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.2.tgz", + "integrity": "sha1-hY9cS0jYB3j95LnVQfJ+3A1WSIs=", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha1-KTZ0/MsyYqx4LHqt/eyoaxDHXEA=", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.14", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha1-+q7vxBhexxw4n0UB7l7ISxcMxAI=", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha1-89cReOGHhY98ReMDgPjxt0FaEtg=", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha1-DIiN1ws+6e67bk8gDoCdoAdiYr4=", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.11.1", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha1-ZU9sT2dWjiTCOzZ+lHCYxiBvpjk=", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8=", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-5.1.0.tgz", + "integrity": "sha1-KjJe+XkBUEo4KHGMOQ00uEJqEKE=", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha1-If+6DZjaQ1DbZIkfkqnl2zzbThU=", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha1-QplbRG25pIoRoH7Ag0mahg6ROP8=", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha1-5Ucef6M8YTWN04QmGJwDelhDO4w=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "24.9.1", + "resolved": "https://registry.npmmirror.com/@types/jest/-/jest-24.9.1.tgz", + "integrity": "sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ=", + "dev": true, + "dependencies": { + "jest-diff": "^24.3.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha1-OP1z3f2bVaux4bLtV4y1W9e30zk=", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", + "dev": true + }, + "node_modules/@types/node": { + "version": "13.1.7", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-13.1.7.tgz", + "integrity": "sha1-21HSi436z+T7LQ2oj16wouygBnU=", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.2.3.tgz", + "integrity": "sha1-72UWWuopJMk1kgW/dIhluIgXU8A=", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha1-8mB00jjgJlnjI84aE9BB7uKA4ZQ=", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha1-cDZkC04hzC8lmugmzoQ9J32tjP8=", + "dev": true + }, + "node_modules/@types/systemjs": { + "version": "0.20.7", + "resolved": "https://registry.npmmirror.com/@types/systemjs/-/systemjs-0.20.7.tgz", + "integrity": "sha1-cygaYoc2M29sZFME8x1v6GadOH0=" + }, + "node_modules/@types/yargs": { + "version": "12.0.17", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-12.0.17.tgz", + "integrity": "sha1-YxaSoNPCAeTiBjw3QiAQMb+y5bM=", + "dev": true + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha1-yz+fdBhp4gzOMw/765JxWQSDiC0=", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.1.tgz", + "integrity": "sha512-SNZyflefTMK2JyrPfFFzzoy2asLmZvZJ6+/L5cIqg4HfKGiW2Gr1Go1OyEVqne/U4QwmoasuMwppoBHWBWF2nA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.6.1", + "@typescript-eslint/scope-manager": "4.6.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.1.tgz", + "integrity": "sha512-qyPqCFWlHZXkEBoV56UxHSoXW2qnTr4JrWVXOh3soBP3q0o7p4pUEMfInDwIa0dB/ypdtm7gLOS0hg0a73ijfg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.6.1", + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/typescript-estree": "4.6.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz", + "integrity": "sha512-/J/kxiyjQQKqEr5kuKLNQ1Finpfb8gf/NpbwqFFYEBjxOsZ621r9AqwS9UDRA1Rrr/eneX/YsbPAIhU2rFLjXQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/visitor-keys": "4.6.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.6.1.tgz", + "integrity": "sha512-lScKRPt1wM9UwyKkGKyQDqf0bh6jm8DQ5iN37urRIXDm16GEv+HGEmum2Fc423xlk5NUOkOpfTnKZc/tqKZkDQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.6.1", + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/typescript-estree": "4.6.1", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.6.1.tgz", + "integrity": "sha512-f95+80r6VdINYscJY1KDUEDcxZ3prAWHulL4qRDfNVD0I5QAVSGqFkwHERDoLYJJWmEAkUMdQVvx7/c2Hp+Bjg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/visitor-keys": "4.6.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.6.1.tgz", + "integrity": "sha512-k2ZCHhJ96YZyPIsykickez+OMHkz06xppVLfJ+DY90i532/Cx2Z+HiRMH8YZQo7a4zVd/TwNBuRCdXlGK4yo8w==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz", + "integrity": "sha512-/J/kxiyjQQKqEr5kuKLNQ1Finpfb8gf/NpbwqFFYEBjxOsZ621r9AqwS9UDRA1Rrr/eneX/YsbPAIhU2rFLjXQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/visitor-keys": "4.6.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.1.tgz", + "integrity": "sha512-owABze4toX7QXwOLT3/D5a8NecZEjEWU1srqxENTfqsY3bwVnl3YYbOh6s1rp2wQKO9RTHFGjKes08FgE7SVMw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.6.1", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.5.tgz", + "integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha1-Rs3Tnw+P8IqHZhm1X1rIptx3C0U=", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes/node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes/node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes/node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat/node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat/node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat/node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/async/-/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", + "dev": true + }, + "node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha1-2H0lywA3V3oMifguV1XF0pPAEFY=", + "dev": true, + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-jest/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/babel-jest/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-const-enum": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.0.1.tgz", + "integrity": "sha512-6oGu63g1FS9psUPQyLCJM08ty6kGihGKTbzWGbAKHfUuCzCh7y9twh516cR6v0lM4d4NOoR+DgLb7uKVytyp6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha1-8A9Qe9qjw+P/bn5emNkKesq5b38=", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha1-4VnM3Jr5XgtXDHW0Vzt8NNZx12U=", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha1-gYW9AwNI0lTG192XQ1Xmoosh5i0=", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha1-tDmSObibKgEfndvj5PQB/EDP9zs=", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha1-dHhysRcd8DIlJCZYaIHWLTF5j+4=", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/backbone": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha1-VNtN6d98OBHD8DLzR0mkzSfzvRI=", + "dev": true, + "dependencies": { + "underscore": ">=1.8.3" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmmirror.com/base/-/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/basic-auth": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/basic-auth/-/basic-auth-1.1.0.tgz", + "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.11.1", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.11.1.tgz", + "integrity": "sha1-kvhV7ojW4FDn5zEdmHmSAU8aHxs=", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001038", + "electron-to-chromium": "^1.3.390", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmmirror.com/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha1-6302UwenLPl0zGzadraDVK0za9g=", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", + "integrity": "sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU=", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha1-RdXbmefuXmvE82LgCL+RerUEmIc=", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001150", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001150.tgz", + "integrity": "sha512-kiNKvihW0m36UhAFnl7bOAv0i1K1f6wpfVtTF5O5O82XzgtBnb05V0XeV3oZ968vfg2sRNChsHw8ASH2hDfoYQ==", + "dev": true + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha1-+5U7+uvreB9iiYI52rtCbQilCaQ=", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha1-10Q1giYhf5ge1Y9Hmx1rzClUXc8=", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/chokidar/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha1-QYb8yg6uF1lwruhwuf4tbPjVZV8=", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha1-zCyOlPwYu9/+ZNZTRXDIpnOyf1k=", + "dev": true + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz", + "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", + "dev": true + }, + "node_modules/contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "dev": true, + "dependencies": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, + "node_modules/core-js-compat": { + "version": "3.6.4", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.6.4.tgz", + "integrity": "sha1-k4R2Vp67bNqA0zm88Zn65PFv/xc=", + "dev": true, + "dependencies": { + "browserslist": "^4.8.3", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.0.0.tgz", + "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/corser/-/corser-2.0.1.tgz", + "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA=", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha1-/2ZaDdvcMYZLCWR/NBY0Q9kLCFI=", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=", + "dev": true + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dat.gui": { + "version": "0.7.6", + "resolved": "https://registry.npmmirror.com/dat.gui/-/dat.gui-0.7.6.tgz", + "integrity": "sha1-khgqDy3JbCaRD4iCONODkWbYL3Y=", + "dev": true + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha1-FWSFpyljqXD11YIar2Qr7yvy25s=", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha1-I4rnsPDHk9PjzqQQEIs1osAUJqM=", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-compare/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha1-V29d/GOuGhkv8ZLYrTr2MImRtlE=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU=", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha1-+0Su+6eT4VdLCvau0oAdBXUp8wQ=", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha1-rlnIoAsSFUOirMZcBDT1ew/BGv8=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecstatic": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/ecstatic/-/ecstatic-3.3.2.tgz", + "integrity": "sha1-bR3UmBTQBZRoLGUq22YHamnUbEg=", + "deprecated": "This package is unmaintained and deprecated. See the GH Issue 259.", + "dev": true, + "dependencies": { + "he": "^1.1.1", + "mime": "^1.6.0", + "minimist": "^1.1.0", + "url-join": "^2.0.5" + }, + "bin": { + "ecstatic": "lib/ecstatic.js" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.391", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.3.391.tgz", + "integrity": "sha1-m37i84eBStfTet2q/kHI9MRJjSQ=", + "dev": true + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha1-JVlZCOE68PVnSrQZOW4vs5TN+oI=", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha1-XjKxKDPoqo+jXhvwvvqJOASEx90=", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", + "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.0.0", + "eslint-visitor-keys": "^1.2.0", + "espree": "^7.1.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.2" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", + "eslint-plugin-import": "^2.22.1" + } + }, + "node_modules/eslint-config-airbnb-base/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "dependencies": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-module-utils/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-module-utils/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "dependencies": { + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "dependencies": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/eslint-plugin-import/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-import/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha1-e+HMcPJ6cqds0UqmmLyr7WiQ4c0=", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "dev": true, + "dependencies": { + "estraverse": "^4.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA=", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w=", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/expect/-/expect-26.6.2.tgz", + "integrity": "sha1-xrmWvya/P+GLZ7LQ9R/JgbqTRBc=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/expect/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/expect/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/expect/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha1-28GRVPVYaQFQojlToK29A1vkX8c=", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha1-0grvv5lXk4Pn88xmUpFYybmFVNM=", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha1-4Wpy8zjqykjpG1wjWTvMLvZreUc=", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU=", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/findup-sync/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha1-5VmK1QF0wbxOhyMB6CrCzZf5Amc=", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=", + "bundleDependencies": [ + "node-pre-gyp" + ], + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "deprecated": "This package is no longer supported.", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "inBundle": true, + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "deprecated": "This package is no longer supported.", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minipass": "^2.2.1" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz", + "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "deprecated": "This package is no longer supported.", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/fsevents/node_modules/rc/node_modules/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true, + "inBundle": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro=", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-stream/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-stream/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.0.1.tgz", + "integrity": "sha1-mivxB6Bo8//qvEmtcCx57ejP01c=", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha1-LX3XAr7aIus7/634gGltpthGMT8=", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp/node_modules/gulp-cli": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", + "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp/node_modules/yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "node_modules/gulp/node_modules/yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/handlebars": { + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/har-validator/node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-9.18.1.tgz", + "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=", + "deprecated": "Version no longer supported. Upgrade to @latest", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.4", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha1-RBGauvS8ZGkqFqzjRwD+2cA+JUY=", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha1-QqbcT9M/ACgRduiyN1nKTk+hhfM=", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-server": { + "version": "0.12.3", + "resolved": "https://registry.npmmirror.com/http-server/-/http-server-0.12.3.tgz", + "integrity": "sha1-ugRx0OzEJYhmFss1xPryeRQKDTc=", + "dev": true, + "dependencies": { + "basic-auth": "^1.0.3", + "colors": "^1.4.0", + "corser": "^2.0.1", + "ecstatic": "^3.3.2", + "http-proxy": "^1.18.0", + "minimist": "^1.2.5", + "opener": "^1.5.1", + "portfinder": "^1.0.25", + "secure-compare": "3.0.1", + "union": "~0.5.0" + }, + "bin": { + "hs": "bin/http-server", + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", + "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY=", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz", - "integrity": "sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk=", + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, "dependencies": { - "@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.11.tgz", - "integrity": "sha1-3vLwyT5L3yxh1+NImbF+NL4o07E=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.3.tgz", - "integrity": "sha1-Olgr21OATGum0UZXnEblITDPSjs=", + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" + "engines": { + "node": ">=8" } }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz", - "integrity": "sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M=", + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.4.tgz", - "integrity": "sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY=", + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "@rollup/plugin-babel": { - "version": "5.3.0", - "resolved": "https://registry.npm.taobao.org/@rollup/plugin-babel/download/@rollup/plugin-babel-5.3.0.tgz", - "integrity": "sha1-nLHFFG3daklorZbyCcUMYvkvmHk=", + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" + "dependencies": { + "ansi-regex": "^5.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.13.12.tgz?cache=0&sync_timestamp=1616428145076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.13.12.tgz", - "integrity": "sha1-xqNppvNiHLJdoBQHhoTakZa2GXc=", - "dev": true, - "requires": { - "@babel/types": "^7.13.12" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076995361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", - "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", - "dev": true - }, - "@babel/types": { - "version": "7.13.17", - "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.13.17.tgz", - "integrity": "sha1-SAEKEVyfunWItEN91oyUaQErOLQ=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "to-fast-properties": "^2.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@rollup/plugin-commonjs": { - "version": "11.1.0", - "resolved": "https://registry.npm.taobao.org/@rollup/plugin-commonjs/download/@rollup/plugin-commonjs-11.1.0.tgz", - "integrity": "sha1-YGNsenIvVLQeQZ4XCd8FxyNFV+8=", + "node_modules/inquirer/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8", - "commondir": "^1.0.1", - "estree-walker": "^1.0.1", - "glob": "^7.1.2", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/@rollup/plugin-json/download/@rollup/plugin-json-4.1.0.tgz", - "integrity": "sha1-VOCYZ65pY8WThE2L16nHGClElvM=", + "node_modules/interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=", "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8" + "engines": { + "node": ">= 0.10" } }, - "@rollup/plugin-node-resolve": { - "version": "7.1.3", - "resolved": "https://registry.npm.taobao.org/@rollup/plugin-node-resolve/download/@rollup/plugin-node-resolve-7.1.3.tgz", - "integrity": "sha1-gN44Tt+9e/yRARZJEPhgeBUaPso=", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8", - "@types/resolve": "0.0.8", - "builtin-modules": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.14.2" + "dependencies": { + "loose-envify": "^1.0.0" } }, - "@rollup/plugin-virtual": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/@rollup/plugin-virtual/download/@rollup/plugin-virtual-2.0.3.tgz", - "integrity": "sha1-CvyI11weE3irKQuOmJjU7bW+DXQ=", - "dev": true + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz?cache=0&sync_timestamp=1603767889260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40rollup%2Fpluginutils%2Fdownload%2F%40rollup%2Fpluginutils-3.1.0.tgz", - "integrity": "sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s=", + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@sinonjs/commons": { - "version": "1.8.2", - "resolved": "https://registry.npm.taobao.org/@sinonjs/commons/download/@sinonjs/commons-1.8.2.tgz?cache=0&sync_timestamp=1610537339534&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sinonjs%2Fcommons%2Fdownload%2F%40sinonjs%2Fcommons-1.8.2.tgz", - "integrity": "sha1-hY9cS0jYB3j95LnVQfJ+3A1WSIs=", + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "deprecated": "Please upgrade to v0.1.7", "dev": true, - "requires": { - "type-detect": "4.0.8" + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/@sinonjs/fake-timers/download/@sinonjs/fake-timers-6.0.1.tgz?cache=0&sync_timestamp=1610984495885&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sinonjs%2Ffake-timers%2Fdownload%2F%40sinonjs%2Ffake-timers-6.0.1.tgz", - "integrity": "sha1-KTZ0/MsyYqx4LHqt/eyoaxDHXEA=", + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "@types/babel__core": { - "version": "7.1.14", - "resolved": "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.14.tgz?cache=0&sync_timestamp=1616202173431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__core%2Fdownload%2F%40types%2Fbabel__core-7.1.14.tgz", - "integrity": "sha1-+q7vxBhexxw4n0UB7l7ISxcMxAI=", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__generator%2Fdownload%2F%40types%2Fbabel__generator-7.6.2.tgz", - "integrity": "sha1-89cReOGHhY98ReMDgPjxt0FaEtg=", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=", "dev": true, - "requires": { - "@babel/types": "^7.0.0" + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" } }, - "@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__template%2Fdownload%2F%40types%2Fbabel__template-7.4.0.tgz", - "integrity": "sha1-DIiN1ws+6e67bk8gDoCdoAdiYr4=", + "node_modules/is-core-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.0.0.tgz", + "integrity": "sha1-WFMbcK7R23wOjU6xoKLR3dZL0S0=", "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@types/babel__traverse": { - "version": "7.11.1", - "resolved": "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.11.1.tgz", - "integrity": "sha1-ZU9sT2dWjiTCOzZ+lHCYxiBvpjk=", + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "deprecated": "Please upgrade to v0.1.5", "dev": true, - "requires": { - "@babel/types": "^7.3.0" + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npm.taobao.org/@types/estree/download/@types/estree-0.0.39.tgz", - "integrity": "sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8=", - "dev": true + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } }, - "@types/fs-extra": { + "node_modules/is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/@types/fs-extra/download/@types/fs-extra-5.1.0.tgz", - "integrity": "sha1-KjJe+XkBUEo4KHGMOQ00uEJqEKE=", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", "dev": true, - "requires": { - "@types/node": "*" + "engines": { + "node": ">=0.10.0" } }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/@types/graceful-fs/download/@types/graceful-fs-4.1.5.tgz", - "integrity": "sha1-If+6DZjaQ1DbZIkfkqnl2zzbThU=", + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha1-QSWojkTkUNOE4JBH7eca3C0UQVY=", "dev": true, - "requires": { - "@types/node": "*" + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha1-QplbRG25pIoRoH7Ag0mahg6ROP8=", - "dev": true + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "@types/istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-1.1.1.tgz?cache=0&sync_timestamp=1567533313811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-lib-report%2Fdownload%2F%40types%2Fistanbul-lib-report-1.1.1.tgz", - "integrity": "sha1-5Ucef6M8YTWN04QmGJwDelhDO4w=", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" + "engines": { + "node": ">=0.10.0" } }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-1.1.2.tgz", - "integrity": "sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI=", + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "engines": { + "node": ">=4" } }, - "@types/jest": { - "version": "24.9.1", - "resolved": "https://registry.npm.taobao.org/@types/jest/download/@types/jest-24.9.1.tgz?cache=0&sync_timestamp=1616695463771&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjest%2Fdownload%2F%40types%2Fjest-24.9.1.tgz", - "integrity": "sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ=", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha1-fRQK3DiarzARqPKipM+m+q3/sRg=", "dev": true, - "requires": { - "jest-diff": "^24.3.0" + "engines": { + "node": ">=6" } }, - "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.4.tgz", - "integrity": "sha1-OP1z3f2bVaux4bLtV4y1W9e30zk=", - "dev": true + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", - "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", - "dev": true + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "@types/node": { - "version": "13.1.7", - "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-13.1.7.tgz", - "integrity": "sha1-21HSi436z+T7LQ2oj16wouygBnU=", - "dev": true + "node_modules/is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1613379363960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz", - "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=", - "dev": true + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "@types/prettier": { - "version": "2.2.3", - "resolved": "https://registry.npm.taobao.org/@types/prettier/download/@types/prettier-2.2.3.tgz?cache=0&sync_timestamp=1615835297466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fprettier%2Fdownload%2F%40types%2Fprettier-2.2.3.tgz", - "integrity": "sha1-72UWWuopJMk1kgW/dIhluIgXU8A=", - "dev": true + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } }, - "@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npm.taobao.org/@types/resolve/download/@types/resolve-0.0.8.tgz?cache=0&sync_timestamp=1613671200787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fresolve%2Fdownload%2F%40types%2Fresolve-0.0.8.tgz", - "integrity": "sha1-8mB00jjgJlnjI84aE9BB7uKA4ZQ=", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "dev": true, - "requires": { - "@types/node": "*" + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-2.0.0.tgz", - "integrity": "sha1-cDZkC04hzC8lmugmzoQ9J32tjP8=", - "dev": true - }, - "@types/systemjs": { - "version": "0.20.7", - "resolved": "https://registry.npm.taobao.org/@types/systemjs/download/@types/systemjs-0.20.7.tgz", - "integrity": "sha1-cygaYoc2M29sZFME8x1v6GadOH0=" - }, - "@types/yargs": { - "version": "12.0.17", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-12.0.17.tgz", - "integrity": "sha1-YxaSoNPCAeTiBjw3QiAQMb+y5bM=", - "dev": true - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz", - "integrity": "sha1-yz+fdBhp4gzOMw/765JxWQSDiC0=", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", "dev": true }, - "@typescript-eslint/eslint-plugin": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.1.tgz", - "integrity": "sha512-SNZyflefTMK2JyrPfFFzzoy2asLmZvZJ6+/L5cIqg4HfKGiW2Gr1Go1OyEVqne/U4QwmoasuMwppoBHWBWF2nA==", + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha1-iy2sCzcfS8mU/eq6nrVC0DAC0Lc=", "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.6.1", - "@typescript-eslint/scope-manager": "4.6.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.1.tgz", - "integrity": "sha512-qyPqCFWlHZXkEBoV56UxHSoXW2qnTr4JrWVXOh3soBP3q0o7p4pUEMfInDwIa0dB/ypdtm7gLOS0hg0a73ijfg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.6.1", - "@typescript-eslint/types": "4.6.1", - "@typescript-eslint/typescript-estree": "4.6.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz", - "integrity": "sha512-/J/kxiyjQQKqEr5kuKLNQ1Finpfb8gf/NpbwqFFYEBjxOsZ621r9AqwS9UDRA1Rrr/eneX/YsbPAIhU2rFLjXQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.6.1", - "@typescript-eslint/visitor-keys": "4.6.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } + "@types/estree": "*" } }, - "@typescript-eslint/parser": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.6.1.tgz", - "integrity": "sha512-lScKRPt1wM9UwyKkGKyQDqf0bh6jm8DQ5iN37urRIXDm16GEv+HGEmum2Fc423xlk5NUOkOpfTnKZc/tqKZkDQ==", + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "4.6.1", - "@typescript-eslint/types": "4.6.1", - "@typescript-eslint/typescript-estree": "4.6.1", - "debug": "^4.1.1" + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@typescript-eslint/scope-manager": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.6.1.tgz", - "integrity": "sha512-f95+80r6VdINYscJY1KDUEDcxZ3prAWHulL4qRDfNVD0I5QAVSGqFkwHERDoLYJJWmEAkUMdQVvx7/c2Hp+Bjg==", + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true, - "requires": { - "@typescript-eslint/types": "4.6.1", - "@typescript-eslint/visitor-keys": "4.6.1" + "engines": { + "node": ">=0.10.0" } }, - "@typescript-eslint/types": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.6.1.tgz", - "integrity": "sha512-k2ZCHhJ96YZyPIsykickez+OMHkz06xppVLfJ+DY90i532/Cx2Z+HiRMH8YZQo7a4zVd/TwNBuRCdXlGK4yo8w==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz", - "integrity": "sha512-/J/kxiyjQQKqEr5kuKLNQ1Finpfb8gf/NpbwqFFYEBjxOsZ621r9AqwS9UDRA1Rrr/eneX/YsbPAIhU2rFLjXQ==", + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true, - "requires": { - "@typescript-eslint/types": "4.6.1", - "@typescript-eslint/visitor-keys": "4.6.1", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@typescript-eslint/visitor-keys": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.1.tgz", - "integrity": "sha512-owABze4toX7QXwOLT3/D5a8NecZEjEWU1srqxENTfqsY3bwVnl3YYbOh6s1rp2wQKO9RTHFGjKes08FgE7SVMw==", + "node_modules/is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", "dev": true, - "requires": { - "@typescript-eslint/types": "4.6.1", - "eslint-visitor-keys": "^2.0.0" - }, "dependencies": { - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true - } + "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/abab/download/abab-2.0.5.tgz", - "integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=", - "dev": true - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-6.0.0.tgz", - "integrity": "sha1-Rs3Tnw+P8IqHZhm1X1rIptx3C0U=", + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz", - "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz", - "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=", + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "engines": { + "node": ">=0.10.0" } }, - "ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", "dev": true, - "requires": { - "ansi-wrap": "^0.1.0" + "engines": { + "node": ">=0.10.0" } }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.2.tgz?cache=0&sync_timestamp=1616593406066&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.2.tgz", - "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.21.3.tgz?cache=0&sync_timestamp=1616514381586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.21.3.tgz", - "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=", - "dev": true - } + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-gray/download/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, - "requires": { - "color-convert": "^1.9.0" + "engines": { + "node": ">=0.10.0" } }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-wrap/download/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw=", "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "engines": { + "node": ">=8" } }, - "append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/append-buffer/download/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", "dev": true, - "requires": { - "buffer-equal": "^1.0.0" + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/archy/download/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha1-dRj+UupE3jcvRgp2tezan/tz2KY=", "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "arr-diff": { + "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/arr-filter/download/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "make-iterator": "^1.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha1-dXQ85tlruG3H7kNSz2Nmoj8LGtk=", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } }, - "arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/arr-map/download/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true, - "requires": { - "make-iterator": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha1-1ZMhDlAAaDdQywn8BkTktuJ/1Ts=", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/array-each/download/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/jest/-/jest-26.6.3.tgz", + "integrity": "sha1-QOj9vkjwDfofDOgSHKdLiKyRSO8=", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha1-9hmEeeHMZvIvmuHiKsqgtCnAQtA=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", - "is-string": "^1.0.5" - }, "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/array-initial/download/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "node_modules/jest-changed-files/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } + "@types/istanbul-lib-report": "*" } }, - "array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "is-number": "^4.0.0" - }, "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } + "@types/yargs-parser": "*" } }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "node_modules/jest-changed-files/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz", - "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", - "dev": true + "node_modules/jest-changed-files/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "node_modules/jest-changed-files/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "node_modules/jest-changed-files/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", - "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz", + "integrity": "sha1-TlSRrRVy8vF6d9OIxshXE1sihHo=", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz", - "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", - "dev": true + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", - "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "node_modules/jest-changed-files/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "lodash": "^4.17.14" + "engines": { + "node": ">=8" } }, - "async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" + "engines": { + "node": ">=8" } }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", - "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", - "dev": true + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/async-settle/download/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "node_modules/jest-changed-files/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", "dev": true, - "requires": { - "async-done": "^1.2.2" + "engines": { + "node": ">=8" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "node_modules/jest-changed-files/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true + "node_modules/jest-changed-files/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "node_modules/jest-changed-files/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101311814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", - "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", - "dev": true + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } }, - "babel-jest": { + "node_modules/jest-config": { "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/babel-jest/download/babel-jest-26.6.3.tgz", - "integrity": "sha1-2H0lywA3V3oMifguV1XF0pPAEFY=", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha1-ZPQURO756wPcUdXFO3XIxx9kU0k=", "dev": true, - "requires": { - "@jest/transform": "^26.6.2", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", + "babel-jest": "^26.6.3", "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true } } }, - "babel-plugin-const-enum": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.0.1.tgz", - "integrity": "sha512-6oGu63g1FS9psUPQyLCJM08ty6kGihGKTbzWGbAKHfUuCzCh7y9twh516cR6v0lM4d4NOoR+DgLb7uKVytyp6Q==", + "node_modules/jest-config/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.3.3" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha1-8A9Qe9qjw+P/bn5emNkKesq5b38=", + "node_modules/jest-config/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "object.assign": "^4.1.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha1-4VnM3Jr5XgtXDHW0Vzt8NNZx12U=", + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha1-gYW9AwNI0lTG192XQ1Xmoosh5i0=", + "node_modules/jest-config/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "engines": { + "node": ">=8" } }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/babel-preset-current-node-syntax/download/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha1-tDmSObibKgEfndvj5PQB/EDP9zs=", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-26.6.2.tgz", - "integrity": "sha1-dHhysRcd8DIlJCZYaIHWLTF5j+4=", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "bach": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/bach/download/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "backbone": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/backbone/download/backbone-1.4.0.tgz", - "integrity": "sha1-VNtN6d98OBHD8DLzR0mkzSfzvRI=", + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "underscore": ">=1.8.3" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "node_modules/jest-config/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "basic-auth": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/basic-auth/download/basic-auth-1.1.0.tgz", - "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=", + "node_modules/jest-config/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "tweetnacl": "^0.14.3" + "engines": { + "node": ">=8" } }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true + "node_modules/jest-config/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">= 10.14.2" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY=", + "node_modules/jest-config/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", "dev": true }, - "browserslist": { - "version": "4.11.1", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.11.1.tgz", - "integrity": "sha1-kvhV7ojW4FDn5zEdmHmSAU8aHxs=", + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001038", - "electron-to-chromium": "^1.3.390", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npm.taobao.org/bs-logger/download/bs-logger-0.2.6.tgz", - "integrity": "sha1-6302UwenLPl0zGzadraDVK0za9g=", + "node_modules/jest-config/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/bser/download/bser-2.1.1.tgz", - "integrity": "sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU=", + "node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha1-kxt9DVd4obr3RSy4FuMl43JAVdo=", "dev": true, - "requires": { - "node-int64": "^0.4.0" + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" } }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-equal/download/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true + "node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha1-Pi+iCJn8koyxO9D/aL03EaNoibU=", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", - "dev": true + "node_modules/jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha1-AlJkOKd6Z0AcimOC3+WZmVLBZ8s=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-3.2.0.tgz?cache=0&sync_timestamp=1608615096289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuiltin-modules%2Fdownload%2Fbuiltin-modules-3.2.0.tgz", - "integrity": "sha1-RdXbmefuXmvE82LgCL+RerUEmIc=", - "dev": true + "node_modules/jest-each/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "node_modules/jest-each/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz", - "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", - "dev": true + "node_modules/jest-each/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "caniuse-lite": { - "version": "1.0.30001150", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001150.tgz", - "integrity": "sha512-kiNKvihW0m36UhAFnl7bOAv0i1K1f6wpfVtTF5O5O82XzgtBnb05V0XeV3oZ968vfg2sRNChsHw8ASH2hDfoYQ==", - "dev": true + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz", - "integrity": "sha1-+5U7+uvreB9iiYI52rtCbQilCaQ=", + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "rsvp": "^4.8.4" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "engines": { + "node": ">=8" } }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/char-regex/download/char-regex-1.0.2.tgz", - "integrity": "sha1-10Q1giYhf5ge1Y9Hmx1rzClUXc8=", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "node_modules/jest-each/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1569108917227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true - } + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz", - "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=", + "node_modules/jest-each/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", "dev": true }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/cjs-module-lexer/download/cjs-module-lexer-0.6.0.tgz?cache=0&sync_timestamp=1615466444581&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcjs-module-lexer%2Fdownload%2Fcjs-module-lexer-0.6.0.tgz", - "integrity": "sha1-QYb8yg6uF1lwruhwuf4tbPjVZV8=", - "dev": true + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha1-eNCf6c8BmjVwCbm34fEB0jvR2j4=", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/jest-environment-jsdom/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "restore-cursor": "^3.1.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz?cache=0&sync_timestamp=1573943292170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true + "node_modules/jest-environment-jsdom/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true + "node_modules/jest-environment-jsdom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "node_modules/jest-environment-jsdom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "node_modules/jest-environment-jsdom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" + "engines": { + "node": ">=8" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "node_modules/jest-environment-jsdom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/collect-v8-coverage/download/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha1-zCyOlPwYu9/+ZNZTRXDIpnOyf1k=", - "dev": true + "node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha1-gk5Mf7SURkY1bxGsdbIpsANfKww=", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-map/download/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/jest-environment-node/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "color-name": "1.1.3" + "dependencies": { + "@types/yargs-parser": "*" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "node_modules/jest-environment-node/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-support/download/color-support-1.1.3.tgz", - "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=", - "dev": true + "node_modules/jest-environment-node/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259591258&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz", - "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", - "dev": true + "node_modules/jest-environment-node/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz", - "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=", + "node_modules/jest-environment-node/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "node_modules/jest-environment-node/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "delayed-stream": "~1.0.0" + "engines": { + "node": ">=8" } }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "node_modules/jest-environment-node/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", - "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", - "dev": true + "node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4=", + "dev": true, + "engines": { + "node": ">= 6" + } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha1-3X5g/n3A6fkRoj15xf9/tcLK/qo=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-stream%2Fdownload%2Fconcat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", - "dev": true + "node_modules/jest-haste-map/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1573003637425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz", - "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "node_modules/jest-haste-map/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "safe-buffer": "~5.1.1" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } }, - "copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", "dev": true, - "requires": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "core-js-compat": { - "version": "3.6.4", - "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.4.tgz?cache=0&sync_timestamp=1578957208980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.6.4.tgz", - "integrity": "sha1-k4R2Vp67bNqA0zm88Zn65PFv/xc=", + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "browserslist": "^4.8.3", - "semver": "7.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-haste-map/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1581458063470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", - "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", - "dev": true - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "node_modules/jest-haste-map/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "corser": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/corser/download/corser-2.0.1.tgz", - "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", - "dev": true + "node_modules/jest-haste-map/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.4.4.tgz", - "integrity": "sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA=", + "node_modules/jest-haste-map/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/cssstyle/download/cssstyle-2.3.0.tgz", - "integrity": "sha1-/2ZaDdvcMYZLCWR/NBY0Q9kLCFI=", + "node_modules/jest-haste-map/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz", - "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=", - "dev": true - } + "engines": { + "node": ">=8" } }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "node_modules/jest-haste-map/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "engines": { + "node": ">=0.12.0" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" } }, - "dat.gui": { - "version": "0.7.6", - "resolved": "https://registry.npm.taobao.org/dat.gui/download/dat.gui-0.7.6.tgz", - "integrity": "sha1-khgqDy3JbCaRD4iCONODkWbYL3Y=", - "dev": true + "node_modules/jest-haste-map/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/data-urls/download/data-urls-2.0.0.tgz", - "integrity": "sha1-FWSFpyljqXD11YIar2Qr7yvy25s=", + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz", - "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "node_modules/jest-haste-map/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "dev": true, - "requires": { - "ms": "^2.1.1" + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha1-rcPPkV3qy1ISyTufNUfNEpWPLt0=", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npm.taobao.org/decimal.js/download/decimal.js-10.2.1.tgz", - "integrity": "sha1-I4rnsPDHk9PjzqQQEIs1osAUJqM=", - "dev": true + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "node_modules/jest-jasmine2/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "node_modules/jest-jasmine2/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz", - "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=", - "dev": true + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "kind-of": "^5.0.2" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/default-resolution/download/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "object-keys": "^1.0.12" + "engines": { + "node": ">=8" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/detect-file/download/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/detect-newline/download/detect-newline-3.1.0.tgz", - "integrity": "sha1-V29d/GOuGhkv8ZLYrTr2MImRtlE=", + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", "dev": true }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz?cache=0&sync_timestamp=1579655107286&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-24.9.0.tgz", - "integrity": "sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU=", - "dev": true + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz", - "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", + "node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha1-dxfPEYuSI48uumUFTIoMnGU6ka8=", "dev": true, - "requires": { - "path-type": "^4.0.0" + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-leak-detector/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz", - "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "doctrine": { + "node_modules/jest-leak-detector/node_modules/@types/istanbul-reports": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "esutils": "^2.0.2" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/domexception/download/domexception-2.0.1.tgz", - "integrity": "sha1-+0Su+6eT4VdLCvau0oAdBXUp8wQ=", + "node_modules/jest-leak-detector/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-5.0.0.tgz", - "integrity": "sha1-rlnIoAsSFUOirMZcBDT1ew/BGv8=", - "dev": true - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/jest-leak-detector/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "node_modules/jest-leak-detector/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/jest-leak-detector/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" + "engines": { + "node": ">=8" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "engines": { + "node": ">= 10.14.2" } }, - "ecstatic": { - "version": "3.3.2", - "resolved": "https://registry.npm.taobao.org/ecstatic/download/ecstatic-3.3.2.tgz", - "integrity": "sha1-bR3UmBTQBZRoLGUq22YHamnUbEg=", + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", "dev": true, - "requires": { - "he": "^1.1.1", - "mime": "^1.6.0", - "minimist": "^1.1.0", - "url-join": "^2.0.5" + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "electron-to-chromium": { - "version": "1.3.391", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.391.tgz", - "integrity": "sha1-m37i84eBStfTet2q/kHI9MRJjSQ=", + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", "dev": true }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npm.taobao.org/emittery/download/emittery-0.7.2.tgz", - "integrity": "sha1-JVlZCOE68PVnSrQZOW4vs5TN+oI=", - "dev": true + "node_modules/jest-leak-detector/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha1-jm/W6GPIstMaxkcu6yN7xZXlPno=", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/jest-matcher-utils/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "once": "^1.4.0" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "node_modules/jest-matcher-utils/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "is-arrayish": "^0.2.1" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "node_modules/jest-matcher-utils/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "engines": { + "node": ">=8" } }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567343144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", - "dev": true + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/escodegen/download/escodegen-2.0.0.tgz", - "integrity": "sha1-XjKxKDPoqo+jXhvwvvqJOASEx90=", + "node_modules/jest-matcher-utils/node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha1-SLqZFX3hkjQS7tQdtrbUqpynwLE=", "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "optional": true - } + "engines": { + "node": ">= 10.14.2" } }, - "eslint": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", - "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha1-GqdGi1LDpo19XF/c381eSb0WQ5Q=", + "dev": true, + "dependencies": { "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.1.0", - "eslint-utils": "^2.0.0", - "eslint-visitor-keys": "^1.2.0", - "espree": "^7.1.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "engines": { + "node": ">= 10.14.2" } }, - "eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - }, - "dependencies": { - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "engines": { + "node": ">= 10.14.2" } }, - "eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha1-WBc3RK1vwFBrXSEVC5vlbvABygc=", "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dev": true, - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.0.0.tgz", - "integrity": "sha1-6HyIh8c+jR7ITxylkWRcNYv8j7k=", + "node_modules/jest-message-util/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "eslint-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-2.0.0.tgz", - "integrity": "sha1-e+HMcPJ6cqds0UqmmLyr7WiQ4c0=", + "node_modules/jest-message-util/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=", - "dev": true + "node_modules/jest-message-util/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "espree": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", - "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.3.0" - }, "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "node_modules/jest-message-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", "dev": true, - "requires": { - "estraverse": "^5.1.0" + "dependencies": { + "fill-range": "^7.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", - "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "estraverse": "^4.1.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1565734335990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-1.0.1.tgz?cache=0&sync_timestamp=1611956983677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festree-walker%2Fdownload%2Festree-walker-1.0.1.tgz", - "integrity": "sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA=", - "dev": true + "node_modules/jest-message-util/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "node_modules/jest-message-util/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz", - "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", - "dev": true + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/exec-sh/download/exec-sh-0.3.6.tgz?cache=0&sync_timestamp=1616788551774&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexec-sh%2Fdownload%2Fexec-sh-0.3.6.tgz", - "integrity": "sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w=", - "dev": true + "node_modules/jest-message-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1576749091315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", - "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", "dev": true }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/expand-tilde/download/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "node_modules/jest-message-util/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "expect": { + "node_modules/jest-mock": { "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/expect/download/expect-26.6.2.tgz?cache=0&sync_timestamp=1616701586390&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-26.6.2.tgz", - "integrity": "sha1-xrmWvya/P+GLZ7LQ9R/JgbqTRBc=", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha1-1stxKwQe1H/g2bb8NHS8ZUP+swI=", "dev": true, - "requires": { + "dependencies": { "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" + "@types/node": "*" }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">= 10.14.2" } }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "type": "^2.0.0" - }, "dependencies": { - "type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", - "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/jest-mock/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "@types/istanbul-lib-report": "*" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "dependencies": { + "@types/yargs-parser": "*" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "node_modules/jest-mock/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/fancy-log/download/fancy-log-1.3.3.tgz", - "integrity": "sha1-28GRVPVYaQFQojlToK29A1vkX8c=", + "node_modules/jest-mock/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "fast-deep-equal": { + "node_modules/jest-mock/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.4.tgz?cache=0&sync_timestamp=1592290365180&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.4.tgz", - "integrity": "sha1-0grvv5lXk4Pn88xmUpFYybmFVNM=", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "node_modules/jest-mock/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "node_modules/jest-mock/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/fastq/download/fastq-1.9.0.tgz?cache=0&sync_timestamp=1603877283000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.9.0.tgz", - "integrity": "sha1-4Wpy8zjqykjpG1wjWTvMLvZreUc=", + "node_modules/jest-mock/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "reusify": "^1.0.4" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.1.tgz", - "integrity": "sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU=", + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha1-twSsCuAoqJEIpNBAs/kZ393I4zw=", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha1-0l5xhLNuOf1GbDvEG+CXHoIf7ig=", "dev": true, - "requires": { - "bser": "2.1.1" + "engines": { + "node": ">= 10.14.2" } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha1-o6sVFyF/RptQTxtWYDxbtUH7tQc=", "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha1-ZoCFnuXSLuXc2WH+SHH1n0x4T7Y=", "dev": true, - "requires": { - "flat-cache": "^2.0.1" + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "find-up": { + "node_modules/jest-resolve-dependencies/node_modules/@types/istanbul-reports": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "locate-path": "^3.0.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, "dependencies": { - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } + "@types/yargs-parser": "*" } }, - "fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "node_modules/jest-resolve-dependencies/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/jest-resolve-dependencies/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/jest-resolve-dependencies/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.3.tgz", - "integrity": "sha1-5VmK1QF0wbxOhyMB6CrCzZf5Amc=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "node_modules/jest-resolve-dependencies/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/for-own/download/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "node_modules/jest-resolve-dependencies/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "for-in": "^1.0.1" + "engines": { + "node": ">=8" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz", - "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "node_modules/jest-resolve-dependencies/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "map-cache": "^0.2.2" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz", - "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "node_modules/jest-resolve/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs-mkdirp-stream/download/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" + "dependencies": { + "@types/yargs-parser": "*" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.9.tgz", - "integrity": "sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=", + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz", - "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true, - "optional": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz", - "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", - "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", + "node_modules/jest-resolve/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "engines": { + "node": ">=8" } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/get-package-type/download/get-package-type-0.1.0.tgz", - "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro=", - "dev": true + "node_modules/jest-resolve/node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jest-resolve/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } }, - "get-stream": { + "node_modules/jest-resolve/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", "dev": true, - "requires": { - "pump": "^3.0.0" + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "node_modules/jest-resolve/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/jest-resolve/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "engines": { + "node": ">=8" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "node_modules/jest-resolve/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" } }, - "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "node_modules/jest-resolve/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", "dev": true, - "requires": { - "is-glob": "^4.0.1" + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, "dependencies": { - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/glob-stream/download/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha1-LR/tPUbhDyM/0dvTv6o/6JJL4Vk=", + "dev": true, "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1569108917227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "glob-watcher": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", - "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "object.defaults": "^1.1.0" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/global-modules/download/global-modules-1.0.0.tgz?cache=0&sync_timestamp=1571657602039&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-modules%2Fdownload%2Fglobal-modules-1.0.0.tgz", - "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "node_modules/jest-runner/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "dependencies": { + "@types/yargs-parser": "*" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-11.0.1.tgz", - "integrity": "sha1-mivxB6Bo8//qvEmtcCx57ejP01c=", + "node_modules/jest-runner/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha1-T2TvvPrDmDMbdLSzyC0n1AG4+is=", + "dev": true, "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz", - "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=", - "dev": true - } + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" } }, - "glogg": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/glogg/download/glogg-1.0.2.tgz", - "integrity": "sha1-LX3XAr7aIus7/634gGltpthGMT8=", + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "sparkles": "^1.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz", - "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "node_modules/jest-runtime/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", "dev": true, - "optional": true + "engines": { + "node": ">=8" + } }, - "gulp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", - "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "glob-watcher": "^5.0.3", - "gulp-cli": "^2.2.0", - "undertaker": "^1.2.1", - "vinyl-fs": "^3.0.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "gulp-cli": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", - "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", - "dev": true, - "requires": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.1.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.0.1", - "yargs": "^7.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz?cache=0&sync_timestamp=1583129847322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz?cache=0&sync_timestamp=1583130314354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/gulplog/download/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "node_modules/jest-runtime/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", "dev": true, - "requires": { - "glogg": "^1.0.0" + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz", - "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", + "node_modules/jest-runtime/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "node_modules/jest-runtime/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1616485145787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", - "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "node_modules/jest-runtime/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "dev": true, - "requires": { - "function-bind": "^1.1.1" + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/jest-runtime/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", - "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", - "dev": true + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/jest-runtime/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "engines": { + "node": ">=8" } }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "node_modules/jest-runtime/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true - }, - "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz", - "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=", - "dev": true + "node_modules/jest-runtime/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", - "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "node_modules/jest-runtime/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", "dev": true, - "requires": { - "parse-passwd": "^1.0.0" + "engines": { + "node": ">=8" } }, - "hosted-git-info": { - "version": "2.8.4", - "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.4.tgz", - "integrity": "sha1-RBGauvS8ZGkqFqzjRwD+2cA+JUY=", + "node_modules/jest-runtime/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", "dev": true }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha1-QqbcT9M/ACgRduiyN1nKTk+hhfM=", + "node_modules/jest-runtime/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz?cache=0&sync_timestamp=1613643585723&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-escaper%2Fdownload%2Fhtml-escaper-2.0.2.tgz", - "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", - "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "node_modules/jest-runtime/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "http-server": { - "version": "0.12.3", - "resolved": "https://registry.npm.taobao.org/http-server/download/http-server-0.12.3.tgz", - "integrity": "sha1-ugRx0OzEJYhmFss1xPryeRQKDTc=", + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg=", "dev": true, - "requires": { - "basic-auth": "^1.0.3", - "colors": "^1.4.0", - "corser": "^2.0.1", - "ecstatic": "^3.3.2", - "http-proxy": "^1.18.0", - "minimist": "^1.2.5", - "opener": "^1.5.1", - "portfinder": "^1.0.25", - "secure-compare": "3.0.1", - "union": "~0.5.0" + "engines": { + "node": ">=8" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1582588506861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz", - "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", + "node_modules/jest-runtime/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1579333981154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "node_modules/jest-runtime/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/jest-runtime/node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", "dev": true }, - "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "node_modules/jest-runtime/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-3.0.2.tgz", - "integrity": "sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY=", + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha1-0Tmq/UaVfTpEjzps2r4pGboHQtE=", "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "node_modules/jest-serializer/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha1-87CvGssiMxaFC9FOG+6pg3+znIQ=", "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz", - "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=", - "dev": true + "node_modules/jest-snapshot/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz", - "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "loose-envify": "^1.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true + "node_modules/jest-snapshot/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "kind-of": "^3.0.2" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha1-SLqZFX3hkjQS7tQdtrbUqpynwLE=", "dev": true, - "requires": { - "binary-extensions": "^1.0.0" + "engines": { + "node": ">= 10.14.2" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "node_modules/jest-snapshot/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz", - "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=", + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "ci-info": "^2.0.0" + "engines": { + "node": ">=8" } }, - "is-core-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.0.0.tgz?cache=0&sync_timestamp=1603133391687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.0.0.tgz", - "integrity": "sha1-WFMbcK7R23wOjU6xoKLR3dZL0S0=", + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha1-GqdGi1LDpo19XF/c381eSb0WQ5Q=", "dev": true, - "requires": { - "has": "^1.0.3" + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", "dev": true }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.1.1.tgz", - "integrity": "sha1-QSWojkTkUNOE4JBH7eca3C0UQVY=", + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", "dev": true, - "optional": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-2.1.0.tgz", - "integrity": "sha1-fRQK3DiarzARqPKipM+m+q3/sRg=", - "dev": true + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha1-kHU12+TVpstMR6ybkm9q8pV2y8E=", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-module/download/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-negated-glob/download/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", - "dev": true + "node_modules/jest-util/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "is-number": { + "node_modules/jest-util/node_modules/@types/istanbul-reports": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "@types/istanbul-lib-report": "*" } }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "node_modules/jest-util/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "isobject": "^3.0.1" + "dependencies": { + "@types/yargs-parser": "*" } }, - "is-potential-custom-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-potential-custom-element-name/download/is-potential-custom-element-name-1.0.0.tgz", - "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", - "dev": true - }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/is-reference/download/is-reference-1.2.1.tgz", - "integrity": "sha1-iy2sCzcfS8mU/eq6nrVC0DAC0Lc=", + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "@types/estree": "*" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", "dev": true, - "requires": { - "is-unc-path": "^1.0.0" + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.2.tgz", - "integrity": "sha1-oFX2rlcZLK7jKeeoYBGLSXqVDzg=", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "has-symbols": "^1.0.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", - "dev": true + "node_modules/jest-util/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "node_modules/jest-util/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", "dev": true }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz", - "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "optional": true, - "requires": { - "is-docker": "^2.0.0" + "engines": { + "node": ">=8" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "node_modules/jest-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw=", - "dev": true + "node_modules/jest-util/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", + "node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha1-I9OAlxWHFQRnNCkRw9e0rFerIOw=", "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1581458063470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" } }, - "istanbul-lib-report": { + "node_modules/jest-validate/node_modules/@types/istanbul-reports": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha1-dRj+UupE3jcvRgp2tezan/tz2KY=", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@types/istanbul-lib-report": "*" } }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha1-dXQ85tlruG3H7kNSz2Nmoj8LGtk=", + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } + "@types/yargs-parser": "*" } }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-3.0.2.tgz", - "integrity": "sha1-1ZMhDlAAaDdQywn8BkTktuJ/1Ts=", + "node_modules/jest-validate/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "engines": { + "node": ">=8" } }, - "jest": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest/download/jest-26.6.3.tgz", - "integrity": "sha1-QOj9vkjwDfofDOgSHKdLiKyRSO8=", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz", - "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682725186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest-cli/download/jest-cli-26.6.3.tgz", - "integrity": "sha1-QxF8/vJLxM1pGhdKh5alMuE16So=", - "dev": true, - "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz", - "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.1.tgz?cache=0&sync_timestamp=1609798736426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.1.tgz", - "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1616790495164&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz", - "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-26.6.2.tgz?cache=0&sync_timestamp=1615211268885&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-26.6.2.tgz", - "integrity": "sha1-9hmEeeHMZvIvmuHiKsqgtCnAQtA=", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "engines": { + "node": ">=10" }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-4.1.0.tgz?cache=0&sync_timestamp=1606970975645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-4.1.0.tgz", - "integrity": "sha1-TlSRrRVy8vF6d9OIxshXE1sihHo=", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz", - "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz", - "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1605134855909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest-config/download/jest-config-26.6.3.tgz?cache=0&sync_timestamp=1616701589957&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-26.6.3.tgz", - "integrity": "sha1-ZPQURO756wPcUdXFO3XIxx9kU0k=", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npm.taobao.org/jest-diff/download/jest-diff-24.9.0.tgz", - "integrity": "sha1-kxt9DVd4obr3RSy4FuMl43JAVdo=", + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "engines": { + "node": ">=8" } }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-26.0.0.tgz?cache=0&sync_timestamp=1607352761462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-docblock%2Fdownload%2Fjest-docblock-26.0.0.tgz", - "integrity": "sha1-Pi+iCJn8koyxO9D/aL03EaNoibU=", + "node_modules/jest-validate/node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", "dev": true, - "requires": { - "detect-newline": "^3.0.0" + "engines": { + "node": ">= 10.14.2" } }, - "jest-each": { + "node_modules/jest-validate/node_modules/pretty-format": { "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-each/download/jest-each-26.6.2.tgz?cache=0&sync_timestamp=1616701584361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-each%2Fdownload%2Fjest-each-26.6.2.tgz", - "integrity": "sha1-AlJkOKd6Z0AcimOC3+WZmVLBZ8s=", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", "dev": true, - "requires": { + "dependencies": { "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", + "dev": true + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-environment-jsdom": { + "node_modules/jest-watcher": { "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-26.6.2.tgz?cache=0&sync_timestamp=1616701587256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-26.6.2.tgz", - "integrity": "sha1-eNCf6c8BmjVwCbm34fEB0jvR2j4=", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha1-pbaDuPnWjbyx19rjIXLSzKBZKXU=", "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", + "dependencies": { + "@jest/test-result": "^26.6.2", "@jest/types": "^26.6.2", "@types/node": "*", - "jest-mock": "^26.6.2", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", "jest-util": "^26.6.2", - "jsdom": "^16.4.0" + "string-length": "^4.0.1" }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">= 10.14.2" } }, - "jest-environment-node": { + "node_modules/jest-watcher/node_modules/@jest/types": { "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-26.6.2.tgz?cache=0&sync_timestamp=1616701587707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-26.6.2.tgz", - "integrity": "sha1-gk5Mf7SURkY1bxGsdbIpsANfKww=", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-watcher/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-24.9.0.tgz?cache=0&sync_timestamp=1579655144842&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-get-type%2Fdownload%2Fjest-get-type-24.9.0.tgz", - "integrity": "sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4=", + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "jest-haste-map": { + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-26.6.2.tgz?cache=0&sync_timestamp=1616701583207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-26.6.2.tgz", - "integrity": "sha1-3X5g/n3A6fkRoj15xf9/tcLK/qo=", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", + "dependencies": { "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612537044236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz", - "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", - "dev": true, - "optional": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-26.6.3.tgz?cache=0&sync_timestamp=1616701588911&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-26.6.3.tgz", - "integrity": "sha1-rcPPkV3qy1ISyTufNUfNEpWPLt0=", + "node_modules/jest/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest/node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@types/istanbul-lib-report": "*" } }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-26.6.2.tgz?cache=0&sync_timestamp=1616701584570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-leak-detector%2Fdownload%2Fjest-leak-detector-26.6.2.tgz", - "integrity": "sha1-dxfPEYuSI48uumUFTIoMnGU6ka8=", + "node_modules/jest/node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", "dev": true, - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "@types/yargs-parser": "*" } }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-26.6.2.tgz?cache=0&sync_timestamp=1616701585427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-26.6.2.tgz", - "integrity": "sha1-jm/W6GPIstMaxkcu6yN7xZXlPno=", + "node_modules/jest/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-26.6.2.tgz", - "integrity": "sha1-SLqZFX3hkjQS7tQdtrbUqpynwLE=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-diff/download/jest-diff-26.6.2.tgz?cache=0&sync_timestamp=1616701585219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-26.6.2.tgz", - "integrity": "sha1-GqdGi1LDpo19XF/c381eSb0WQ5Q=", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-26.6.2.tgz?cache=0&sync_timestamp=1616701584149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-26.6.2.tgz", - "integrity": "sha1-WBc3RK1vwFBrXSEVC5vlbvABygc=", + "node_modules/jest/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-mock/download/jest-mock-26.6.2.tgz", - "integrity": "sha1-1stxKwQe1H/g2bb8NHS8ZUP+swI=", + "node_modules/jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha1-twSsCuAoqJEIpNBAs/kZ393I4zw=", + "node_modules/jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", "dev": true }, - "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-26.0.0.tgz?cache=0&sync_timestamp=1607352728942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-regex-util%2Fdownload%2Fjest-regex-util-26.0.0.tgz", - "integrity": "sha1-0l5xhLNuOf1GbDvEG+CXHoIf7ig=", + "node_modules/jest/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", "dev": true }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-26.6.2.tgz?cache=0&sync_timestamp=1616701583467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve%2Fdownload%2Fjest-resolve-26.6.2.tgz", - "integrity": "sha1-o6sVFyF/RptQTxtWYDxbtUH7tQc=", + "node_modules/jest/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.2.0.tgz?cache=0&sync_timestamp=1606411622542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.2.0.tgz", - "integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", - "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz", - "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1616514381586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", - "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1609905367026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz", - "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-26.6.3.tgz?cache=0&sync_timestamp=1616701588284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve-dependencies%2Fdownload%2Fjest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha1-ZoCFnuXSLuXc2WH+SHH1n0x4T7Y=", + "node_modules/jest/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/jest/node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", + "dev": true + }, + "node_modules/jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" } }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest-runner/download/jest-runner-26.6.3.tgz?cache=0&sync_timestamp=1616701589442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runner%2Fdownload%2Fjest-runner-26.6.3.tgz", - "integrity": "sha1-LR/tPUbhDyM/0dvTv6o/6JJL4Vk=", + "node_modules/jest/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">=8" } }, - "jest-runtime": { + "node_modules/jest/node_modules/jest-cli": { "version": "26.6.3", - "resolved": "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-26.6.3.tgz?cache=0&sync_timestamp=1616701588589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-26.6.3.tgz", - "integrity": "sha1-T2TvvPrDmDMbdLSzyC0n1AG4+is=", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha1-QxF8/vJLxM1pGhdKh5alMuE16So=", "dev": true, - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", + "dependencies": { + "@jest/core": "^26.6.3", "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", - "glob": "^7.1.3", "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", "jest-util": "^26.6.2", "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", + "prompts": "^2.0.1", "yargs": "^15.4.1" }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz", - "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682725186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522241573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-4.0.0.tgz", - "integrity": "sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz", - "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.1.tgz?cache=0&sync_timestamp=1609798736426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.1.tgz", - "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz?cache=0&sync_timestamp=1616790495164&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-15.4.1.tgz", - "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - } + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" } }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-26.6.2.tgz", - "integrity": "sha1-0Tmq/UaVfTpEjzps2r4pGboHQtE=", + "node_modules/jest/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, "dependencies": { - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - } + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-26.6.2.tgz?cache=0&sync_timestamp=1616701588021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-26.6.2.tgz", - "integrity": "sha1-87CvGssiMxaFC9FOG+6pg3+znIQ=", + "node_modules/jest/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-26.6.2.tgz", - "integrity": "sha1-SLqZFX3hkjQS7tQdtrbUqpynwLE=", - "dev": true - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-diff/download/jest-diff-26.6.2.tgz?cache=0&sync_timestamp=1616701585219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-26.6.2.tgz", - "integrity": "sha1-GqdGi1LDpo19XF/c381eSb0WQ5Q=", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-util/download/jest-util-26.6.2.tgz?cache=0&sync_timestamp=1616701582882&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-util%2Fdownload%2Fjest-util-26.6.2.tgz", - "integrity": "sha1-kHU12+TVpstMR6ybkm9q8pV2y8E=", + "node_modules/jest/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz", - "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } + "engines": { + "node": ">=8" } }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-validate/download/jest-validate-26.6.2.tgz", - "integrity": "sha1-I9OAlxWHFQRnNCkRw9e0rFerIOw=", + "node_modules/jest/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "node_modules/jest/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz", - "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=", - "dev": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz", - "integrity": "sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA=", - "dev": true - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1616701219088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz", - "integrity": "sha1-41wnBfFMt/4v6U+geDRbREEg/JM=", - "dev": true, - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-17.0.2.tgz", - "integrity": "sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-26.6.2.tgz?cache=0&sync_timestamp=1616701587020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-26.6.2.tgz", - "integrity": "sha1-pbaDuPnWjbyx19rjIXLSzKBZKXU=", + "node_modules/jest/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", "dev": true, - "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" + "dependencies": { + "ansi-regex": "^5.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, "dependencies": { - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz", - "integrity": "sha1-vvWlMgMOHYii9abZM/hOlyJu1I4=", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613379043554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz", - "integrity": "sha1-UIsTqjRPpJdiNOdd3cw0klc32CE=", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.13", - "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz", - "integrity": "sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw=", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz", - "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npm.taobao.org/jest-worker/download/jest-worker-26.6.2.tgz?cache=0&sync_timestamp=1616701360211&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-26.6.2.tgz", - "integrity": "sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0=", + "node_modules/jest/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/jest/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=", + "dev": true + }, + "node_modules/jest/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "jquery": { + "node_modules/jquery": { "version": "3.5.1", - "resolved": "https://registry.npm.taobao.org/jquery/download/jquery-3.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.5.1.tgz", "integrity": "sha1-17TQjhv9uGrS8aPQOeoXMEcXq7U=", "dev": true }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, - "requires": { + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsbn": { + "node_modules/jsbn": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "jsdom": { + "node_modules/jsdom": { "version": "16.5.1", - "resolved": "https://registry.npm.taobao.org/jsdom/download/jsdom-16.5.1.tgz?cache=0&sync_timestamp=1615595441175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdom%2Fdownload%2Fjsdom-16.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.5.1.tgz", "integrity": "sha1-TO1rvXt31n+5gOZNnj5vuQD5fdY=", "dev": true, - "requires": { + "dependencies": { "abab": "^2.0.5", "acorn": "^8.0.5", "acorn-globals": "^6.0.0", @@ -11434,167 +14600,267 @@ "ws": "^7.4.4", "xml-name-validator": "^3.0.0" }, - "dependencies": { - "acorn": { - "version": "8.1.0", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-8.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-8.1.0.tgz", - "integrity": "sha1-UjEf1wN64RnLsTQwnpAapGKVs/4=", - "dev": true + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true } } }, - "jsesc": { + "node_modules/jsdom/node_modules/acorn": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha1-UjEf1wN64RnLsTQwnpAapGKVs/4=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", - "dev": true + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } }, - "json-parse-even-better-errors": { + "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", "dev": true }, - "json-schema": { + "node_modules/json-schema": { "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", + "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", "dev": true }, - "json-stable-stringify-without-jsonify": { + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "json-stringify-safe": { + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "json5": { + "node_modules/json5": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.2.tgz?cache=0&sync_timestamp=1584388298930&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.1.2.tgz", "integrity": "sha1-Q+8fCvmDXdYkdRprf6SIdPstYI4=", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "jsonfile": { + "node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsprim": { + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsprim": { "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, - "just-debounce": { + "node_modules/just-debounce": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/just-debounce/download/just-debounce-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/just-debounce/-/just-debounce-1.0.0.tgz", "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", "dev": true }, - "kind-of": { + "node_modules/kind-of": { "version": "6.0.2", "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz", "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "kleur": { + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/kleur/download/kleur-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", "integrity": "sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "last-run": { + "node_modules/last-run": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/last-run/download/last-run-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/last-run/-/last-run-1.1.1.tgz", "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", "dev": true, - "requires": { + "dependencies": { "default-resolution": "^2.0.0", "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "lazystream": { + "node_modules/lazystream": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lazystream/download/lazystream-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, - "requires": { + "dependencies": { "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" } }, - "lcid": { + "node_modules/lcid": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, - "requires": { + "dependencies": { "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "lead": { + "node_modules/lead": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lead/download/lead-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/lead/-/lead-1.0.0.tgz", "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", "dev": true, - "requires": { + "dependencies": { "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" } }, - "leven": { + "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", "integrity": "sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "levenary": { + "node_modules/levenary": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/levenary/-/levenary-1.1.1.tgz", "integrity": "sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c=", "dev": true, - "requires": { + "dependencies": { "leven": "^3.1.0" + }, + "engines": { + "node": ">= 6" } }, - "levn": { + "node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "liftoff": { + "node_modules/liftoff": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", "dev": true, - "requires": { + "dependencies": { "extend": "^3.0.0", "findup-sync": "^3.0.0", "fined": "^1.0.1", @@ -11603,219 +14869,282 @@ "object.map": "^1.0.0", "rechoir": "^0.6.2", "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" } }, - "lines-and-columns": { + "node_modules/lines-and-columns": { "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, - "load-json-file": { + "node_modules/load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", "pinkie-promise": "^2.0.0", "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "locate-path": { + "node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", "dev": true, - "requires": { + "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.15", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1571657272199&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.15.tgz", "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=", "dev": true }, - "loose-envify": { + "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", "dev": true, - "requires": { + "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "lru-cache": { + "node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", "dev": true, - "requires": { + "dependencies": { "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "lunr": { + "node_modules/lunr": { "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/lunr/download/lunr-2.3.8.tgz", + "resolved": "https://registry.npmmirror.com/lunr/-/lunr-2.3.8.tgz", "integrity": "sha1-qLicMfMLWgRLl9LSji2hkba6IHI=", "dev": true }, - "magic-string": { + "node_modules/magic-string": { "version": "0.25.7", - "resolved": "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.7.tgz", "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", "dev": true, - "requires": { + "dependencies": { "sourcemap-codec": "^1.4.4" } }, - "make-dir": { + "node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", "dev": true, - "requires": { + "dependencies": { "semver": "^6.0.0" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "make-error": { + "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz?cache=0&sync_timestamp=1582105630664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-error%2Fdownload%2Fmake-error-1.3.6.tgz", + "resolved": "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz", "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", "dev": true }, - "make-iterator": { + "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "dev": true, - "requires": { + "dependencies": { "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "makeerror": { + "node_modules/makeerror": { "version": "1.0.11", - "resolved": "https://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, - "requires": { + "dependencies": { "tmpl": "1.0.x" } }, - "map-age-cleaner": { + "node_modules/map-age-cleaner": { "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "resolved": "https://registry.npmmirror.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", "dev": true, - "requires": { + "dependencies": { "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" } }, - "map-cache": { + "node_modules/map-cache": { "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "map-visit": { + "node_modules/map-visit": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, - "requires": { + "dependencies": { "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "marked": { + "node_modules/marked": { "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/marked/download/marked-0.8.2.tgz", + "resolved": "https://registry.npmmirror.com/marked/-/marked-0.8.2.tgz", "integrity": "sha1-T6rSjSbt41Gnoaql/sZ5Fchp41U=", - "dev": true + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 8.16.2" + } }, - "matchdep": { + "node_modules/matchdep": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/matchdep/download/matchdep-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/matchdep/-/matchdep-2.0.0.tgz", "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", "dev": true, - "requires": { + "dependencies": { "findup-sync": "^2.0.0", "micromatch": "^3.0.4", "resolve": "^1.4.0", "stack-trace": "0.0.10" }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, "dependencies": { - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/findup-sync/download/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "mem": { + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mem": { "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/mem/-/mem-4.3.0.tgz", "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", "dev": true, - "requires": { + "dependencies": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true - } + "engines": { + "node": ">=6" + } + }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true, + "engines": { + "node": ">=6" } }, - "merge-stream": { + "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", "dev": true }, - "merge2": { + "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", - "dev": true + "dev": true, + "engines": { + "node": ">= 8" + } }, - "micromatch": { + "node_modules/micromatch": { "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", "dev": true, - "requires": { + "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "braces": "^2.3.1", @@ -11829,126 +15158,165 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "mime": { + "node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", - "dev": true + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } }, - "mime-db": { + "node_modules/mime-db": { "version": "1.46.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.46.0.tgz?cache=0&sync_timestamp=1613194744108&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.46.0.tgz", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.46.0.tgz", "integrity": "sha1-Ymd0in95lZTePLyM3pHe80lmHO4=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.29", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.29.tgz?cache=0&sync_timestamp=1613608491741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.29.tgz", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.29.tgz", "integrity": "sha1-HUq3faZLkfX3JInfKSNlY3VLsbI=", "dev": true, - "requires": { + "dependencies": { "mime-db": "1.46.0" + }, + "engines": { + "node": ">= 0.6" } }, - "mimic-fn": { + "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", - "dev": true + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "mixin-deep": { + "node_modules/mixin-deep": { "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", "dev": true, - "requires": { + "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" } }, - "mkdirp": { + "node_modules/mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz?cache=0&sync_timestamp=1579899671093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.1.tgz", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "dev": true, - "requires": { + "dependencies": { "minimist": "0.0.8" }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "bin": { + "mkdirp": "bin/cmd.js" } }, - "ms": { + "node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", "dev": true }, - "mute-stdout": { + "node_modules/mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "mute-stream": { + "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "nan": { + "node_modules/nan": { "version": "2.14.0", - "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz", + "resolved": "https://registry.npmmirror.com/nan/-/nan-2.14.0.tgz", "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=", "dev": true, "optional": true }, - "nanoid": { + "node_modules/nanoid": { "version": "3.1.22", - "resolved": "https://registry.npm.taobao.org/nanoid/download/nanoid-3.1.22.tgz?cache=0&sync_timestamp=1615820310415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-3.1.22.tgz", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.1.22.tgz", "integrity": "sha1-s1+Pt9FRmQqK69WqUBXAPPcm+EQ=", "dev": true, - "optional": true + "optional": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } }, - "nanomatch": { + "node_modules/nanomatch": { "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", + "resolved": "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", "dev": true, - "requires": { + "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", @@ -11960,1004 +15328,1559 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "natural-compare": { + "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "neo-async": { + "node_modules/neo-async": { "version": "2.6.1", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.1.tgz", "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=", "dev": true }, - "next-tick": { + "node_modules/next-tick": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, - "nice-try": { + "node_modules/nice-try": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", "dev": true }, - "node-int64": { + "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, - "node-modules-regexp": { + "node_modules/node-modules-regexp": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node-notifier": { + "node_modules/node-notifier": { "version": "8.0.2", - "resolved": "https://registry.npm.taobao.org/node-notifier/download/node-notifier-8.0.2.tgz", + "resolved": "https://registry.npmmirror.com/node-notifier/-/node-notifier-8.0.2.tgz", "integrity": "sha1-8xZ6OO8NLIqGaoPjGMG6Dv63AsU=", "dev": true, "optional": true, - "requires": { + "dependencies": { "growly": "^1.3.0", "is-wsl": "^2.2.0", "semver": "^7.3.2", "shellwords": "^0.1.1", "uuid": "^8.3.0", "which": "^2.0.2" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "optional": true, "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1605134855909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "optional": true, - "requires": { - "isexe": "^2.0.0" - } - } + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node-releases": { + "node_modules/node-releases": { "version": "1.1.53", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.53.tgz", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-1.1.53.tgz", "integrity": "sha1-LYIb+kme18Xf/F4vKMiOeKCO4/Q=", "dev": true }, - "normalize-package-data": { + "node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", "dev": true, - "requires": { + "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, - "normalize-path": { + "node_modules/normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, - "requires": { + "dependencies": { "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "now-and-later": { + "node_modules/now-and-later": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" } }, - "npm-run-path": { + "node_modules/npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1577053500910&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, - "requires": { + "dependencies": { "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "number-is-nan": { + "node_modules/number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "nwsapi": { + "node_modules/nwsapi": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.0.tgz", "integrity": "sha1-IEh5qePQaP8qVROcLHcngGgaOLc=", "dev": true }, - "oauth-sign": { + "node_modules/oauth-sign": { "version": "0.9.0", - "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "object-copy": { + "node_modules/object-copy": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", + "resolved": "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, - "requires": { + "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object-inspect": { + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804280990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.9.0.tgz", "integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=", - "dev": true + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "object-keys": { + "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "object-visit": { + "node_modules/object-visit": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.assign": { + "node_modules/object.assign": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.entries/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries/node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries/node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/object.defaults/download/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "node_modules/object.entries/node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "node_modules/object.entries/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "requires": { + "dependencies": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "has": "^1.0.3" + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "object.map": { + "node_modules/object.map": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object.map/download/object.map-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/object.map/-/object.map-1.0.1.tgz", "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", "dev": true, - "requires": { + "dependencies": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.pick": { + "node_modules/object.pick": { "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.reduce": { + "node_modules/object.reduce": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object.reduce/download/object.reduce-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/object.reduce/-/object.reduce-1.0.1.tgz", "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", "dev": true, - "requires": { + "dependencies": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "object.values": { + "node_modules/object.values": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", "dev": true, - "requires": { + "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values/node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values/node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values/node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "once": { + "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "onetime": { + "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "requires": { + "dependencies": { "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "open": { + "node_modules/open": { "version": "7.4.2", - "resolved": "https://registry.npm.taobao.org/open/download/open-7.4.2.tgz?cache=0&sync_timestamp=1618549241971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-7.4.2.tgz", + "resolved": "https://registry.npmmirror.com/open/-/open-7.4.2.tgz", "integrity": "sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE=", "dev": true, - "optional": true, - "requires": { + "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "opener": { + "node_modules/opener": { "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz", + "resolved": "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz", "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", - "dev": true + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } }, - "optionator": { + "node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", "dev": true, - "requires": { + "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha1-EFqwNXznKyAqiouUkzZyZXteKpo=", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/patch-package": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "dev": true, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/patch-package/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/patch-package/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "node_modules/patch-package/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, - "requires": { - "readable-stream": "^2.0.1" + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "node_modules/patch-package/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "requires": { - "lcid": "^1.0.0" + "engines": { + "node": ">=8" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/p-each-series/download/p-each-series-2.2.0.tgz", - "integrity": "sha1-EFqwNXznKyAqiouUkzZyZXteKpo=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "node_modules/patch-package/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", - "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", - "dev": true + "node_modules/patch-package/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.2.tgz", - "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "node_modules/patch-package/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { - "p-try": "^2.0.0" + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "p-locate": { + "node_modules/patch-package/node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "requires": { - "p-limit": "^2.0.0" + "engines": { + "node": ">=8" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/patch-package/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "requires": { - "callsites": "^3.0.0" + "engines": { + "node": ">=6" } }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/parse-filepath/download/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "node_modules/patch-package/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "node_modules/patch-package/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, - "requires": { - "error-ex": "^1.2.0" + "engines": { + "node": ">= 10.0.0" } }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/parse-node-version/download/parse-node-version-1.0.1.tgz", - "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", - "dev": true - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-6.0.1.tgz", - "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "node_modules/patch-package/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } }, - "path-dirname": { + "node_modules/path-dirname": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true }, - "path-exists": { + "node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-key": { + "node_modules/path-key": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", "dev": true }, - "path-root": { + "node_modules/path-root": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/path-root/download/path-root-0.1.1.tgz", + "resolved": "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz", "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "dev": true, - "requires": { + "dependencies": { "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "path-root-regex": { + "node_modules/path-root-regex": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/path-root-regex/download/path-root-regex-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-type": { + "node_modules/path-type": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "performance-now": { + "node_modules/performance-now": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "pify": { + "node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "pinkie": { + "node_modules/pinkie": { "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "pinkie-promise": { + "node_modules/pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, - "requires": { + "dependencies": { "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "pirates": { + "node_modules/pirates": { "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.1.tgz", "integrity": "sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c=", "dev": true, - "requires": { + "dependencies": { "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" } }, - "pkg-dir": { + "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", "dev": true, - "requires": { + "dependencies": { "find-up": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true, + "engines": { + "node": ">=8" } }, - "pkg-up": { + "node_modules/pkg-up": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/pkg-up/-/pkg-up-2.0.0.tgz", "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "dev": true, - "requires": { + "dependencies": { "find-up": "^2.1.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" } }, - "portfinder": { + "node_modules/pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/portfinder": { "version": "1.0.28", - "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz", + "resolved": "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.28.tgz", "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", "dev": true, - "requires": { + "dependencies": { "async": "^2.6.2", "debug": "^3.1.1", "mkdirp": "^0.5.5" }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "posix-character-classes": { + "node_modules/posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "prelude-ls": { + "node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "pretty-format": { + "node_modules/pretty-format": { "version": "24.9.0", - "resolved": "https://registry.npm.taobao.org/pretty-format/download/pretty-format-24.9.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-24.9.0.tgz", "integrity": "sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k=", "dev": true, - "requires": { + "dependencies": { "@jest/types": "^24.9.0", "ansi-regex": "^4.0.0", "ansi-styles": "^3.2.0", "react-is": "^16.8.4" }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - } + "engines": { + "node": ">= 6" } }, - "pretty-hrtime": { + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/pretty-hrtime/download/pretty-hrtime-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "private": { + "node_modules/private": { "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz", + "resolved": "https://registry.npmmirror.com/private/-/private-0.1.8.tgz", "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "process-nextick-args": { + "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "progress": { + "node_modules/progress": { "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "prompts": { + "node_modules/prompts": { "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/prompts/download/prompts-2.4.0.tgz?cache=0&sync_timestamp=1603716773317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprompts%2Fdownload%2Fprompts-2.4.0.tgz", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.0.tgz", "integrity": "sha1-SqXeByOiMdHukSHED99mPfc/Ydc=", "dev": true, - "requires": { + "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "psl": { + "node_modules/psl": { "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.8.0.tgz", "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", "dev": true }, - "pump": { + "node_modules/pump": { "version": "3.0.0", "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", "dev": true, - "requires": { + "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" - }, + } + }, + "node_modules/pump/node_modules/end-of-stream": { + "version": "1.4.1", + "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", + "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", + "dev": true, "dependencies": { - "end-of-stream": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", - "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", - "dev": true, - "requires": { - "once": "^1.4.0" - } - } + "once": "^1.4.0" } }, - "pumpify": { + "node_modules/pumpify": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, - "requires": { + "dependencies": { "duplexify": "^3.6.0", "inherits": "^2.0.3", "pump": "^2.0.0" - }, + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "punycode": { + "node_modules/punycode": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz", "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "qs": { + "node_modules/qs": { "version": "6.10.1", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.10.1.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.10.1.tgz", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.1.tgz", "integrity": "sha1-STFIL6jWR6Wqt5nFJx0hM7mB+2o=", "dev": true, - "requires": { + "dependencies": { "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.1.0" } }, - "react-is": { + "node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", "integrity": "sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=", "dev": true }, - "read-pkg": { + "node_modules/read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, - "requires": { + "dependencies": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "read-pkg-up": { + "node_modules/read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, - "requires": { + "dependencies": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -12965,185 +16888,227 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, + } + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "safe-buffer": "~5.1.0" } }, - "readdirp": { + "node_modules/readdirp": { "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1575629866543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, - "requires": { + "dependencies": { "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" } }, - "regenerate": { + "node_modules/regenerate": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.0.tgz", "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=", "dev": true }, - "regenerate-unicode-properties": { + "node_modules/regenerate-unicode-properties": { "version": "8.2.0", - "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" } }, - "regenerator-runtime": { + "node_modules/regenerator-runtime": { "version": "0.13.5", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&sync_timestamp=1584052481783&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=", "dev": true }, - "regenerator-transform": { + "node_modules/regenerator-transform": { "version": "0.14.4", - "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.4.tgz", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz", "integrity": "sha1-UmaFeJZRjRYWp4oEeTN6MOqXTMc=", "dev": true, - "requires": { + "dependencies": { "@babel/runtime": "^7.8.4", "private": "^0.1.8" } }, - "regex-not": { + "node_modules/regex-not": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "regexpp": { + "node_modules/regexpp": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } }, - "regexpu-core": { + "node_modules/regexpu-core": { "version": "4.7.0", - "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.0.tgz", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-4.7.0.tgz", "integrity": "sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg=", "dev": true, - "requires": { + "dependencies": { "regenerate": "^1.4.0", "regenerate-unicode-properties": "^8.2.0", "regjsgen": "^0.5.1", "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" } }, - "regjsgen": { + "node_modules/regjsgen": { "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.1.tgz", + "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.5.1.tgz", "integrity": "sha1-SPC/Gl6iBRlpKcDZeYtC0e2YRDw=", "dev": true }, - "regjsparser": { + "node_modules/regjsparser": { "version": "0.6.4", - "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.6.4.tgz", "integrity": "sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=", "dev": true, - "requires": { + "dependencies": { "jsesc": "~0.5.0" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" } }, - "remove-bom-buffer": { + "node_modules/remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", "dev": true, - "requires": { + "dependencies": { "is-buffer": "^1.1.5", "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "remove-bom-stream": { + "node_modules/remove-bom-stream": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/remove-bom-stream/download/remove-bom-stream-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", "dev": true, - "requires": { + "dependencies": { "remove-bom-buffer": "^3.0.0", "safe-buffer": "^5.1.0", "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" } }, - "remove-trailing-separator": { + "node_modules/remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, - "repeat-element": { + "node_modules/repeat-element": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.3.tgz", "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "repeat-string": { + "node_modules/repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "resolved": "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10" + } }, - "replace-ext": { + "node_modules/replace-ext": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/replace-ext/-/replace-ext-1.0.0.tgz", "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "replace-homedir": { + "node_modules/replace-homedir": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/replace-homedir/download/replace-homedir-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/replace-homedir/-/replace-homedir-1.0.0.tgz", "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", "dev": true, - "requires": { + "dependencies": { "homedir-polyfill": "^1.0.1", "is-absolute": "^1.0.0", "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" } }, - "request": { + "node_modules/request": { "version": "2.88.2", - "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", + "resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz", "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { + "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", @@ -13165,451 +17130,597 @@ "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460052228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "dev": true - } + "engines": { + "node": ">= 6" } }, - "request-promise-core": { + "node_modules/request-promise-core": { "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz", + "resolved": "https://registry.npmmirror.com/request-promise-core/-/request-promise-core-1.1.4.tgz", "integrity": "sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8=", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.17.19" }, - "dependencies": { - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - } + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" } }, - "request-promise-native": { + "node_modules/request-promise-core/node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", + "dev": true + }, + "node_modules/request-promise-native": { "version": "1.0.9", - "resolved": "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.9.tgz", + "resolved": "https://registry.npmmirror.com/request-promise-native/-/request-promise-native-1.0.9.tgz", "integrity": "sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg=", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { + "dependencies": { "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", + "dev": true, + "bin": { + "uuid": "bin/uuid" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { + "node_modules/require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "resolve": { + "node_modules/resolve": { "version": "1.14.2", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.14.2.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.14.2.tgz", "integrity": "sha1-2/MdD6mLHymqUWl4O5wpDLhl/qI=", "dev": true, - "requires": { + "dependencies": { "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-cwd": { + "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha1-DwB18bslRHZs9zumpuKt/ryxPy0=", "dev": true, - "requires": { + "dependencies": { "resolve-from": "^5.0.0" }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", - "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", - "dev": true - } + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true, + "engines": { + "node": ">=8" } }, - "resolve-dir": { + "node_modules/resolve-dir": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/resolve-dir/download/resolve-dir-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, - "requires": { + "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "resolve-from": { + "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "resolve-options": { + "node_modules/resolve-options": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/resolve-options/download/resolve-options-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-options/-/resolve-options-1.1.0.tgz", "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", "dev": true, - "requires": { + "dependencies": { "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "resolve-url": { + "node_modules/resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, - "restore-cursor": { + "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, - "requires": { + "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" } }, - "ret": { + "node_modules/ret": { "version": "0.1.15", - "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "resolved": "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz", "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12" + } }, - "reusify": { + "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", - "dev": true + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "rollup": { + "node_modules/rollup": { "version": "2.26.6", - "resolved": "https://registry.npm.taobao.org/rollup/download/rollup-2.26.6.tgz", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.26.6.tgz", "integrity": "sha1-C0YMHaIkxq8SoelIooxROqEfK5M=", "dev": true, - "requires": { - "fsevents": "~2.1.2" + "bin": { + "rollup": "dist/bin/rollup" }, - "dependencies": { - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1612537044236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz", - "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", - "dev": true, - "optional": true - } + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" } }, - "rollup-plugin-progress": { + "node_modules/rollup-plugin-progress": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/rollup-plugin-progress/download/rollup-plugin-progress-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/rollup-plugin-progress/-/rollup-plugin-progress-1.1.2.tgz", "integrity": "sha1-XB3+fFD2VJBrw00WfVUS7hpLctU=", "dev": true, - "requires": { + "dependencies": { "chalk": "^2.4.2" } }, - "rollup-plugin-terser": { + "node_modules/rollup-plugin-terser": { "version": "7.0.2", - "resolved": "https://registry.npm.taobao.org/rollup-plugin-terser/download/rollup-plugin-terser-7.0.2.tgz", + "resolved": "https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha1-6Pu6SGmYGy3DWufopQLVxsBNMk0=", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", "serialize-javascript": "^4.0.0", "terser": "^5.0.0" }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz", - "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz?cache=0&sync_timestamp=1608076995361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.12.11.tgz", - "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", - "dev": true - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz", - "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - } + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/rollup-plugin-terser/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0=", + "dev": true + }, + "node_modules/rollup-plugin-terser/node_modules/@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" } }, - "rollup-plugin-visualizer": { + "node_modules/rollup-plugin-visualizer": { "version": "4.2.2", - "resolved": "https://registry.nlark.com/rollup-plugin-visualizer/download/rollup-plugin-visualizer-4.2.2.tgz", + "resolved": "https://registry.npmmirror.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-4.2.2.tgz", "integrity": "sha1-7euLP8b0mzyV9sxmj066V8YRIJk=", "dev": true, "optional": true, - "requires": { + "dependencies": { "nanoid": "^3.1.22", "open": "^7.4.2", "source-map": "^0.7.3", "yargs": "^16.2.0" }, + "bin": { + "rollup-plugin-visualizer": "bin/cli.js" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "rollup": ">=1.20.0" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "optional": true, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true, - "optional": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz", - "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dev": true, - "optional": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true, - "optional": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682725186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true, - "optional": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", - "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", - "dev": true, - "optional": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz", - "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", - "dev": true, - "optional": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-7.0.0.tgz", - "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz", - "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dev": true, - "optional": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz", - "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", - "dev": true, - "optional": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true, + "optional": true + }, + "node_modules/rollup-plugin-visualizer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true, + "optional": true + }, + "node_modules/rollup-plugin-visualizer/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "optional": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true, + "optional": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=", + "dev": true, + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, + "optional": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "optional": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "rsvp": { + "node_modules/rsvp": { "version": "4.8.5", - "resolved": "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz", + "resolved": "https://registry.npmmirror.com/rsvp/-/rsvp-4.8.5.tgz", "integrity": "sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ=", - "dev": true + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } }, - "run-async": { + "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, - "run-parallel": { + "node_modules/run-parallel": { "version": "1.1.10", - "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.10.tgz?cache=0&sync_timestamp=1603768238747&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.1.10.tgz", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.1.10.tgz", "integrity": "sha1-YKUbKug2Y2yBN33xbLEHNRvNE+8=", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "rxjs": { + "node_modules/rxjs": { "version": "6.6.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", "dev": true, - "requires": { + "dependencies": { "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", "dev": true }, - "safe-regex": { + "node_modules/safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, - "requires": { + "dependencies": { "ret": "~0.1.10" } }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", "dev": true }, - "sane": { + "node_modules/sane": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/sane/download/sane-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/sane/-/sane-4.1.0.tgz", "integrity": "sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0=", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", "dev": true, - "requires": { + "dependencies": { "@cnakazawa/watch": "^1.0.3", "anymatch": "^2.0.0", "capture-exit": "^2.0.0", @@ -13619,168 +17730,212 @@ "micromatch": "^3.1.4", "minimist": "^1.1.1", "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "saxes": { + "node_modules/saxes": { "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/saxes/download/saxes-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", "integrity": "sha1-7rq5U/o7dgjb6U5drbFciI+maW0=", "dev": true, - "requires": { + "dependencies": { "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" } }, - "secure-compare": { + "node_modules/secure-compare": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/secure-compare/download/secure-compare-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/secure-compare/-/secure-compare-3.0.1.tgz", "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=", "dev": true }, - "semver": { + "node_modules/semver": { "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1581458063470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true + "dev": true, + "bin": { + "semver": "bin/semver" + } }, - "semver-greatest-satisfied-range": { + "node_modules/semver-greatest-satisfied-range": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/semver-greatest-satisfied-range/download/semver-greatest-satisfied-range-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", "dev": true, - "requires": { + "dependencies": { "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" } }, - "serialize-javascript": { + "node_modules/serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599740650381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", "dev": true, - "requires": { + "dependencies": { "randombytes": "^2.1.0" } }, - "set-blocking": { + "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-value": { + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz", "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "shebang-command": { + "node_modules/shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "requires": { + "dependencies": { "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.4", - "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.4.tgz?cache=0&sync_timestamp=1587787210621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshelljs%2Fdownload%2Fshelljs-0.8.4.tgz", + "resolved": "https://registry.npmmirror.com/shelljs/-/shelljs-0.8.4.tgz", "integrity": "sha1-3naE/ut2f4cWsyYHiooAh1iQ48I=", "dev": true, - "requires": { + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "shellwords": { + "node_modules/shellwords": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz", + "resolved": "https://registry.npmmirror.com/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=", "dev": true, "optional": true }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", "dev": true, - "requires": { + "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" }, - "dependencies": { - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz", - "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "signal-exit": { + "node_modules/signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "sisteransi": { + "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha1-E01oEpd1ZDfMBcoBNw06elcQde0=", "dev": true }, - "slash": { + "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "slice-ansi": { + "node_modules/slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "snapdragon": { + "node_modules/snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "resolved": "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", "dev": true, - "requires": { + "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", "define-property": "^0.2.5", @@ -13790,125 +17945,155 @@ "source-map-resolve": "^0.5.0", "use": "^3.1.0" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "snapdragon-node": { + "node_modules/snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", "dev": true, - "requires": { + "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", "snapdragon-util": "^3.0.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "deprecated": "Please upgrade to v1.0.1", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "snapdragon-util": { + "node_modules/snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.2.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "source-map": { + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/source-map": { "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-resolve": { + "node_modules/source-map-resolve": { "version": "0.5.2", "resolved": "http://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.2.tgz", "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "requires": { + "dependencies": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", @@ -13916,101 +18101,110 @@ "urix": "^0.1.0" } }, - "source-map-support": { + "node_modules/source-map-support": { "version": "0.5.19", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719289626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", "dev": true, - "requires": { + "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } } }, - "source-map-url": { + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, - "sourcemap-codec": { + "node_modules/sourcemap-codec": { "version": "1.4.8", - "resolved": "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true }, - "sparkles": { + "node_modules/sparkles": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/sparkles/download/sparkles-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/sparkles/-/sparkles-1.0.1.tgz", "integrity": "sha1-AI22XtzmxQ7sDF4ijhlFBh3QQ3w=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "spdx-correct": { + "node_modules/spdx-correct": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.1.0.tgz", "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=", "dev": true, - "requires": { + "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-exceptions": { + "node_modules/spdx-exceptions": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=", "dev": true }, - "spdx-expression-parse": { + "node_modules/spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", "dev": true, - "requires": { + "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-license-ids": { + "node_modules/spdx-license-ids": { "version": "3.0.5", - "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", "dev": true }, - "spectorjs": { + "node_modules/spectorjs": { "version": "0.9.15", "resolved": "https://registry.npmjs.org/spectorjs/-/spectorjs-0.9.15.tgz", "integrity": "sha512-rrwGNebrgKKe4E+rbKwZbQbOEGjB+nXR4YfIY8hYbMTjPheBNvPt9id3TPqRSlH8NHtSGCwDMjhWghk2+fJ9bw==", "dev": true }, - "split-string": { + "node_modules/split-string": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz", "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", "dev": true, - "requires": { + "dependencies": { "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { + "node_modules/sshpk": { "version": "1.16.1", - "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", "dev": true, - "requires": { + "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", @@ -14020,710 +18214,909 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" } }, - "stack-trace": { + "node_modules/stack-trace": { "version": "0.0.10", - "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz", + "resolved": "https://registry.npmmirror.com/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "stack-utils": { + "node_modules/stack-utils": { "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/stack-utils/download/stack-utils-2.0.3.tgz?cache=0&sync_timestamp=1606350209059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstack-utils%2Fdownload%2Fstack-utils-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha1-zV8DASb/EWt4zLPAJ/4wJxO2Enc=", "dev": true, - "requires": { + "dependencies": { "escape-string-regexp": "^2.0.0" }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz", - "integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=", - "dev": true - } + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=", + "dev": true, + "engines": { + "node": ">=8" } }, - "static-extend": { + "node_modules/static-extend": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, - "requires": { + "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "stats.js": { + "node_modules/stats.js": { "version": "0.17.0", - "resolved": "https://registry.npm.taobao.org/stats.js/download/stats.js-0.17.0.tgz", + "resolved": "https://registry.npmmirror.com/stats.js/-/stats.js-0.17.0.tgz", "integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0=", "dev": true }, - "stealthy-require": { + "node_modules/stealthy-require": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "stream-exhaust": { + "node_modules/stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", "dev": true }, - "stream-shift": { + "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, - "string-length": { + "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/string-length/download/string-length-4.0.2.tgz?cache=0&sync_timestamp=1615963663372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-length%2Fdownload%2Fstring-length-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", "integrity": "sha1-qKjce9XBqCubPIuH4SX2aHG25Xo=", "dev": true, - "requires": { + "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "string-width": { + "node_modules/string-width": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, - "requires": { + "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - } + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "string.prototype.trimend": { + "node_modules/string.prototype.trimend": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", "dev": true, - "requires": { + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "dev": true, + "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1" }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "node_modules/string.prototype.trimstart/node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "requires": { + "dependencies": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "3.0.1", "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "strip-bom": { + "node_modules/strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, - "requires": { + "dependencies": { "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "strip-eof": { + "node_modules/strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "strip-final-newline": { + "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, - "requires": { + "dependencies": { "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "supports-hyperlinks": { + "node_modules/supports-hyperlinks": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/supports-hyperlinks/download/supports-hyperlinks-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", "integrity": "sha1-9mPfJSr183xdSbvX7u+p4Lnlnkc=", "dev": true, - "requires": { + "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "sver-compat": { + "node_modules/sver-compat": { "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/sver-compat/download/sver-compat-1.5.0.tgz", + "resolved": "https://registry.npmmirror.com/sver-compat/-/sver-compat-1.5.0.tgz", "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", "dev": true, - "requires": { + "dependencies": { "es6-iterator": "^2.0.1", "es6-symbol": "^3.1.1" } }, - "symbol-tree": { + "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I=", "dev": true }, - "table": { + "node_modules/table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.10.2", "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "terminal-link": { + "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/terminal-link/download/terminal-link-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha1-FKZKJ6s8Dfkz6lRvulXy0HjtyZQ=", "dev": true, - "requires": { + "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "terser": { + "node_modules/terser": { "version": "5.7.0", - "resolved": "https://registry.nlark.com/terser/download/terser-5.7.0.tgz", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.7.0.tgz", "integrity": "sha1-p2Hu7CBryHtgWrEwKYdurZOK5pM=", "dev": true, - "requires": { + "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.19" }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", - "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", - "dev": true - } + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true, + "engines": { + "node": ">= 8" } }, - "test-exclude": { + "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/test-exclude/download/test-exclude-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha1-BKhphmHYBepvopO2y55jrARO8V4=", "dev": true, - "requires": { + "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "tfig": { + "node_modules/tfig": { "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/tfig/download/tfig-3.1.1.tgz", + "resolved": "https://registry.npmmirror.com/tfig/-/tfig-3.1.1.tgz", "integrity": "sha1-tkxQnH7ZpaazuP01A/ZxbPzBz50=", "dev": true, - "requires": { + "dependencies": { "fs-extra": "^7.0.1", "typescript": "^4.2.3", "yargs": "^13.2.2" + } + }, + "node_modules/tfig/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tfig/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/tfig/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/tfig/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "node_modules/tfig/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tfig/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", - "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", - "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz", - "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz", - "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz", - "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tfig/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/tfig/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tfig/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", + "dev": true + }, + "node_modules/tfig/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/tfig/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "throat": { + "node_modules/throat": { "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/throat/download/throat-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/throat/-/throat-5.0.0.tgz", "integrity": "sha1-xRmSNYA6rRh1SmZ9ZZtecs4Wdks=", "dev": true }, - "through": { + "node_modules/through": { "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "through2": { + "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "requires": { + "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "through2-filter": { + "node_modules/through2-filter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", "dev": true, - "requires": { + "dependencies": { "through2": "~2.0.0", "xtend": "~4.0.0" } }, - "time-stamp": { + "node_modules/time-stamp": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/time-stamp/download/time-stamp-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "tmp": { + "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "requires": { + "dependencies": { "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "tmpl": { + "node_modules/tmpl": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.4.tgz", "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", "dev": true }, - "to-absolute-glob": { + "node_modules/to-absolute-glob": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", "dev": true, - "requires": { + "dependencies": { "is-absolute": "^1.0.0", "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-fast-properties": { + "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "to-object-path": { + "node_modules/to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", + "resolved": "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, - "requires": { + "dependencies": { "kind-of": "^3.0.2" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-regex": { + "node_modules/to-regex": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", "dev": true, - "requires": { + "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, - "requires": { + "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "to-through": { + "node_modules/to-through": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-through/download/to-through-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/to-through/-/to-through-2.0.0.tgz", "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", "dev": true, - "requires": { + "dependencies": { "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" } }, - "tough-cookie": { + "node_modules/tough-cookie": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.0.0.tgz", "integrity": "sha1-2CIjTuyogvmR8PkIgkrSYi3b7OQ=", "dev": true, - "requires": { + "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" } }, - "tr46": { + "node_modules/tr46": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/tr46/download/tr46-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.0.2.tgz", "integrity": "sha1-Ayc1ht7xWVrgj+2zjXczzukdJHk=", "dev": true, - "requires": { + "dependencies": { "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" } }, - "ts-jest": { + "node_modules/ts-jest": { "version": "26.5.4", - "resolved": "https://registry.npm.taobao.org/ts-jest/download/ts-jest-26.5.4.tgz", + "resolved": "https://registry.npmmirror.com/ts-jest/-/ts-jest-26.5.4.tgz", "integrity": "sha1-IH9MEUgSqcbVdG3U0c34mer8loY=", "dev": true, - "requires": { + "dependencies": { "bs-logger": "0.x", "buffer-from": "1.x", "fast-json-stable-stringify": "2.x", @@ -14735,137 +19128,182 @@ "semver": "7.x", "yargs-parser": "20.x" }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "jest": ">=26 <27", + "typescript": ">=3.8 <5.0" + } + }, + "node_modules/ts-jest/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", - "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz", - "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", - "dev": true - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", + "dev": true, + "engines": { + "node": ">=10" } }, - "tsconfig-paths": { + "node_modules/tsconfig-paths": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, - "requires": { + "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", "minimist": "^1.2.0", "strip-bom": "^3.0.0" - }, + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" } }, - "tslib": { + "node_modules/tslib": { "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.10.0.tgz", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.10.0.tgz", "integrity": "sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo=", "dev": true }, - "tsutils": { + "node_modules/tsutils": { "version": "3.17.1", - "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz", + "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.17.1.tgz", "integrity": "sha1-7XGZF/EcoN7lhicrKsSeAVot11k=", "dev": true, - "requires": { + "dependencies": { "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "tunnel-agent": { + "node_modules/tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "tweetnacl": { + "node_modules/tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364203962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", + "resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type": { + "node_modules/type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, - "type-check": { + "node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, - "requires": { + "dependencies": { "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-detect": { + "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "typedarray": { + "node_modules/typedarray": { "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "typedarray-to-buffer": { + "node_modules/typedarray-to-buffer": { "version": "3.1.5", - "resolved": "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz?cache=0&sync_timestamp=1606167099511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypedarray-to-buffer%2Fdownload%2Ftypedarray-to-buffer-3.1.5.tgz", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", "dev": true, - "requires": { + "dependencies": { "is-typedarray": "^1.0.0" } }, - "typedoc": { + "node_modules/typedoc": { "version": "0.17.8", - "resolved": "https://registry.npm.taobao.org/typedoc/download/typedoc-0.17.8.tgz", + "resolved": "https://registry.npmmirror.com/typedoc/-/typedoc-0.17.8.tgz", "integrity": "sha1-lrZ+lFSqeFO/xNyaVciget/VR44=", "dev": true, - "requires": { + "dependencies": { "fs-extra": "^8.1.0", "handlebars": "^4.7.6", "highlight.js": "^10.0.0", @@ -14877,125 +19315,165 @@ "shelljs": "^0.8.4", "typedoc-default-themes": "^0.10.2" }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1591229972229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "highlight.js": { - "version": "10.1.1", - "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-10.1.1.tgz", - "integrity": "sha1-aRohSKjZIr8S5SopRWag2ZO5TFc=", - "dev": true - }, - "marked": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/marked/download/marked-1.0.0.tgz", - "integrity": "sha1-01eEJFoEhx5ZiKSR4ohnNi6UFpM=", - "dev": true - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - }, - "typedoc-default-themes": { - "version": "0.10.2", - "resolved": "https://registry.npm.taobao.org/typedoc-default-themes/download/typedoc-default-themes-0.10.2.tgz", - "integrity": "sha1-dDOAqAr+YsXvksob1KvirFlr5NI=", - "dev": true, - "requires": { - "lunr": "^2.3.8" - } - } + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "typescript": ">=3.8.3" } }, - "typedoc-default-themes": { + "node_modules/typedoc-default-themes": { "version": "0.7.2", - "resolved": "https://registry.npm.taobao.org/typedoc-default-themes/download/typedoc-default-themes-0.7.2.tgz", + "resolved": "https://registry.npmmirror.com/typedoc-default-themes/-/typedoc-default-themes-0.7.2.tgz", "integrity": "sha1-HpiW+SC1jm2gu6nX5kNzjQJAWlo=", "dev": true, - "requires": { + "dependencies": { "backbone": "^1.4.0", "jquery": "^3.4.1", "lunr": "^2.3.8", "underscore": "^1.9.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/typedoc-plugin-external-module-name": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/typedoc-plugin-external-module-name/-/typedoc-plugin-external-module-name-4.0.3.tgz", + "integrity": "sha1-ujhjF9l/e1q+W71nz/RsPFflakI=", + "dev": true, + "dependencies": { + "lodash": "^4.1.2", + "semver": "^7.1.1" + }, + "peerDependencies": { + "typedoc": ">=0.7.0 <0.18.0" + } + }, + "node_modules/typedoc-plugin-external-module-name/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.2.tgz", + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typedoc/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "typedoc-plugin-external-module-name": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/typedoc-plugin-external-module-name/download/typedoc-plugin-external-module-name-4.0.3.tgz", - "integrity": "sha1-ujhjF9l/e1q+W71nz/RsPFflakI=", + "node_modules/typedoc/node_modules/highlight.js": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.1.1.tgz", + "integrity": "sha1-aRohSKjZIr8S5SopRWag2ZO5TFc=", + "deprecated": "Potential vulnerability. Upgrade to @latest", "dev": true, - "requires": { - "lodash": "^4.1.2", - "semver": "^7.1.1" + "engines": { + "node": "*" + } + }, + "node_modules/typedoc/node_modules/marked": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/marked/-/marked-1.0.0.tgz", + "integrity": "sha1-01eEJFoEhx5ZiKSR4ohnNi6UFpM=", + "dev": true, + "bin": { + "marked": "bin/marked" }, + "engines": { + "node": ">= 8.16.2" + } + }, + "node_modules/typedoc/node_modules/typedoc-default-themes": { + "version": "0.10.2", + "resolved": "https://registry.npmmirror.com/typedoc-default-themes/-/typedoc-default-themes-0.10.2.tgz", + "integrity": "sha1-dDOAqAr+YsXvksob1KvirFlr5NI=", + "dev": true, "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz", - "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", - "dev": true - } + "lunr": "^2.3.8" + }, + "engines": { + "node": ">= 8" } }, - "typescript": { + "node_modules/typescript": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==", - "dev": true + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "uglify-js": { + "node_modules/uglify-js": { "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.6.0.tgz", "integrity": "sha1-cEaBNFxTqLIHn7bOwpSwXq0kL/U=", "dev": true, "optional": true, - "requires": { + "dependencies": { "commander": "~2.20.0", "source-map": "~0.6.1" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, - "optional": true - } + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "unc-path-regex": { + "node_modules/unc-path-regex": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "underscore": { + "node_modules/underscore": { "version": "1.10.2", - "resolved": "https://registry.npm.taobao.org/underscore/download/underscore-1.10.2.tgz?cache=0&sync_timestamp=1585603748606&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funderscore%2Fdownload%2Funderscore-1.10.2.tgz", + "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.10.2.tgz", "integrity": "sha1-c9aqNmjzGI5K2w8ZQ70Sz9fvqq8=", "dev": true }, - "undertaker": { + "node_modules/undertaker": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", "dev": true, - "requires": { + "dependencies": { "arr-flatten": "^1.0.1", "arr-map": "^2.0.0", "bach": "^1.0.0", @@ -15005,252 +19483,313 @@ "object.defaults": "^1.0.0", "object.reduce": "^1.0.0", "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "undertaker-registry": { + "node_modules/undertaker-registry": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/undertaker-registry/download/undertaker-registry-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz", "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "unicode-canonical-property-names-ecmascript": { + "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-match-property-ecmascript": { + "node_modules/unicode-match-property-ecmascript": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", "dev": true, - "requires": { + "dependencies": { "unicode-canonical-property-names-ecmascript": "^1.0.4", "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" } }, - "unicode-match-property-value-ecmascript": { + "node_modules/unicode-match-property-value-ecmascript": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "unicode-property-aliases-ecmascript": { + "node_modules/unicode-property-aliases-ecmascript": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945910569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "union": { + "node_modules/union": { "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/union/download/union-0.5.0.tgz", + "resolved": "https://registry.npmmirror.com/union/-/union-0.5.0.tgz", "integrity": "sha1-ssEb6E9gU4U3uEbtuboma6AJAHU=", "dev": true, - "requires": { + "dependencies": { "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "union-value": { + "node_modules/union-value": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz", "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", "dev": true, - "requires": { + "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "unique-stream": { + "node_modules/unique-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", "dev": true, - "requires": { + "dependencies": { "json-stable-stringify-without-jsonify": "^1.0.1", "through2-filter": "^3.0.0" } }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "dev": true + "dev": true, + "engines": { + "node": ">= 4.0.0" + } }, - "unset-value": { + "node_modules/unset-value": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, - "requires": { + "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "upath": { + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/upath": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1567457281208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } }, - "uri-js": { + "node_modules/uri-js": { "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", "dev": true, - "requires": { - "punycode": "^2.1.0" - }, "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true - } + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true, + "engines": { + "node": ">=6" } }, - "urix": { + "node_modules/urix": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, - "url-join": { + "node_modules/url-join": { "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/url-join/download/url-join-2.0.5.tgz", + "resolved": "https://registry.npmmirror.com/url-join/-/url-join-2.0.5.tgz", "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", "dev": true }, - "use": { + "node_modules/use": { "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", + "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz", "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { + "node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-8.3.2.tgz?cache=0&sync_timestamp=1607460052228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-8.3.2.tgz", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", "dev": true, - "optional": true + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } }, - "v8-compile-cache": { + "node_modules/v8-compile-cache": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", "dev": true }, - "v8-to-istanbul": { + "node_modules/v8-to-istanbul": { "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/v8-to-istanbul/download/v8-to-istanbul-7.1.0.tgz", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", "integrity": "sha1-W5XO9FwPgyF+x5+Px+4ci0hq7gc=", "dev": true, - "requires": { + "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", "source-map": "^0.7.3" }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", - "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", - "dev": true - } + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true, + "engines": { + "node": ">= 8" } }, - "v8flags": { + "node_modules/v8flags": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", "dev": true, - "requires": { + "dependencies": { "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", "dev": true, - "requires": { + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "value-or-function": { + "node_modules/value-or-function": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/value-or-function/download/value-or-function-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/value-or-function/-/value-or-function-3.0.0.tgz", "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.10" + } }, - "vconsole": { + "node_modules/vconsole": { "version": "3.3.4", - "resolved": "https://registry.npm.taobao.org/vconsole/download/vconsole-3.3.4.tgz", + "resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.3.4.tgz", "integrity": "sha1-p9rNiIez0+kC6NGEJc2lbDTnf1E=", "dev": true }, - "verror": { + "node_modules/verror": { "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "vinyl-fs": { + "node_modules/vinyl-fs": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", "dev": true, - "requires": { + "dependencies": { "fs-mkdirp-stream": "^1.0.0", "glob-stream": "^6.1.0", "graceful-fs": "^4.0.0", @@ -15269,29 +19808,33 @@ "vinyl": "^2.0.0", "vinyl-sourcemap": "^1.1.0" }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, "dependencies": { - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "vinyl-sourcemap": { + "node_modules/vinyl-sourcemap": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/vinyl-sourcemap/download/vinyl-sourcemap-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", "dev": true, - "requires": { + "dependencies": { "append-buffer": "^1.0.2", "convert-source-map": "^1.5.0", "graceful-fs": "^4.1.6", @@ -15300,188 +19843,248 @@ "remove-bom-buffer": "^3.0.0", "vinyl": "^2.0.0" }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, "dependencies": { - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "w3c-hr-time": { + "node_modules/w3c-hr-time": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha1-ConN9cwVgi35w2BUNnaWPgzDCM0=", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", "dev": true, - "requires": { + "dependencies": { "browser-process-hrtime": "^1.0.0" } }, - "w3c-xmlserializer": { + "node_modules/w3c-xmlserializer": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha1-PnEEoFt1FGzGD1ZDgLf2g6zxAgo=", "dev": true, - "requires": { + "dependencies": { "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "walker": { + "node_modules/walker": { "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "dev": true, - "requires": { + "dependencies": { "makeerror": "1.0.x" } }, - "webidl-conversions": { + "node_modules/webidl-conversions": { "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha1-kRG01+qArNQPUnDWZmIa+ni2lRQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=10.4" + } }, - "whatwg-encoding": { + "node_modules/whatwg-encoding": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA=", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", "dev": true, - "requires": { + "dependencies": { "iconv-lite": "0.4.24" } }, - "whatwg-mimetype": { + "node_modules/whatwg-mimetype": { "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "integrity": "sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78=", "dev": true }, - "whatwg-url": { + "node_modules/whatwg-url": { "version": "8.5.0", - "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-8.5.0.tgz?cache=0&sync_timestamp=1616618441263&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-8.5.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.5.0.tgz", "integrity": "sha1-d1K4Rk/AkD/siaqYRvye/gc1H9M=", "dev": true, - "requires": { + "dependencies": { "lodash": "^4.7.0", "tr46": "^2.0.2", "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" } }, - "which": { + "node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116720213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "which-module": { + "node_modules/which-module": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, - "word-wrap": { + "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "wordwrap": { + "node_modules/wordwrap": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, - "requires": { + "dependencies": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write": { + "node_modules/write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, - "requires": { + "dependencies": { "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" } }, - "write-file-atomic": { + "node_modules/write-file-atomic": { "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", "dev": true, - "requires": { + "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, - "ws": { + "node_modules/ws": { "version": "7.4.4", - "resolved": "https://registry.npm.taobao.org/ws/download/ws-7.4.4.tgz?cache=0&sync_timestamp=1615063662500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.4.4.tgz", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.4.4.tgz", "integrity": "sha1-ODvJdCyyAikskHfOq29gR7F/LVk=", - "dev": true + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, - "xml-name-validator": { + "node_modules/xml-name-validator": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=", "dev": true }, - "xmlchars": { + "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs=", "dev": true }, - "xtend": { + "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4" + } }, - "y18n": { + "node_modules/y18n": { "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, - "yallist": { + "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", "dev": true }, - "yargs": { + "node_modules/yaml": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", + "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { "version": "12.0.5", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz?cache=0&sync_timestamp=1583129847322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.5.tgz", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-12.0.5.tgz", "integrity": "sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM=", "dev": true, - "requires": { + "dependencies": { "cliui": "^4.0.0", "decamelize": "^1.2.0", "find-up": "^3.0.0", @@ -15494,128 +20097,159 @@ "which-module": "^2.0.0", "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^11.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1570188663907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz?cache=0&sync_timestamp=1573943292170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-4.1.0.tgz", - "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz", - "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", - "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz", - "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz?cache=0&sync_timestamp=1583130314354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-11.1.1.tgz", - "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "requires": { + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=", + "dev": true, + "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } diff --git a/package.json b/package.json index c478ad4d296..8b166eb9ca3 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "build-declaration": "gulp build-declarations", "build-api-json": "gulp build-api-json -i index.ts -o ./3d-api-docs/tempJson", "build-api": "npm run build-api-json && gulp build-3d-api -i index.ts -o ./3d-api-docs -j ./3d-api-docs/tempJson", - "test": "gulp test" + "test": "gulp test", + "postinstall": "patch-package --error-on-fail && node scripts/spread-pal.cjs && node scripts/spread-adapter.cjs" }, "repository": { "type": "git", @@ -50,13 +51,16 @@ "typedoc-plugin-external-module-name": "^4.0.3", "typescript": "^4.2.3", "vconsole": "^3.3.0", - "yargs": "^12.0.5" + "yargs": "^12.0.5", + "patch-package": "8.0.0" }, "dependencies": { "@cocos/ammo": "1.1.1", "@cocos/box2d": "1.0.1", "@cocos/cannon": "1.2.3", "@cocos/dragonbones-js": "^1.0.1", - "@cocos/physx": "1.0.2" + "@cocos/physx": "1.0.2", + "@cocos/engine-platforms": "1.0.6", + "@cocos/engine-pal": "1.0.4" } } diff --git a/pal/audio/minigame/player.ts b/pal/audio/minigame/player.ts deleted file mode 100644 index a7ffd3a2f94..00000000000 --- a/pal/audio/minigame/player.ts +++ /dev/null @@ -1,252 +0,0 @@ -import { minigame } from 'pal/minigame'; -import { legacyCC } from '../../../cocos/core/global-exports'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { AudioEvent, AudioState, AudioType } from '../type'; -import { clamp, clamp01 } from '../../../cocos/core'; -import { enqueueOperation, OperationInfo, OperationQueueable } from '../operation-queue'; - -class OneShotAudio { - private _innerAudioContext: InnerAudioContext; - private _onPlayCb?: () => void; - get onPlay () { - return this._onPlayCb; - } - set onPlay (cb) { - if (this._onPlayCb) { - this._innerAudioContext.offPlay(this._onPlayCb); - } - this._onPlayCb = cb; - if (cb) { - this._innerAudioContext.onPlay(cb); - } - } - - private _onEndCb?: () => void; - get onEnd () { - return this._onEndCb; - } - set onEnd (cb) { - if (this._onEndCb) { - this._innerAudioContext.offEnded(this._onEndCb); - } - this._onEndCb = cb; - if (cb) { - this._innerAudioContext.onEnded(cb); - } - } - - private constructor (nativeAudio: InnerAudioContext, volume: number) { - this._innerAudioContext = nativeAudio; - nativeAudio.volume = volume; - } - public play (): void { - this._innerAudioContext.play(); - } - public stop (): void { - this._innerAudioContext.stop(); - } -} - -export class AudioPlayer implements OperationQueueable { - private _innerAudioContext: any; - private _state: AudioState = AudioState.INIT; - - private _onHide?: () => void; - private _onShow?: () => void; - - private _onPlay: () => void; - private _onPause: () => void; - private _onStop: () => void; - private _onSeeked: () => void; - private _onEnded: () => void; - - // NOTE: the implemented interface properties need to be public access - public _eventTarget: EventTarget = new EventTarget(); - public _operationQueue: OperationInfo[] = []; - - constructor (innerAudioContext: any) { - this._innerAudioContext = innerAudioContext; - this._eventTarget = new EventTarget(); - - // event - // TODO: should not call engine API in pal - this._onHide = () => { - if (this._state === AudioState.PLAYING) { - this.pause().then(() => { - this._state = AudioState.INTERRUPTED; - this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onShow = () => { - if (this._state === AudioState.INTERRUPTED) { - this.play().then(() => { - this._eventTarget.emit(AudioEvent.INTERRUPTION_END); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_SHOW, this._onShow); - const eventTarget = this._eventTarget; - this._onPlay = () => { - this._state = AudioState.PLAYING; - eventTarget.emit(AudioEvent.PLAYED); - }; - innerAudioContext.onPlay(this._onPlay); - this._onPause = () => { - this._state = AudioState.PAUSED; - eventTarget.emit(AudioEvent.PAUSED); - }; - innerAudioContext.onPause(this._onPause); - this._onStop = () => { - this._state = AudioState.STOPPED; - eventTarget.emit(AudioEvent.STOPPED); - }; - innerAudioContext.onStop(this._onStop); - this._onSeeked = () => { eventTarget.emit(AudioEvent.SEEKED); }; - innerAudioContext.onSeeked(this._onSeeked); - this._onEnded = () => { - this._state = AudioState.INIT; - eventTarget.emit(AudioEvent.ENDED); - }; - innerAudioContext.onEnded(this._onEnded); - } - destroy () { - if (this._onShow) { - legacyCC.game.off(legacyCC.Game.EVENT_SHOW, this._onShow); - this._onShow = undefined; - } - if (this._onHide) { - legacyCC.game.off(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onHide = undefined; - } - if (this._innerAudioContext) { - ['Play', 'Pause', 'Stop', 'Seeked', 'Ended'].forEach((event) => { - this._offEvent(event); - }); - this._innerAudioContext = null; - } - } - private _offEvent (eventName: string) { - if (this[`_on${eventName}`]) { - this._innerAudioContext[`off${eventName}`](this[`_on${eventName}`]); - this[`_on${eventName}`] = undefined; - } - } - - get src () { - return this._innerAudioContext ? this._innerAudioContext.src : ''; - } - get type (): AudioType { - return AudioType.MINIGAME_AUDIO; - } - static load (url: string): Promise { - return new Promise((resolve) => { - AudioPlayer.loadNative(url).then((innerAudioContext) => { - resolve(new AudioPlayer(innerAudioContext)); - }).catch((e) => {}); - }); - } - static loadNative (url: string): Promise { - return new Promise((resolve, reject) => { - const innerAudioContext = minigame.createInnerAudioContext(); - const timer = setTimeout(() => { - clearEvent(); - resolve(innerAudioContext); - }, 8000); - function clearEvent () { - innerAudioContext.offCanplay(success); - innerAudioContext.offError(fail); - } - function success () { - clearEvent(); - clearTimeout(timer); - resolve(innerAudioContext); - } - function fail (err) { - clearEvent(); - clearTimeout(timer); - console.error('failed to load innerAudioContext'); - reject(new Error(err)); - } - innerAudioContext.onCanplay(success); - innerAudioContext.onError(fail); - innerAudioContext.src = url; - }); - } - static loadOneShotAudio (url: string, volume: number): Promise { - return new Promise((resolve, reject) => { - AudioPlayer.loadNative(url).then((innerAudioContext) => { - // @ts-expect-error AudioPlayer should be a friend class in OneShotAudio - resolve(new OneShotAudio(innerAudioContext, volume)); - }).catch(reject); - }); - } - static readonly maxAudioChannel = 10; - - get state (): AudioState { - return this._state; - } - get loop (): boolean { - return this._innerAudioContext.loop as boolean; - } - set loop (val: boolean) { - this._innerAudioContext.loop = val; - } - get volume (): number { - return this._innerAudioContext.volume as number; - } - set volume (val: number) { - val = clamp01(val); - this._innerAudioContext.volume = val; - } - get duration (): number { - return this._innerAudioContext.duration as number; - } - get currentTime (): number { - return this._innerAudioContext.currentTime as number; - } - - @enqueueOperation - seek (time: number): Promise { - return new Promise((resolve) => { - time = clamp(time, 0, this.duration); - this._eventTarget.once(AudioEvent.SEEKED, resolve); - this._innerAudioContext.seek(time); - }); - } - - @enqueueOperation - play (): Promise { - return new Promise((resolve) => { - this._eventTarget.once(AudioEvent.PLAYED, resolve); - this._innerAudioContext.play(); - }); - } - - @enqueueOperation - pause (): Promise { - return new Promise((resolve) => { - this._eventTarget.once(AudioEvent.PAUSED, resolve); - this._innerAudioContext.pause(); - }); - } - - @enqueueOperation - stop (): Promise { - return new Promise((resolve) => { - this._eventTarget.once(AudioEvent.STOPPED, resolve); - this._innerAudioContext.stop(); - }); - } - - onInterruptionBegin (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN, cb); } - offInterruptionBegin (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN, cb); } - onInterruptionEnd (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_END, cb); } - offInterruptionEnd (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_END, cb); } - onEnded (cb: () => void) { this._eventTarget.on(AudioEvent.ENDED, cb); } - offEnded (cb?: () => void) { this._eventTarget.off(AudioEvent.ENDED, cb); } -} - -// REMOVE_ME -legacyCC.AudioPlayer = AudioPlayer; diff --git a/pal/audio/native/player.ts b/pal/audio/native/player.ts deleted file mode 100644 index 822b3c6283e..00000000000 --- a/pal/audio/native/player.ts +++ /dev/null @@ -1,267 +0,0 @@ -import { system } from 'pal/system'; -import { AudioType, AudioState, AudioEvent } from '../type'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { legacyCC } from '../../../cocos/core/global-exports'; -import { clamp, clamp01 } from '../../../cocos/core'; -import { enqueueOperation, OperationInfo, OperationQueueable } from '../operation-queue'; -import { Platform } from '../../system/enum-type'; - -const urlCount: Record = {}; -const audioEngine = jsb.AudioEngine; -const INVALID_AUDIO_ID = -1; - -export class OneShotAudio { - private _id: number = INVALID_AUDIO_ID; - private _url: string; - private _volume: number; - private _onPlayCb?: () => void; - get onPlay () { - return this._onPlayCb; - } - set onPlay (cb) { - this._onPlayCb = cb; - } - - private _onEndCb?: () => void; - get onEnd () { - return this._onEndCb; - } - set onEnd (cb) { - this._onEndCb = cb; - } - - private constructor (url: string, volume: number) { - this._url = url; - this._volume = volume; - } - public play (): void { - this._id = jsb.AudioEngine.play2d(this._url, false, this._volume); - jsb.AudioEngine.setFinishCallback(this._id, () => { - this.onEnd?.(); - }); - this.onPlay?.(); - } - public stop (): void { - if (this._id === INVALID_AUDIO_ID) { - return; - } - jsb.AudioEngine.stop(this._id); - } -} - -export class AudioPlayer implements OperationQueueable { - private _url: string; - private _id: number = INVALID_AUDIO_ID; - private _state: AudioState = AudioState.INIT; - - private _onHide?: () => void; - private _onShow?: () => void; - - // NOTE: the implemented interface properties need to be public access - public _eventTarget: EventTarget = new EventTarget(); - public _operationQueue: OperationInfo[] = []; - - private _beforePlaying = { - duration: 0, // wrong value before playing - loop: false, - currentTime: 0, - volume: 1, - } - - constructor (url: string) { - this._url = url; - - // event - // TODO: should not call engine API in pal - this._onHide = () => { - if (this._state === AudioState.PLAYING) { - this.pause().then(() => { - this._state = AudioState.INTERRUPTED; - this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onShow = () => { - if (this._state === AudioState.INTERRUPTED) { - this.play().then(() => { - this._eventTarget.emit(AudioEvent.INTERRUPTION_END); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_SHOW, this._onShow); - } - destroy () { - if (this._onShow) { - legacyCC.game.off(legacyCC.Game.EVENT_SHOW, this._onShow); - this._onShow = undefined; - } - if (this._onHide) { - legacyCC.game.off(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onHide = undefined; - } - if (--urlCount[this._url] <= 0) { - audioEngine.uncache(this._url); - } - } - static load (url: string): Promise { - return new Promise((resolve, reject) => { - AudioPlayer.loadNative(url).then((url) => { - resolve(new AudioPlayer(url as string)); - }).catch((err) => reject(err)); - }); - } - static loadNative (url: string): Promise { - return new Promise((resolve, reject) => { - if (system.platform === Platform.WIN32) { - // NOTE: audioEngine.preload() not works well on Win32 platform. - // Especially when there is not audio output device. - resolve(url); - } else { - audioEngine.preload(url, (isSuccess) => { - if (isSuccess) { - resolve(url); - } else { - reject(new Error('load audio failed')); - } - }); - } - }); - } - static loadOneShotAudio (url: string, volume: number): Promise { - return new Promise((resolve, reject) => { - AudioPlayer.loadNative(url).then((url) => { - // @ts-expect-error AudioPlayer should be a friend class in OneShotAudio - resolve(new OneShotAudio(url, volume)); - }).catch(reject); - }); - } - static readonly maxAudioChannel: number = audioEngine.getMaxAudioInstance(); - - private get _isValid (): boolean { - return this._id !== INVALID_AUDIO_ID; - } - - get src () { - return this._url; - } - get type (): AudioType { - return AudioType.NATIVE_AUDIO; - } - get state (): AudioState { - return this._state; - } - get loop (): boolean { - if (!this._isValid) { - return this._beforePlaying.loop; - } - return audioEngine.isLoop(this._id); - } - set loop (val: boolean) { - if (!this._isValid) { - this._beforePlaying.loop = val; - } else { - audioEngine.setLoop(this._id, val); - } - } - get volume (): number { - if (!this._isValid) { - return this._beforePlaying.volume; - } - return audioEngine.getVolume(this._id); - } - set volume (val: number) { - val = clamp01(val); - if (!this._isValid) { - this._beforePlaying.volume = val; - } else { - audioEngine.setVolume(this._id, val); - } - } - get duration (): number { - if (!this._isValid) { - return this._beforePlaying.duration; - } - return audioEngine.getDuration(this._id); - } - get currentTime (): number { - if (!this._isValid) { - return this._beforePlaying.currentTime; - } - return audioEngine.getCurrentTime(this._id); - } - - @enqueueOperation - seek (time: number): Promise { - return new Promise((resolve) => { - time = clamp(time, 0, this.duration); - if (!this._isValid) { - this._beforePlaying.currentTime = time; - return resolve(); - } - audioEngine.setCurrentTime(this._id, time); - return resolve(); - }); - } - - @enqueueOperation - play (): Promise { - return new Promise((resolve) => { - if (this._isValid) { - if (this._state === AudioState.PAUSED) { - audioEngine.resume(this._id); - } else if (this._state === AudioState.PLAYING) { - audioEngine.pause(this._id); - audioEngine.setCurrentTime(this._id, 0); - audioEngine.resume(this._id); - } - } else { - this._id = audioEngine.play2d(this._url, this._beforePlaying.loop, this._beforePlaying.volume); - if (this._isValid) { - if (this._beforePlaying.currentTime !== 0) { - audioEngine.setCurrentTime(this._id, this._beforePlaying.currentTime); - } - audioEngine.setFinishCallback(this._id, () => { - this._id = INVALID_AUDIO_ID; - this._state = AudioState.INIT; - this._eventTarget.emit(AudioEvent.ENDED); - }); - } - } - this._state = AudioState.PLAYING; - resolve(); - }); - } - - @enqueueOperation - pause (): Promise { - return new Promise((resolve) => { - if (this._isValid) { - audioEngine.pause(this._id); - } - this._state = AudioState.PAUSED; - resolve(); - }); - } - - @enqueueOperation - stop (): Promise { - return new Promise((resolve) => { - if (this._isValid) { - audioEngine.stop(this._id); - } - this._state = AudioState.STOPPED; - this._id = INVALID_AUDIO_ID; - resolve(); - }); - } - onInterruptionBegin (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN, cb); } - offInterruptionBegin (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN, cb); } - onInterruptionEnd (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_END, cb); } - offInterruptionEnd (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_END, cb); } - onEnded (cb: () => void) { this._eventTarget.on(AudioEvent.ENDED, cb); } - offEnded (cb?: () => void) { this._eventTarget.off(AudioEvent.ENDED, cb); } -} - -// REMOVE_ME -legacyCC.AudioPlayer = AudioPlayer; diff --git a/pal/audio/operation-queue.ts b/pal/audio/operation-queue.ts deleted file mode 100644 index acf56308fe9..00000000000 --- a/pal/audio/operation-queue.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { EventTarget } from '../../cocos/core'; - -type OperationMethod = (...args: any[]) => Promise; -export interface OperationInfo { - id: number; - func: OperationMethod; - args: any[], - invoking: boolean, -} - -export interface OperationQueueable { - _operationQueue: OperationInfo[]; - _eventTarget: EventTarget; -} - -let operationId = 0; -function _tryCallingRecursively (target: T, opInfo: OperationInfo) { - if (opInfo.invoking) { - return; - } - opInfo.invoking = true; - opInfo.func.call(target, ...opInfo.args).then(() => { - opInfo.invoking = false; - target._operationQueue.shift(); - target._eventTarget.emit(opInfo.id.toString()); - const nextOpInfo: OperationInfo = target._operationQueue[0]; - nextOpInfo && _tryCallingRecursively(target, nextOpInfo); - }).catch((e) => {}); -} - -/** - * This is a method decorator for media player class such as Audio or Video. - * Most of the operations in media player are asynchronous. - * When all these asynchronous operations are called concurrently, they need to be queued. - * - * Note: the decorated class need to implement the interface `OperationQueueable` - * and the decorated method should be declared as `(...args: any[]): Promise`. - * - * When you apply `enqueueOperation` on a method, remember to provide a pure operation implementation. - * It means that, for example, you can't call stop in the implementation of play operation, - * because that would cause the operation deadlock. - */ -export function enqueueOperation (target: T, propertyKey: string, descriptor: TypedPropertyDescriptor): void { - const originalOperation = descriptor.value!; - descriptor.value = function (...args: any[]): Promise { - return new Promise((resolve) => { - const id = operationId++; - const instance = this as OperationQueueable; - // enqueue operation - instance._operationQueue.push({ - id, - func: originalOperation, - args, - invoking: false, - }); - // call resolve when this operation id is finishied - instance._eventTarget.once(id.toString(), resolve); - const opInfo: OperationInfo = instance._operationQueue[0]; - _tryCallingRecursively(instance, opInfo); - }); - }; -} diff --git a/pal/audio/type.ts b/pal/audio/type.ts deleted file mode 100644 index 4a0fa244d58..00000000000 --- a/pal/audio/type.ts +++ /dev/null @@ -1,30 +0,0 @@ -export enum AudioEvent { - PLAYED = 'play', - PAUSED = 'pause', - STOPPED = 'stop', - SEEKED = 'seeked', - ENDED = 'ended', - INTERRUPTION_BEGIN = 'interruptionBegin', - INTERRUPTION_END = 'interruptionEnd', - USER_GESTURE = 'on_gesture', // only web needed -} - -export enum AudioType { - DOM_AUDIO, - WEB_AUDIO, - MINIGAME_AUDIO, - NATIVE_AUDIO, - UNKNOWN_AUDIO, -} - -export interface AudioLoadOptions { - audioLoadMode?: AudioType, -} - -export enum AudioState { - INIT, - PLAYING, - PAUSED, - STOPPED, - INTERRUPTED, -} diff --git a/pal/audio/web/player-dom.ts b/pal/audio/web/player-dom.ts deleted file mode 100644 index f80d7c185b7..00000000000 --- a/pal/audio/web/player-dom.ts +++ /dev/null @@ -1,248 +0,0 @@ -import { system } from 'pal/system'; -import { AudioEvent, AudioState, AudioType } from '../type'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { legacyCC } from '../../../cocos/core/global-exports'; -import { clamp, clamp01 } from '../../../cocos/core'; -import { enqueueOperation, OperationInfo, OperationQueueable } from '../operation-queue'; -import { BrowserType, OS } from '../../system/enum-type'; - -function ensurePlaying (domAudio: HTMLAudioElement): Promise { - return new Promise((resolve) => { - const promise = domAudio.play(); - if (promise === undefined) { // Chrome50/Firefox53 below - return resolve(); - } - promise.then(resolve).catch(() => { - const onGesture = () => { - domAudio.play().catch((e) => {}); - resolve(); - }; - const canvas = document.getElementById('GameCanvas') as HTMLCanvasElement; - canvas?.addEventListener('touchend', onGesture, { once: true }); - canvas?.addEventListener('mousedown', onGesture, { once: true }); - }); - return null; - }); -} - -export class OneShotAudioDOM { - private _domAudio: HTMLAudioElement; - private _onPlayCb?: () => void; - get onPlay () { - return this._onPlayCb; - } - set onPlay (cb) { - this._onPlayCb = cb; - } - - private _onEndCb?: () => void; - get onEnd () { - return this._onEndCb; - } - set onEnd (cb) { - if (this._onEndCb) { - this._domAudio.removeEventListener('ended', this._onEndCb); - } - this._onEndCb = cb; - if (cb) { - this._domAudio.addEventListener('ended', cb); - } - } - - private constructor (nativeAudio: HTMLAudioElement, volume: number) { - this._domAudio = nativeAudio; - nativeAudio.volume = volume; - } - public play (): void { - ensurePlaying(this._domAudio).then(() => { - this.onPlay?.(); - }).catch((e) => {}); - } - public stop (): void { - this._domAudio.pause(); - } -} - -export class AudioPlayerDOM implements OperationQueueable { - private _domAudio: HTMLAudioElement; - private _state: AudioState = AudioState.INIT; - private _onHide?: () => void; - private _onShow?: () => void; - private _onEnded?: () => void; - - // NOTE: the implemented interface properties need to be public access - public _eventTarget: EventTarget = new EventTarget(); - public _operationQueue: OperationInfo[] = []; - - constructor (nativeAudio: HTMLAudioElement) { - this._domAudio = nativeAudio; - - // event - // TODO: should not call engine API in pal - this._onHide = () => { - if (this._state === AudioState.PLAYING) { - this.pause().then(() => { - this._state = AudioState.INTERRUPTED; - this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onShow = () => { - if (this._state === AudioState.INTERRUPTED) { - this.play().then(() => { - this._eventTarget.emit(AudioEvent.INTERRUPTION_END); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_SHOW, this._onShow); - this._onEnded = () => { - this.seek(0).catch((e) => {}); - this._state = AudioState.INIT; - this._eventTarget.emit(AudioEvent.ENDED); - }; - this._domAudio.addEventListener('ended', this._onEnded); - } - - destroy () { - if (this._onShow) { - legacyCC.game.off(legacyCC.Game.EVENT_SHOW, this._onShow); - this._onShow = undefined; - } - if (this._onHide) { - legacyCC.game.off(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onHide = undefined; - } - if (this._onEnded) { - this._domAudio.removeEventListener('ended', this._onEnded); - this._onEnded = undefined; - } - // @ts-expect-error need to release DOM Audio instance - this._domAudio = undefined; - } - static load (url: string): Promise { - return new Promise((resolve) => { - AudioPlayerDOM.loadNative(url).then((domAudio) => { - resolve(new AudioPlayerDOM(domAudio)); - }).catch((e) => {}); - }); - } - static loadNative (url: string): Promise { - return new Promise((resolve, reject) => { - const domAudio = document.createElement('audio'); - const sys = legacyCC.sys; - let loadedEvent = 'canplaythrough'; - if (system.os === OS.IOS) { - // iOS no event that used to parse completed callback - // this time is not complete, can not play - loadedEvent = 'loadedmetadata'; - } else if (system.browserType === BrowserType.FIREFOX) { - loadedEvent = 'canplay'; - } - - const timer = setTimeout(() => { - if (domAudio.readyState === 0) { - failure(); - } else { - success(); - } - }, 8000); - const clearEvent = () => { - clearTimeout(timer); - domAudio.removeEventListener(loadedEvent, success, false); - domAudio.removeEventListener('error', failure, false); - }; - const success = () => { - clearEvent(); - resolve(domAudio); - }; - const failure = () => { - clearEvent(); - const message = `load audio failure - ${url}`; - reject(message); - }; - domAudio.addEventListener(loadedEvent, success, false); - domAudio.addEventListener('error', failure, false); - domAudio.src = url; - }); - } - static loadOneShotAudio (url: string, volume: number): Promise { - return new Promise((resolve, reject) => { - AudioPlayerDOM.loadNative(url).then((domAudio) => { - // @ts-expect-error AudioPlayer should be a friend class in OneShotAudio - const oneShotAudio = new OneShotAudioDOM(domAudio, volume); - resolve(oneShotAudio); - }).catch(reject); - }); - } - - get src (): string { - return this._domAudio ? this._domAudio.src : ''; - } - get type (): AudioType { - return AudioType.DOM_AUDIO; - } - get state (): AudioState { - return this._state; - } - get loop (): boolean { - return this._domAudio.loop; - } - set loop (val: boolean) { - this._domAudio.loop = val; - } - get volume (): number { - return this._domAudio.volume; - } - set volume (val: number) { - val = clamp01(val); - this._domAudio.volume = val; - } - get duration (): number { - return this._domAudio.duration; - } - get currentTime (): number { - return this._domAudio.currentTime; - } - - @enqueueOperation - seek (time: number): Promise { - time = clamp(time, 0, this.duration); - this._domAudio.currentTime = time; - return Promise.resolve(); - } - - @enqueueOperation - play (): Promise { - return new Promise((resolve) => { - ensurePlaying(this._domAudio).then(() => { - this._state = AudioState.PLAYING; - resolve(); - }).catch((e) => {}); - }); - } - - @enqueueOperation - pause (): Promise { - this._domAudio.pause(); - this._state = AudioState.PAUSED; - return Promise.resolve(); - } - - @enqueueOperation - stop (): Promise { - return new Promise((resolve) => { - this._domAudio.pause(); - this._domAudio.currentTime = 0; - this._state = AudioState.STOPPED; - resolve(); - }); - } - - onInterruptionBegin (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN, cb); } - offInterruptionBegin (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN, cb); } - onInterruptionEnd (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_END, cb); } - offInterruptionEnd (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_END, cb); } - onEnded (cb: () => void) { this._eventTarget.on(AudioEvent.ENDED, cb); } - offEnded (cb?: () => void) { this._eventTarget.off(AudioEvent.ENDED, cb); } -} diff --git a/pal/audio/web/player-web.ts b/pal/audio/web/player-web.ts deleted file mode 100644 index 4afdd68be66..00000000000 --- a/pal/audio/web/player-web.ts +++ /dev/null @@ -1,370 +0,0 @@ -import { EDITOR } from 'internal:constants'; -import { AudioEvent, AudioState, AudioType } from '../type'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { legacyCC } from '../../../cocos/core/global-exports'; -import { clamp, clamp01 } from '../../../cocos/core'; -import { enqueueOperation, OperationInfo, OperationQueueable } from '../operation-queue'; - -// NOTE: fix CI -const AudioContextClass = (window.AudioContext || window.webkitAudioContext || window.mozAudioContext); -export class AudioContextAgent { - public static support = !!AudioContextClass; - public _context: AudioContext; - constructor () { - this._context = new (window.AudioContext || window.webkitAudioContext || window.mozAudioContext)(); - } - - get currentTime () { - return this._context.currentTime; - } - - public decodeAudioData (audioData: ArrayBuffer): Promise { - return new Promise((resolve) => { - const promise = this._context.decodeAudioData(audioData, (audioBuffer) => { - resolve(audioBuffer); - }, (err) => { - // TODO: need to reject the error. - console.error('failed to load Web Audio', err); - }); - promise?.catch((e) => {}); // Safari doesn't support the promise based decodeAudioData - }); - } - - public runContext (): Promise { - return new Promise((resolve) => { - const context = this._context; - if (!context.resume) { - return resolve(); - } - if (context.state === 'running') { - return resolve(); - } - context.resume().catch((e) => {}); - // promise rejection cannot be caught, need to check running state again - if (context.state !== 'running') { - const canvas = document.getElementById('GameCanvas') as HTMLCanvasElement; - const onGesture = () => { - context.resume().then(resolve).catch((e) => {}); - }; - canvas?.addEventListener('touchend', onGesture, { once: true }); - canvas?.addEventListener('mousedown', onGesture, { once: true }); - } - return null; - }); - } - - public createBufferSource (audioBuffer?: AudioBuffer, loop?: boolean) { - const sourceBufferNode = this._context.createBufferSource(); - if (audioBuffer !== undefined) { - sourceBufferNode.buffer = audioBuffer; - } - if (loop !== undefined) { - sourceBufferNode.loop = loop; - } - return sourceBufferNode; - } - - public createGain (volume?: number) { - const gainNode = this._context.createGain(); - if (volume !== undefined) { - this.setGainValue(gainNode, volume); - } - return gainNode; - } - - public setGainValue (gain: GainNode, volume: number) { - if (gain.gain.setTargetAtTime) { - try { - gain.gain.setTargetAtTime(volume, this._context.currentTime, 0); - } catch (e) { - // Some unknown browsers may crash if timeConstant is 0 - gain.gain.setTargetAtTime(volume, this._context.currentTime, 0.01); - } - } else { - gain.gain.value = volume; - } - } - - public connectContext (audioNode: GainNode) { - if (!this._context) { - return; - } - audioNode.connect(this._context.destination); - } -} - -let audioContextAgent: AudioContextAgent | undefined; -if (AudioContextAgent.support) { - audioContextAgent = new AudioContextAgent(); -} - -export class OneShotAudioWeb { - private _duration: number; - private _bufferSourceNode: AudioBufferSourceNode; - private _onPlayCb?: () => void; - get onPlay () { - return this._onPlayCb; - } - set onPlay (cb) { - this._onPlayCb = cb; - } - - private _onEndCb?: () => void; - get onEnd () { - return this._onEndCb; - } - set onEnd (cb) { - this._onEndCb = cb; - } - - private constructor (audioBuffer: AudioBuffer, volume: number) { - this._duration = audioBuffer.duration; - this._bufferSourceNode = audioContextAgent!.createBufferSource(audioBuffer, false); - const gainNode = audioContextAgent!.createGain(volume); - this._bufferSourceNode.connect(gainNode); - audioContextAgent!.connectContext(gainNode); - } - - public play (): void { - if (EDITOR) { - return; - } - // audioContextAgent does exist - audioContextAgent!.runContext().then(() => { - this._bufferSourceNode.start(); - this.onPlay?.(); - window.setTimeout(() => { - this.onEnd?.(); - }, this._duration * 1000); - }).catch((e) => {}); - } - - public stop (): void { - this._bufferSourceNode.stop(); - } -} - -export class AudioPlayerWeb implements OperationQueueable { - private _src: string; - private _audioBuffer: AudioBuffer; - private _sourceNode?: AudioBufferSourceNode; - private _gainNode: GainNode; - private _currentTimer = 0; - private _volume = 1; - private _loop = false; - private _startTime = 0; - private _playTimeOffset = 0; - private _state: AudioState = AudioState.INIT; - - // NOTE: the implemented interface properties need to be public access - public _eventTarget: EventTarget = new EventTarget(); - public _operationQueue: OperationInfo[] = []; - - private _onHide?: () => void; - private _onShow?: () => void; - - constructor (audioBuffer: AudioBuffer, url: string) { - this._audioBuffer = audioBuffer; - this._gainNode = audioContextAgent!.createGain(); - audioContextAgent!.connectContext(this._gainNode); - this._src = url; - // event - // TODO: should not call engine API in pal - this._onHide = () => { - if (this._state === AudioState.PLAYING) { - this.pause().then(() => { - this._state = AudioState.INTERRUPTED; - this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onShow = () => { - if (this._state === AudioState.INTERRUPTED) { - this.play().then(() => { - this._eventTarget.emit(AudioEvent.INTERRUPTION_END); - }).catch((e) => {}); - } - }; - legacyCC.game.on(legacyCC.Game.EVENT_SHOW, this._onShow); - } - destroy () { - if (this._audioBuffer) { - // @ts-expect-error need to release AudioBuffer instance - this._audioBuffer = undefined; - } - if (this._onShow) { - legacyCC.game.off(legacyCC.Game.EVENT_SHOW, this._onShow); - this._onShow = undefined; - } - if (this._onHide) { - legacyCC.game.off(legacyCC.Game.EVENT_HIDE, this._onHide); - this._onHide = undefined; - } - } - static load (url: string): Promise { - return new Promise((resolve) => { - AudioPlayerWeb.loadNative(url).then((audioBuffer) => { - resolve(new AudioPlayerWeb(audioBuffer, url)); - }).catch((e) => {}); - }); - } - static loadNative (url: string): Promise { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - const errInfo = `load audio failed: ${url}, status: `; - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - - xhr.onload = () => { - if (xhr.status === 200 || xhr.status === 0) { - audioContextAgent!.decodeAudioData(xhr.response).then((buffer) => { - resolve(buffer); - }).catch((e) => {}); - } else { - reject(new Error(`${errInfo}${xhr.status}(no response)`)); - } - }; - xhr.onerror = () => { reject(new Error(`${errInfo}${xhr.status}(error)`)); }; - xhr.ontimeout = () => { reject(new Error(`${errInfo}${xhr.status}(time out)`)); }; - xhr.onabort = () => { reject(new Error(`${errInfo}${xhr.status}(abort)`)); }; - - xhr.send(null); - }); - } - static loadOneShotAudio (url: string, volume: number): Promise { - return new Promise((resolve, reject) => { - AudioPlayerWeb.loadNative(url).then((audioBuffer) => { - // @ts-expect-error AudioPlayer should be a friend class in OneShotAudio - const oneShotAudio = new OneShotAudioWeb(audioBuffer, volume); - resolve(oneShotAudio); - }).catch(reject); - }); - } - - get src (): string { - return this._src; - } - get type (): AudioType { - return AudioType.WEB_AUDIO; - } - get state (): AudioState { - return this._state; - } - get loop (): boolean { - return this._loop; - } - set loop (val: boolean) { - this._loop = val; - this._sourceNode && (this._sourceNode.loop = val); - } - get volume (): number { - return this._volume; - } - set volume (val: number) { - val = clamp01(val); - this._volume = val; - audioContextAgent!.setGainValue(this._gainNode, val); - } - get duration (): number { - return this._audioBuffer.duration; - } - get currentTime (): number { - if (this._state !== AudioState.PLAYING) { return this._playTimeOffset; } - return (audioContextAgent!.currentTime - this._startTime + this._playTimeOffset) % this._audioBuffer.duration; - } - - @enqueueOperation - seek (time: number): Promise { - return new Promise((resolve) => { - this._playTimeOffset = clamp(time, 0, this._audioBuffer.duration); - if (this._state === AudioState.PLAYING) { - // one AudioBufferSourceNode can't start twice - // need to create a new one to start from the offset - this._doPlay().then(resolve).catch((e) => {}); - } else { - resolve(); - } - }); - } - - @enqueueOperation - play (): Promise { - if (EDITOR) { - return Promise.resolve(); - } - return this._doPlay(); - } - - // The decorated play() method can't be call in seek() - // so we define this method to ensure that the audio seeking works. - private _doPlay (): Promise { - return new Promise((resolve) => { - audioContextAgent!.runContext().then(() => { - // one AudioBufferSourceNode can't start twice - this._stopSourceNode(); - this._sourceNode = audioContextAgent!.createBufferSource(this._audioBuffer, this.loop); - this._sourceNode.connect(this._gainNode); - this._sourceNode.start(0, this._playTimeOffset); - this._state = AudioState.PLAYING; - this._startTime = audioContextAgent!.currentTime; - - /* still not supported by all platforms * - this._sourceNode.onended = this._onEnded; - /* doing it manually for now */ - const checkEnded = () => { - this._playTimeOffset = 0; - this._startTime = audioContextAgent!.currentTime; - if (this.loop) { - this._currentTimer = window.setTimeout(checkEnded, this._audioBuffer.duration * 1000); - } else { // do ended - this._eventTarget.emit(AudioEvent.ENDED); - this._state = AudioState.INIT; - } - }; - window.clearTimeout(this._currentTimer); - this._currentTimer = window.setTimeout(checkEnded, (this._audioBuffer.duration - this._playTimeOffset) * 1000); - resolve(); - }).catch((e) => {}); - }); - } - - private _stopSourceNode () { - try { - this._sourceNode?.stop(); - } catch (e) { - // sourceNode can't be stopped twice, especially on Safari. - } - } - - @enqueueOperation - pause (): Promise { - if (this._state !== AudioState.PLAYING || !this._sourceNode) { - return Promise.resolve(); - } - this._playTimeOffset = (audioContextAgent!.currentTime - this._startTime + this._playTimeOffset) % this._audioBuffer.duration; - this._state = AudioState.PAUSED; - window.clearTimeout(this._currentTimer); - this._stopSourceNode(); - return Promise.resolve(); - } - - @enqueueOperation - stop (): Promise { - if (!this._sourceNode) { - return Promise.resolve(); - } - this._playTimeOffset = 0; - this._state = AudioState.STOPPED; - window.clearTimeout(this._currentTimer); - this._stopSourceNode(); - return Promise.resolve(); - } - - onInterruptionBegin (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN, cb); } - offInterruptionBegin (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN, cb); } - onInterruptionEnd (cb: () => void) { this._eventTarget.on(AudioEvent.INTERRUPTION_END, cb); } - offInterruptionEnd (cb?: () => void) { this._eventTarget.off(AudioEvent.INTERRUPTION_END, cb); } - onEnded (cb: () => void) { this._eventTarget.on(AudioEvent.ENDED, cb); } - offEnded (cb?: () => void) { this._eventTarget.off(AudioEvent.ENDED, cb); } -} diff --git a/pal/audio/web/player.ts b/pal/audio/web/player.ts deleted file mode 100644 index adafa34ee3e..00000000000 --- a/pal/audio/web/player.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { warnID } from '../../../cocos/core'; -import { AudioLoadOptions, AudioType, AudioState } from '../type'; -import { AudioPlayerDOM, OneShotAudioDOM } from './player-dom'; -import { AudioContextAgent, AudioPlayerWeb, OneShotAudioWeb } from './player-web'; - -type AbstractOneShotAudio = OneShotAudioDOM | OneShotAudioWeb; -type AbstractAudioPlayer = AudioPlayerDOM | AudioPlayerWeb; - -export class OneShotAudio { - private _audio: AbstractOneShotAudio; - get onPlay () { - return this._audio.onPlay; - } - set onPlay (v) { - this._audio.onPlay = v; - } - - get onEnd () { - return this._audio.onEnd; - } - set onEnd (v) { - this._audio.onEnd = v; - } - - private constructor (audio: AbstractOneShotAudio) { - this._audio = audio; - } - public play (): void { - this._audio.play(); - } - public stop (): void { - this._audio.stop(); - } -} - -export class AudioPlayer { - private _player: AbstractAudioPlayer; - constructor (player: AbstractAudioPlayer) { - this._player = player; - } - - static load (url: string, opts?: AudioLoadOptions): Promise { - return new Promise((resolve) => { - if (opts?.audioLoadMode === AudioType.DOM_AUDIO || !AudioContextAgent.support) { - if (!AudioContextAgent.support) { warnID(5201); } - AudioPlayerDOM.load(url).then((domPlayer) => { - resolve(new AudioPlayer(domPlayer)); - }).catch((e) => {}); - } else { - AudioPlayerWeb.load(url).then((webPlayer) => { - resolve(new AudioPlayer(webPlayer)); - }).catch((e) => {}); - } - }); - } - destroy () { - this._player.destroy(); - } - static loadNative (url: string, opts?: AudioLoadOptions): Promise { - if (opts?.audioLoadMode === AudioType.DOM_AUDIO || !AudioContextAgent.support) { - if (!AudioContextAgent.support) { warnID(5201); } - return AudioPlayerDOM.loadNative(url); - } - return AudioPlayerWeb.loadNative(url); - } - static loadOneShotAudio (url: string, volume: number, opts?: AudioLoadOptions): Promise { - return new Promise((resolve, reject) => { - if (opts?.audioLoadMode === AudioType.DOM_AUDIO || !AudioContextAgent.support) { - if (!AudioContextAgent.support) { warnID(5201); } - AudioPlayerDOM.loadOneShotAudio(url, volume).then((oneShotAudioDOM) => { - // @ts-expect-error AudioPlayer should be a friend class in OneShotAudio - resolve(new OneShotAudio(oneShotAudioDOM)); - }).catch(reject); - } else { - AudioPlayerWeb.loadOneShotAudio(url, volume).then((oneShotAudioWeb) => { - // @ts-expect-error AudioPlayer should be a friend class in OneShotAudio - resolve(new OneShotAudio(oneShotAudioWeb)); - }).catch(reject); - } - }); - } - static readonly maxAudioChannel = 24; - - get src (): string { return this._player.src; } - get type (): AudioType { return this._player.type; } - get state (): AudioState { return this._player.state; } - get loop (): boolean { return this._player.loop; } - set loop (val: boolean) { this._player.loop = val; } - get volume (): number { return this._player.volume; } - set volume (val: number) { this._player.volume = val; } - get duration (): number { return this._player.duration; } - get currentTime (): number { return this._player.currentTime; } - seek (time: number): Promise { return this._player.seek(time); } - - play (): Promise { return this._player.play(); } - pause (): Promise { return this._player.pause(); } - stop (): Promise { return this._player.stop(); } - onInterruptionBegin (cb: () => void) { this._player.onInterruptionBegin(cb); } - offInterruptionBegin (cb?: () => void) { this._player.offInterruptionBegin(cb); } - onInterruptionEnd (cb: () => void) { this._player.onInterruptionEnd(cb); } - offInterruptionEnd (cb?: () => void) { this._player.offInterruptionEnd(cb); } - onEnded (cb: () => void) { this._player.onEnded(cb); } - offEnded (cb?: () => void) { this._player.offEnded(cb); } -} diff --git a/pal/input/minigame/accelerometer.ts b/pal/input/minigame/accelerometer.ts deleted file mode 100644 index 180b6b1be1c..00000000000 --- a/pal/input/minigame/accelerometer.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { AccelerometerCallback, AccelerometerInputEvent } from 'pal/input'; -import { minigame, AccelerometerIntervalMode } from 'pal/minigame'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; -import { EventTarget } from '../../../cocos/core/event/event-target'; - -export class AccelerometerInputSource { - public support: boolean; - - private _isStarted = false; - private _accelMode: AccelerometerIntervalMode = 'normal'; - private _eventTarget: EventTarget = new EventTarget(); - private _didAccelerateFunc: (event: AccelerometerData) => void; - - constructor () { - this.support = true; - this._didAccelerateFunc = this._didAccelerate.bind(this); - } - - private _registerEvent () { - minigame.onAccelerometerChange(this._didAccelerateFunc); - } - - private _unregisterEvent () { - minigame.offAccelerometerChange(this._didAccelerateFunc); - } - - private _didAccelerate (event: AccelerometerData) { - const accelerometer: AccelerometerInputEvent = { - type: SystemEventType.DEVICEMOTION, - x: event.x, - y: event.y, - z: event.z, - timestamp: performance.now(), - }; - this._eventTarget.emit(SystemEventType.DEVICEMOTION, accelerometer); - } - - public start () { - this._registerEvent(); - minigame.startAccelerometer({ - interval: this._accelMode, - success: () => { - this._isStarted = true; - }, - }); - } - public stop () { - minigame.stopAccelerometer({ - success: () => { - this._isStarted = false; - }, - fail () { - console.error('failed to stop accelerometer'); - }, - }); - this._unregisterEvent(); - } - public setInterval (intervalInMileseconds: number) { - // reference: https://developers.weixin.qq.com/minigame/dev/api/device/accelerometer/wx.startAccelerometer.html - if (intervalInMileseconds >= 200) { - this._accelMode = 'normal'; - } else if (intervalInMileseconds >= 60) { - this._accelMode = 'ui'; - } else { - this._accelMode = 'game'; - } - if (this._isStarted) { - // restart accelerometer - this.stop(); - this.start(); - } - } - public onChange (cb: AccelerometerCallback) { - this._eventTarget.on(SystemEventType.DEVICEMOTION, cb); - } -} diff --git a/pal/input/minigame/gamepad.ts b/pal/input/minigame/gamepad.ts deleted file mode 100644 index 83dc7bd498c..00000000000 --- a/pal/input/minigame/gamepad.ts +++ /dev/null @@ -1,7 +0,0 @@ -export class GamepadInputSource { - support: boolean; - - constructor () { - this.support = false; - } -} diff --git a/pal/input/minigame/index.ts b/pal/input/minigame/index.ts deleted file mode 100644 index b52ff7dfe73..00000000000 --- a/pal/input/minigame/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { EDITOR } from 'internal:constants'; -import { BaseInputEvent } from 'pal/input'; -import { AccelerometerInputSource } from './accelerometer'; -import { InputBox } from './input-box'; -import { KeyboardInputSource } from './keyboard'; -import { MouseInputSource } from './mouse'; -import { TouchInputSource } from './touch'; - -export class Input { - public _touch = new TouchInputSource(); - public _mouse = new MouseInputSource(); - public _keyboard = new KeyboardInputSource(); - public _accelerometer = new AccelerometerInputSource(); - public _inputBox = new InputBox(); - private _inputEventList: BaseInputEvent[] = []; - - constructor () { - this._registerEvent(); - } - - private _registerEvent () { - // if (EDITOR) { - // return; - // } - // TODO: implement event main loop - // if (this._touch.support) { - // this._touch.onStart(this._pushEvent); - // this._touch.onMove(this._pushEvent); - // this._touch.onEnd(this._pushEvent); - // this._touch.onCancel(this._pushEvent); - // } - - // if (this._mouse.support) { - // this._mouse.onDown(this._pushEvent); - // this._mouse.onMove(this._pushEvent); - // this._mouse.onUp(this._pushEvent); - // this._mouse.onCancel(this._pushEvent); - // this._mouse.onWheel(this._pushEvent); - // } - - // if (this._keyboard.support) { - // this._keyboard.onDown(this._pushEvent); - // this._keyboard.onUp(this._pushEvent); - // } - - // if (this._accelerometer.support) { - // this._accelerometer.onChange(this._pushEvent); - // } - } - - private _pushEvent (inputEvent: BaseInputEvent) { - this._inputEventList.push(inputEvent); - } - - // // accelerometer - // public startAccelerometer (): Promise; - // public stopAccelerometer (): Promise; - // public setAccelerometerInterval (intercal: number): void; - - // // input box - // public showInputBox (): Promise; - // public hideInputBox (): Promise; - // public onInputBoxChange (cb: Function); - // public onInputBoxComplete (cb: Function); - - public pollEvent (): BaseInputEvent | undefined { - return this._inputEventList.shift(); - } -} - -export const input = new Input(); diff --git a/pal/input/minigame/input-box.ts b/pal/input/minigame/input-box.ts deleted file mode 100644 index d843c88e12b..00000000000 --- a/pal/input/minigame/input-box.ts +++ /dev/null @@ -1,26 +0,0 @@ -export class InputBox { - public support: boolean; - - constructor () { - this.support = true; - } - - show (): Promise { - throw new Error('Method not implemented.'); - } - hide (): Promise { - throw new Error('Method not implemented.'); - } - onChange () { - throw new Error('Method not implemented.'); - } - onComplete () { - throw new Error('Method not implemented.'); - } - offChange () { - throw new Error('Method not implemented.'); - } - offComplete () { - throw new Error('Method not implemented.'); - } -} diff --git a/pal/input/minigame/keyboard.ts b/pal/input/minigame/keyboard.ts deleted file mode 100644 index 2807e26b92c..00000000000 --- a/pal/input/minigame/keyboard.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { KeyboardCallback, KeyboardInputEvent } from 'pal/input'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; -import { EventTarget } from '../../../cocos/core/event/event-target'; - -export class KeyboardInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = false; // TODO: pc-wechat - } - - public onDown (cb: KeyboardCallback) { - this._eventTarget.on(SystemEventType.KEY_DOWN, cb); - } - - public onUp (cb: KeyboardCallback) { - this._eventTarget.on(SystemEventType.KEY_UP, cb); - } -} diff --git a/pal/input/minigame/mouse.ts b/pal/input/minigame/mouse.ts deleted file mode 100644 index 56cfec20692..00000000000 --- a/pal/input/minigame/mouse.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { MouseCallback, MouseInputEvent, MouseWheelCallback, MouseWheelInputEvent } from 'pal/input'; -import { EventMouse } from '../../../cocos/core/platform/event-manager/events'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; - -export class MouseInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = false; // TODO: pc-wechat - } - - onDown (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_DOWN, cb); - } - onMove (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_MOVE, cb); - } - onUp (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_UP, cb); - } - onWheel (cb: MouseWheelCallback) { - this._eventTarget.on(SystemEventType.MOUSE_WHEEL, cb); - } -} diff --git a/pal/input/minigame/touch.ts b/pal/input/minigame/touch.ts deleted file mode 100644 index 77e866946b6..00000000000 --- a/pal/input/minigame/touch.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { TouchCallback, TouchData, TouchInputEvent } from 'pal/input'; -import { minigame } from 'pal/minigame'; -import { Vec2 } from '../../../cocos/core/math'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { EventTouch } from '../../../cocos/core/platform/event-manager/events'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; - -export class TouchInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = true; - this._registerEvent(); - } - - private _registerEvent () { - minigame.onTouchStart(this._createCallback(SystemEventType.TOUCH_START)); - minigame.onTouchMove(this._createCallback(SystemEventType.TOUCH_MOVE)); - minigame.onTouchEnd(this._createCallback(SystemEventType.TOUCH_END)); - minigame.onTouchCancel(this._createCallback(SystemEventType.TOUCH_CANCEL)); - } - - private _createCallback (eventType: string) { - return (event: TouchEvent) => { - const sysInfo = minigame.getSystemInfoSync(); - const touchDataList: TouchData[] = []; - const length = event.changedTouches.length; - for (let i = 0; i < length; ++i) { - const touch = event.changedTouches[i]; - const location = this._getLocation(touch); - const touchData: TouchData = { - identifier: touch.identifier, - x: location.x, - y: sysInfo.windowHeight - location.y, - force: touch.force, - }; - touchDataList.push(touchData); - } - const inputEvent: TouchInputEvent = { - type: eventType, - changedTouches: touchDataList, - timestamp: performance.now(), - }; - this._eventTarget.emit(eventType, inputEvent); - }; - } - - private _getLocation (event: Touch): Vec2 { - return new Vec2(event.clientX, event.clientY); - } - - public onStart (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_START, cb); - } - public onMove (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_MOVE, cb); - } - public onEnd (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_END, cb); - } - public onCancel (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_CANCEL, cb); - } -} diff --git a/pal/input/native/accelerometer.ts b/pal/input/native/accelerometer.ts deleted file mode 100644 index 911313b0f53..00000000000 --- a/pal/input/native/accelerometer.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { AccelerometerCallback, AccelerometerInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { Orientation, OS } from '../../system/enum-type'; - -export class AccelerometerInputSource { - public support: boolean; - - private _intervalInSeconds = 0.2; - private _intervalId? :number; - private _isEnabled = false; - private _eventTarget: EventTarget = new EventTarget(); - private _didAccelerateFunc: () => void; - - constructor () { - const support = system.isMobile; - this.support = support; - this._didAccelerateFunc = this._didAccelerate.bind(this); - } - - private _didAccelerate () { - const deviceMotionValue = jsb.device.getDeviceMotionValue(); - let x = deviceMotionValue[3] * 0.1; - let y = deviceMotionValue[4] * 0.1; - const z = deviceMotionValue[5] * 0.1; - - const orientation = system.getOrientation(); - const tmpX = x; - if (orientation === Orientation.LANDSCAPE_RIGHT) { - x = -y; - y = tmpX; - } else if (orientation === Orientation.LANDSCAPE_LEFT) { - x = y; - y = -tmpX; - } else if (orientation === Orientation.PORTRAIT_UPSIDE_DOWN) { - x = -x; - y = -y; - } - - // fix android acc values are opposite - if (system.os === OS.ANDROID) { - x = -x; - y = -y; - } - const accelerometer: AccelerometerInputEvent = { - type: SystemEventType.DEVICEMOTION, - x, - y, - z, - timestamp: performance.now(), - }; - - this._eventTarget.emit(SystemEventType.DEVICEMOTION, accelerometer); - } - - public start () { - if (this._intervalId) { - clearInterval(this._intervalId); - } - this._intervalId = setInterval(this._didAccelerateFunc, this._intervalInSeconds * 1000); - jsb.device.setAccelerometerInterval(this._intervalInSeconds); - jsb.device.setAccelerometerEnabled(true); - this._isEnabled = true; - } - public stop () { - if (this._intervalId) { - clearInterval(this._intervalId); - this._intervalId = undefined; - } - jsb.device.setAccelerometerEnabled(false); - this._isEnabled = false; - } - public setInterval (intervalInMileseconds: number) { - this._intervalInSeconds = intervalInMileseconds / 1000; - jsb.device.setAccelerometerInterval(this._intervalInSeconds); - if (this._isEnabled) { - // restart accelerometer - jsb.device.setAccelerometerEnabled(false); - jsb.device.setAccelerometerEnabled(true); - } - } - public onChange (cb: AccelerometerCallback) { - this._eventTarget.on(SystemEventType.DEVICEMOTION, cb); - } -} diff --git a/pal/input/native/gamepad.ts b/pal/input/native/gamepad.ts deleted file mode 100644 index 83dc7bd498c..00000000000 --- a/pal/input/native/gamepad.ts +++ /dev/null @@ -1,7 +0,0 @@ -export class GamepadInputSource { - support: boolean; - - constructor () { - this.support = false; - } -} diff --git a/pal/input/native/index.ts b/pal/input/native/index.ts deleted file mode 100644 index b52ff7dfe73..00000000000 --- a/pal/input/native/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { EDITOR } from 'internal:constants'; -import { BaseInputEvent } from 'pal/input'; -import { AccelerometerInputSource } from './accelerometer'; -import { InputBox } from './input-box'; -import { KeyboardInputSource } from './keyboard'; -import { MouseInputSource } from './mouse'; -import { TouchInputSource } from './touch'; - -export class Input { - public _touch = new TouchInputSource(); - public _mouse = new MouseInputSource(); - public _keyboard = new KeyboardInputSource(); - public _accelerometer = new AccelerometerInputSource(); - public _inputBox = new InputBox(); - private _inputEventList: BaseInputEvent[] = []; - - constructor () { - this._registerEvent(); - } - - private _registerEvent () { - // if (EDITOR) { - // return; - // } - // TODO: implement event main loop - // if (this._touch.support) { - // this._touch.onStart(this._pushEvent); - // this._touch.onMove(this._pushEvent); - // this._touch.onEnd(this._pushEvent); - // this._touch.onCancel(this._pushEvent); - // } - - // if (this._mouse.support) { - // this._mouse.onDown(this._pushEvent); - // this._mouse.onMove(this._pushEvent); - // this._mouse.onUp(this._pushEvent); - // this._mouse.onCancel(this._pushEvent); - // this._mouse.onWheel(this._pushEvent); - // } - - // if (this._keyboard.support) { - // this._keyboard.onDown(this._pushEvent); - // this._keyboard.onUp(this._pushEvent); - // } - - // if (this._accelerometer.support) { - // this._accelerometer.onChange(this._pushEvent); - // } - } - - private _pushEvent (inputEvent: BaseInputEvent) { - this._inputEventList.push(inputEvent); - } - - // // accelerometer - // public startAccelerometer (): Promise; - // public stopAccelerometer (): Promise; - // public setAccelerometerInterval (intercal: number): void; - - // // input box - // public showInputBox (): Promise; - // public hideInputBox (): Promise; - // public onInputBoxChange (cb: Function); - // public onInputBoxComplete (cb: Function); - - public pollEvent (): BaseInputEvent | undefined { - return this._inputEventList.shift(); - } -} - -export const input = new Input(); diff --git a/pal/input/native/input-box.ts b/pal/input/native/input-box.ts deleted file mode 100644 index d843c88e12b..00000000000 --- a/pal/input/native/input-box.ts +++ /dev/null @@ -1,26 +0,0 @@ -export class InputBox { - public support: boolean; - - constructor () { - this.support = true; - } - - show (): Promise { - throw new Error('Method not implemented.'); - } - hide (): Promise { - throw new Error('Method not implemented.'); - } - onChange () { - throw new Error('Method not implemented.'); - } - onComplete () { - throw new Error('Method not implemented.'); - } - offChange () { - throw new Error('Method not implemented.'); - } - offComplete () { - throw new Error('Method not implemented.'); - } -} diff --git a/pal/input/native/keyboard.ts b/pal/input/native/keyboard.ts deleted file mode 100644 index e8070f043f2..00000000000 --- a/pal/input/native/keyboard.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { KeyboardCallback, KeyboardInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; -import { EventTarget } from '../../../cocos/core/event/event-target'; - -export class KeyboardInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = !system.isMobile; - this._registerEvent(); - } - - private _registerEvent () { - jsb.onKeyDown = this._createCallback(SystemEventType.KEY_DOWN); - jsb.onKeyUp = this._createCallback(SystemEventType.KEY_UP); - } - - private _createCallback (eventType: string) { - return (event: jsb.KeyboardEvent) => { - const inputEvent: KeyboardInputEvent = { - type: eventType, - code: event.keyCode, - timestamp: performance.now(), - }; - this._eventTarget.emit(eventType, inputEvent); - }; - } - - public onDown (cb: KeyboardCallback) { - this._eventTarget.on(SystemEventType.KEY_DOWN, cb); - } - - public onUp (cb: KeyboardCallback) { - this._eventTarget.on(SystemEventType.KEY_UP, cb); - } -} diff --git a/pal/input/native/mouse.ts b/pal/input/native/mouse.ts deleted file mode 100644 index 7946a408689..00000000000 --- a/pal/input/native/mouse.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { MouseCallback, MouseInputEvent, MouseWheelCallback, MouseWheelInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { EventMouse } from '../../../cocos/core/platform/event-manager/events'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { Vec2 } from '../../../cocos/core/math'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; - -export class MouseInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = !system.isMobile; - this._registerEvent(); - } - - private _getLocation (event: jsb.MouseEvent): Vec2 { - return new Vec2(event.x, event.y); - } - - private _registerEvent () { - jsb.onMouseDown = this._createCallback(SystemEventType.MOUSE_DOWN); - jsb.onMouseMove = this._createCallback(SystemEventType.MOUSE_MOVE); - jsb.onMouseUp = this._createCallback(SystemEventType.MOUSE_UP); - jsb.onMouseWheel = (event: jsb.MouseWheelEvent) => { - const location = this._getLocation(event); - const viewSize = system.getViewSize(); - const matchStandardFactor = 120; - const inputEvent: MouseWheelInputEvent = { - type: SystemEventType.MOUSE_WHEEL, - x: location.x, - y: viewSize.height - location.y, - button: event.button, - deltaX: event.wheelDeltaX * matchStandardFactor, // scale up to match the web interface - deltaY: event.wheelDeltaY * matchStandardFactor, - timestamp: performance.now(), - }; - this._eventTarget.emit(SystemEventType.MOUSE_WHEEL, inputEvent); - }; - } - - private _createCallback (eventType: string) { - return (event: jsb.MouseEvent) => { - const location = this._getLocation(event); - const viewSize = system.getViewSize(); - const inputEvent: MouseInputEvent = { - type: eventType, - x: location.x, - y: viewSize.height - location.y, - button: event.button, - timestamp: performance.now(), - }; - // emit web mouse event - this._eventTarget.emit(eventType, inputEvent); - }; - } - - onDown (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_DOWN, cb); - } - onMove (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_MOVE, cb); - } - onUp (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_UP, cb); - } - onWheel (cb: MouseWheelCallback) { - this._eventTarget.on(SystemEventType.MOUSE_WHEEL, cb); - } -} diff --git a/pal/input/native/touch.ts b/pal/input/native/touch.ts deleted file mode 100644 index 1761c131665..00000000000 --- a/pal/input/native/touch.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { TouchCallback, TouchData, TouchInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { Rect, Vec2 } from '../../../cocos/core/math'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { EventTouch } from '../../../cocos/core/platform/event-manager/events'; -import { legacyCC } from '../../../cocos/core/global-exports'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; - -export class TouchInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = true; - this._registerEvent(); - } - - private _registerEvent () { - jsb.onTouchStart = this._createCallback(SystemEventType.TOUCH_START); - jsb.onTouchMove = this._createCallback(SystemEventType.TOUCH_MOVE); - jsb.onTouchEnd = this._createCallback(SystemEventType.TOUCH_END); - jsb.onTouchCancel = this._createCallback(SystemEventType.TOUCH_CANCEL); - } - - private _createCallback (eventType: string) { - return (touchList: TouchList) => { - const touchDataList: TouchData[] = []; - const length = touchList.length; - const viewSize = system.getViewSize(); - for (let i = 0; i < length; ++i) { - const touch = touchList[i]; - const location = this._getLocation(touch); - const x = location.x; - const y = viewSize.height - location.y; - const touchData: TouchData = { - identifier: touch.identifier, - x, - y, - force: touch.force, - }; - touchDataList.push(touchData); - } - const inputEvent: TouchInputEvent = { - type: eventType, - changedTouches: touchDataList, - timestamp: performance.now(), - }; - this._eventTarget.emit(eventType, inputEvent); - }; - } - - private _getLocation (event: Touch): Vec2 { - return new Vec2(event.clientX, event.clientY); - } - - public onStart (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_START, cb); - } - public onMove (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_MOVE, cb); - } - public onEnd (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_END, cb); - } - public onCancel (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_CANCEL, cb); - } -} diff --git a/pal/input/web/accelerometer.ts b/pal/input/web/accelerometer.ts deleted file mode 100644 index ce8499fa39b..00000000000 --- a/pal/input/web/accelerometer.ts +++ /dev/null @@ -1,118 +0,0 @@ -import { AccelerometerCallback, AccelerometerInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { BrowserType, OS } from '../../system/enum-type'; -import { legacyCC } from '../../../cocos/core/global-exports'; - -export class AccelerometerInputSource { - public support: boolean; - - private _intervalInMileseconds = 200; - private _accelTimer = 0; - private _eventTarget: EventTarget = new EventTarget(); - private _deviceEventName: 'devicemotion' |'deviceorientation'; - private _globalEventClass: typeof window.DeviceMotionEvent | typeof window.DeviceOrientationEvent; - private _didAccelerateFunc: (event: DeviceMotionEvent | DeviceOrientationEvent) => void; - - constructor () { - this.support = true; - - // init event name - this._globalEventClass = window.DeviceMotionEvent || window.DeviceOrientationEvent; - // TODO fix DeviceMotionEvent bug on QQ Browser version 4.1 and below. - if (system.browserType === BrowserType.QQ) { - this._globalEventClass = window.DeviceOrientationEvent; - } - this._deviceEventName = this._globalEventClass === window.DeviceMotionEvent ? 'devicemotion' : 'deviceorientation'; - this._didAccelerateFunc = this._didAccelerate.bind(this); - } - - private _registerEvent () { - this._accelTimer = performance.now(); - window.addEventListener(this._deviceEventName, this._didAccelerateFunc, false); - } - - private _unregisterEvent () { - this._accelTimer = 0; - window.removeEventListener(this._deviceEventName, this._didAccelerateFunc, false); - } - - private _didAccelerate (event: DeviceMotionEvent | DeviceOrientationEvent) { - const now = performance.now(); - if (now - this._accelTimer < this._intervalInMileseconds) { - return; - } - this._accelTimer = now; - - let x = 0; - let y = 0; - let z = 0; - if (this._globalEventClass === window.DeviceMotionEvent) { - const deviceMotionEvent = event as DeviceMotionEvent; - const eventAcceleration = deviceMotionEvent.accelerationIncludingGravity; - x = (eventAcceleration?.x || 0) * 0.1; - y = (eventAcceleration?.y || 0) * 0.1; - z = (eventAcceleration?.z || 0) * 0.1; - } else { - const deviceOrientationEvent = event as DeviceOrientationEvent; - x = ((deviceOrientationEvent.gamma || 0) / 90) * 0.981; - y = -((deviceOrientationEvent.beta || 0) / 90) * 0.981; - z = ((deviceOrientationEvent.alpha || 0) / 90) * 0.981; - } - - // TODO: should not call engine API - if (legacyCC.view._isRotated) { - const tmp = x; - x = -y; - y = tmp; - } - - // TODO: window.orientation is deprecated: https://developer.mozilla.org/en-US/docs/Web/API/Window/orientation - // try to use experimental screen.orientation: https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation - const PORTRAIT = 0; - const LANDSCAPE_LEFT = -90; - const PORTRAIT_UPSIDE_DOWN = 180; - const LANDSCAPE_RIGHT = 90; - const tmpX = x; - if (window.orientation === LANDSCAPE_RIGHT) { - x = -y; - y = tmpX; - } else if (window.orientation === LANDSCAPE_LEFT) { - x = y; - y = -tmpX; - } else if (window.orientation === PORTRAIT_UPSIDE_DOWN) { - x = -x; - y = -y; - } - - // fix android acc values are opposite - if (system.os === OS.ANDROID - && system.browserType !== BrowserType.MOBILE_QQ) { - x = -x; - y = -y; - } - const accelerometer: AccelerometerInputEvent = { - type: SystemEventType.DEVICEMOTION, - x, - y, - z, - timestamp: performance.now(), - }; - - this._eventTarget.emit(SystemEventType.DEVICEMOTION, accelerometer); - } - - public start () { - this._registerEvent(); - } - public stop () { - this._unregisterEvent(); - } - public setInterval (intervalInMileseconds: number) { - this._intervalInMileseconds = intervalInMileseconds; - } - public onChange (cb: AccelerometerCallback) { - this._eventTarget.on(SystemEventType.DEVICEMOTION, cb); - } -} diff --git a/pal/input/web/gamepad.ts b/pal/input/web/gamepad.ts deleted file mode 100644 index 83dc7bd498c..00000000000 --- a/pal/input/web/gamepad.ts +++ /dev/null @@ -1,7 +0,0 @@ -export class GamepadInputSource { - support: boolean; - - constructor () { - this.support = false; - } -} diff --git a/pal/input/web/index.ts b/pal/input/web/index.ts deleted file mode 100644 index b52ff7dfe73..00000000000 --- a/pal/input/web/index.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { EDITOR } from 'internal:constants'; -import { BaseInputEvent } from 'pal/input'; -import { AccelerometerInputSource } from './accelerometer'; -import { InputBox } from './input-box'; -import { KeyboardInputSource } from './keyboard'; -import { MouseInputSource } from './mouse'; -import { TouchInputSource } from './touch'; - -export class Input { - public _touch = new TouchInputSource(); - public _mouse = new MouseInputSource(); - public _keyboard = new KeyboardInputSource(); - public _accelerometer = new AccelerometerInputSource(); - public _inputBox = new InputBox(); - private _inputEventList: BaseInputEvent[] = []; - - constructor () { - this._registerEvent(); - } - - private _registerEvent () { - // if (EDITOR) { - // return; - // } - // TODO: implement event main loop - // if (this._touch.support) { - // this._touch.onStart(this._pushEvent); - // this._touch.onMove(this._pushEvent); - // this._touch.onEnd(this._pushEvent); - // this._touch.onCancel(this._pushEvent); - // } - - // if (this._mouse.support) { - // this._mouse.onDown(this._pushEvent); - // this._mouse.onMove(this._pushEvent); - // this._mouse.onUp(this._pushEvent); - // this._mouse.onCancel(this._pushEvent); - // this._mouse.onWheel(this._pushEvent); - // } - - // if (this._keyboard.support) { - // this._keyboard.onDown(this._pushEvent); - // this._keyboard.onUp(this._pushEvent); - // } - - // if (this._accelerometer.support) { - // this._accelerometer.onChange(this._pushEvent); - // } - } - - private _pushEvent (inputEvent: BaseInputEvent) { - this._inputEventList.push(inputEvent); - } - - // // accelerometer - // public startAccelerometer (): Promise; - // public stopAccelerometer (): Promise; - // public setAccelerometerInterval (intercal: number): void; - - // // input box - // public showInputBox (): Promise; - // public hideInputBox (): Promise; - // public onInputBoxChange (cb: Function); - // public onInputBoxComplete (cb: Function); - - public pollEvent (): BaseInputEvent | undefined { - return this._inputEventList.shift(); - } -} - -export const input = new Input(); diff --git a/pal/input/web/input-box.ts b/pal/input/web/input-box.ts deleted file mode 100644 index d843c88e12b..00000000000 --- a/pal/input/web/input-box.ts +++ /dev/null @@ -1,26 +0,0 @@ -export class InputBox { - public support: boolean; - - constructor () { - this.support = true; - } - - show (): Promise { - throw new Error('Method not implemented.'); - } - hide (): Promise { - throw new Error('Method not implemented.'); - } - onChange () { - throw new Error('Method not implemented.'); - } - onComplete () { - throw new Error('Method not implemented.'); - } - offChange () { - throw new Error('Method not implemented.'); - } - offComplete () { - throw new Error('Method not implemented.'); - } -} diff --git a/pal/input/web/keyboard.ts b/pal/input/web/keyboard.ts deleted file mode 100644 index cc3141c93a0..00000000000 --- a/pal/input/web/keyboard.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { KeyboardCallback, KeyboardInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; -import { EventTarget } from '../../../cocos/core/event/event-target'; - -export class KeyboardInputSource { - public support: boolean; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = !system.isMobile; - this._registerEvent(); - } - - private _registerEvent () { - const canvas = document.getElementById('GameCanvas') as HTMLCanvasElement; - canvas?.addEventListener('keydown', this._createCallback(SystemEventType.KEY_DOWN)); - canvas?.addEventListener('keyup', this._createCallback(SystemEventType.KEY_UP)); - } - - private _createCallback (eventType: string) { - return (event: KeyboardEvent) => { - const inputEvent: KeyboardInputEvent = { - type: eventType, - code: event.keyCode, // TODO: keyCode is deprecated on Web standard - timestamp: performance.now(), - }; - event.stopPropagation(); - event.preventDefault(); - this._eventTarget.emit(eventType, inputEvent); - }; - } - - public onDown (cb: KeyboardCallback) { - this._eventTarget.on(SystemEventType.KEY_DOWN, cb); - } - - public onUp (cb: KeyboardCallback) { - this._eventTarget.on(SystemEventType.KEY_UP, cb); - } -} diff --git a/pal/input/web/mouse.ts b/pal/input/web/mouse.ts deleted file mode 100644 index 57db8bd5965..00000000000 --- a/pal/input/web/mouse.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { DEBUG, EDITOR } from 'internal:constants'; -import { MouseCallback, MouseInputEvent, MouseWheelCallback, MouseWheelInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { Rect, Vec2 } from '../../../cocos/core/math'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; - -type MouseEventNames = 'mousedown' | 'mouseup' | 'mousemove' | 'wheel'; - -export class MouseInputSource { - public support: boolean; - private _canvas?: HTMLCanvasElement; - private _eventTarget: EventTarget = new EventTarget(); - private _pointLocked = false; - private _isPressed = false; - private _preMousePos: Vec2 = new Vec2(); - - constructor () { - this.support = !system.isMobile && !EDITOR; - if (this.support) { - this._canvas = document.getElementById('GameCanvas') as HTMLCanvasElement; - if (!this._canvas && DEBUG) { - console.warn('failed to access canvas'); - } - this._registerEvent(); - } - } - - private _getCanvasRect (): Rect { - const canvas = this._canvas; - const box = canvas?.getBoundingClientRect(); - if (box) { - return new Rect(box.x, box.y, box.width, box.height); - } - return new Rect(0, 0, 0, 0); - } - - private _getLocation (event: MouseEvent): Vec2 { - return new Vec2(event.clientX, event.clientY); - } - - private _registerEvent () { - // register mouse down event - window.addEventListener('mousedown', () => { - this._isPressed = true; - }); - this._canvas?.addEventListener('mousedown', this._createCallback(SystemEventType.MOUSE_DOWN)); - - // register mouse move event - this._canvas?.addEventListener('mousemove', this._createCallback(SystemEventType.MOUSE_MOVE)); - - // register mouse up event - window.addEventListener('mouseup', this._createCallback(SystemEventType.MOUSE_UP)); - this._canvas?.addEventListener('mouseup', this._createCallback(SystemEventType.MOUSE_UP)); - - // register wheel event - this._canvas?.addEventListener('wheel', (event: WheelEvent) => { - const canvasRect = this._getCanvasRect(); - const location = this._getLocation(event); - const wheelSensitivityFactor = 5; - const inputEvent: MouseWheelInputEvent = { - type: SystemEventType.MOUSE_WHEEL, - x: location.x - canvasRect.x, - y: canvasRect.y + canvasRect.height - location.y, - button: event.button, // TODO: what is the button when tracking mouse move ? - deltaX: event.deltaX * wheelSensitivityFactor, - deltaY: -event.deltaY * wheelSensitivityFactor, - timestamp: performance.now(), - movementX: event.movementX, - movementY: event.movementY, - }; - event.stopPropagation(); - event.preventDefault(); - this._eventTarget.emit(SystemEventType.MOUSE_WHEEL, inputEvent); - }); - this._registerPointerLockEvent(); - } - - // To be removed in the future. - private _registerPointerLockEvent () { - const lockChangeAlert = () => { - const canvas = this._canvas; - // @ts-expect-error undefined mozPointerLockElement - if (document.pointerLockElement === canvas || document.mozPointerLockElement === canvas) { - this._pointLocked = true; - } else { - this._pointLocked = false; - } - }; - if ('onpointerlockchange' in document) { - document.addEventListener('pointerlockchange', lockChangeAlert, false); - } else if ('onmozpointerlockchange' in document) { - // @ts-expect-error undefined mozpointerlockchange event - document.addEventListener('mozpointerlockchange', lockChangeAlert, false); - } - } - - private _createCallback (eventType: string) { - return (event: MouseEvent) => { - const canvasRect = this._getCanvasRect(); - const location = this._getLocation(event); - let button = event.button; - switch (event.type) { - case 'mousedown': - this._canvas?.focus(); - this._isPressed = true; - break; - case 'mouseup': - this._isPressed = false; - break; - case 'mousemove': - if (!this._isPressed) { - button = -1; // TODO: should not access EventMouse.BUTTON_MISSING, need a button enum type - } - break; - default: - break; - } - const inputEvent: MouseInputEvent = { - type: eventType, - x: this._pointLocked ? (this._preMousePos.x + event.movementX) : (location.x - canvasRect.x), - y: this._pointLocked ? (this._preMousePos.y - event.movementY) : (canvasRect.y + canvasRect.height - location.y), - button, - timestamp: performance.now(), - // this is web only property - movementX: event.movementX, - movementY: event.movementY, - }; - // update previous mouse position. - this._preMousePos.set(inputEvent.x, inputEvent.y); - event.stopPropagation(); - if (event.target === this._canvas) { - event.preventDefault(); - } - // emit web mouse event - this._eventTarget.emit(eventType, inputEvent); - }; - } - - onDown (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_DOWN, cb); - } - onMove (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_MOVE, cb); - } - onUp (cb: MouseCallback) { - this._eventTarget.on(SystemEventType.MOUSE_UP, cb); - } - onWheel (cb: MouseWheelCallback) { - this._eventTarget.on(SystemEventType.MOUSE_WHEEL, cb); - } -} diff --git a/pal/input/web/touch.ts b/pal/input/web/touch.ts deleted file mode 100644 index ff64fcba766..00000000000 --- a/pal/input/web/touch.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { TouchCallback, TouchData, TouchInputEvent } from 'pal/input'; -import { system } from 'pal/system'; -import { DEBUG } from 'internal:constants'; -import { Rect, Vec2 } from '../../../cocos/core/math'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { legacyCC } from '../../../cocos/core/global-exports'; -import { SystemEventType } from '../../../cocos/core/platform/event-manager/event-enum'; - -export class TouchInputSource { - public support: boolean; - private _canvas?: HTMLCanvasElement; - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - this.support = system.isMobile; - if (this.support) { - this._canvas = document.getElementById('GameCanvas') as HTMLCanvasElement; - if (!this._canvas && DEBUG) { - console.warn('failed to access canvas'); - } - this._registerEvent(); - } - } - - private _registerEvent () { - // IDEA: need to register on window ? - this._canvas?.addEventListener('touchstart', this._createCallback(SystemEventType.TOUCH_START)); - this._canvas?.addEventListener('touchmove', this._createCallback(SystemEventType.TOUCH_MOVE)); - this._canvas?.addEventListener('touchend', this._createCallback(SystemEventType.TOUCH_END)); - this._canvas?.addEventListener('touchcancel', this._createCallback(SystemEventType.TOUCH_CANCEL)); - } - - private _createCallback (eventType: string) { - return (event: TouchEvent) => { - const canvasRect = this._getCanvasRect(); - const touchDataList: TouchData[] = []; - const length = event.changedTouches.length; - for (let i = 0; i < length; ++i) { - const touch = event.changedTouches[i]; - const location = this._getLocation(touch); - let x = location.x - canvasRect.x; - let y = canvasRect.y + canvasRect.height - location.y; - // TODO: should not call engine API - if (legacyCC.view._isRotated) { - const tmp = x; - x = canvasRect.height - y; - y = tmp; - } - - const touchData: TouchData = { - identifier: touch.identifier, - x, - y, - force: touch.force, - }; - touchDataList.push(touchData); - } - const inputEvent: TouchInputEvent = { - type: eventType, - changedTouches: touchDataList, - timestamp: performance.now(), - }; - event.stopPropagation(); - if (event.target === this._canvas) { - event.preventDefault(); - } - if (event.type === 'touchstart') { - this._canvas?.focus(); - } - this._eventTarget.emit(eventType, inputEvent); - }; - } - - private _getCanvasRect (): Rect { - const canvas = this._canvas; - const box = canvas?.getBoundingClientRect(); - if (box) { - return new Rect(box.x, box.y, box.width, box.height); - } - return new Rect(0, 0, 0, 0); - } - - private _getLocation (event: Touch): Vec2 { - return new Vec2(event.clientX, event.clientY); - } - - public onStart (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_START, cb); - } - public onMove (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_MOVE, cb); - } - public onEnd (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_END, cb); - } - public onCancel (cb: TouchCallback) { - this._eventTarget.on(SystemEventType.TOUCH_CANCEL, cb); - } -} diff --git a/pal/minigame/alipay.ts b/pal/minigame/alipay.ts deleted file mode 100644 index b1635194858..00000000000 --- a/pal/minigame/alipay.ts +++ /dev/null @@ -1,145 +0,0 @@ -import { IMiniGame, SystemInfo } from 'pal/minigame'; -import { Orientation } from '../system/enum-type/orientation'; -import { cloneObject } from '../utils'; - -declare let my: any; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -cloneObject(minigame, my); - -// #region SystemInfo -const systemInfo = minigame.getSystemInfoSync(); -minigame.isDevTool = window.navigator && (/AlipayIDE/.test(window.navigator.userAgent)); - -minigame.isLandscape = systemInfo.screenWidth > systemInfo.screenHeight; -// init landscapeOrientation as LANDSCAPE_RIGHT -const landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -// NOTE: onDeviceOrientationChange is not supported on this platform -// my.onDeviceOrientationChange((res) => { -// if (res.value === 'landscape') { -// landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -// } else if (res.value === 'landscapeReverse') { -// landscapeOrientation = Orientation.LANDSCAPE_LEFT; -// } -// }); -Object.defineProperty(minigame, 'orientation', { - get () { - return minigame.isLandscape ? landscapeOrientation : Orientation.PORTRAIT; - }, -}); -// #endregion SystemInfo - -// #region TouchEvent -// my.onTouchStart register touch event listner on body -// need to register on canvas -minigame.onTouchStart = function (cb) { - window.canvas.addEventListener('touchstart', (res) => { - cb && cb(res); - }); -}; -minigame.onTouchMove = function (cb) { - window.canvas.addEventListener('touchmove', (res) => { - cb && cb(res); - }); -}; -minigame.onTouchEnd = function (cb) { - window.canvas.addEventListener('touchend', (res) => { - cb && cb(res); - }); -}; -minigame.onTouchCancel = function (cb) { - window.canvas.addEventListener('touchcancel', (res) => { - cb && cb(res); - }); -}; -// #endregion TouchEvent - -minigame.createInnerAudioContext = function (): InnerAudioContext { - const audio: InnerAudioContext = my.createInnerAudioContext(); - // @ts-expect-error InnerAudioContext has onCanPlay - audio.onCanplay = audio.onCanPlay.bind(audio); - // @ts-expect-error InnerAudioContext has offCanPlay - audio.offCanplay = audio.offCanPlay.bind(audio); - // @ts-expect-error InnerAudioContext has onCanPlay - delete audio.onCanPlay; - // @ts-expect-error InnerAudioContext has offCanPlay - delete audio.offCanPlay; - return audio; -}; - -// #region Font -minigame.loadFont = function (url) { - // my.loadFont crash when url is not in user data path - return 'Arial'; -}; -// #endregion Font - -// #region Accelerometer -let _accelerometerCb: AccelerometerChangeCallback | undefined; -minigame.onAccelerometerChange = function (cb: AccelerometerChangeCallback) { - minigame.offAccelerometerChange(); - // onAccelerometerChange would start accelerometer - // so we won't call this method here - _accelerometerCb = (res: any) => { - let x = res.x; - let y = res.y; - if (minigame.isLandscape) { - const orientationFactor = (landscapeOrientation === Orientation.LANDSCAPE_RIGHT ? 1 : -1); - const tmp = x; - x = -y * orientationFactor; - y = tmp * orientationFactor; - } - - const resClone = { - x, - y, - z: res.z, - }; - cb(resClone); - }; -}; -minigame.offAccelerometerChange = function (cb?: AccelerometerChangeCallback) { - if (_accelerometerCb) { - my.offAccelerometerChange(_accelerometerCb); - _accelerometerCb = undefined; - } -}; -minigame.startAccelerometer = function (res: any) { - if (_accelerometerCb) { - my.onAccelerometerChange(_accelerometerCb); - } else { - // my.startAccelerometer() is not implemented. - console.error('minigame.onAccelerometerChange() should be invoked before minigame.startAccelerometer() on alipay platform'); - } -}; -minigame.stopAccelerometer = function (res: any) { - // my.stopAccelerometer() is not implemented. - minigame.offAccelerometerChange(); -}; -// #endregion Accelerometer - -minigame.getSafeArea = function () { - console.warn('getSafeArea is not supported on this platform'); - if (minigame.getSystemInfoSync) { - const systemInfo = minigame.getSystemInfoSync(); - return { - top: 0, - left: 0, - bottom: systemInfo.screenHeight, - right: systemInfo.screenWidth, - width: systemInfo.screenWidth, - height: systemInfo.screenHeight, - }; - } - return { - top: 0, - left: 0, - bottom: 0, - right: 0, - width: 0, - height: 0, - }; -}; - -export { minigame }; diff --git a/pal/minigame/baidu.ts b/pal/minigame/baidu.ts deleted file mode 100644 index 7aad7a14940..00000000000 --- a/pal/minigame/baidu.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { IMiniGame } from 'pal/minigame'; -import { Orientation } from '../system/enum-type/orientation'; -import { cloneObject, createInnerAudioContextPolyfill } from '../utils'; - -declare let swan: any; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -cloneObject(minigame, swan); - -// #region SystemInfo -const systemInfo = minigame.getSystemInfoSync(); -minigame.isDevTool = systemInfo.platform === 'devtools'; - -minigame.isLandscape = systemInfo.screenWidth > systemInfo.screenHeight; -// init landscapeOrientation as LANDSCAPE_RIGHT -let landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -swan.onDeviceOrientationChange((res) => { - if (res.value === 'landscape') { - landscapeOrientation = Orientation.LANDSCAPE_RIGHT; - } else if (res.value === 'landscapeReverse') { - landscapeOrientation = Orientation.LANDSCAPE_LEFT; - } -}); -Object.defineProperty(minigame, 'orientation', { - get () { - return minigame.isLandscape ? landscapeOrientation : Orientation.PORTRAIT; - }, -}); -// #endregion SystemInfo - -// #region Accelerometer -let _accelerometerCb: AccelerometerChangeCallback | undefined; -minigame.onAccelerometerChange = function (cb: AccelerometerChangeCallback) { - minigame.offAccelerometerChange(); - // onAccelerometerChange would start accelerometer - // so we won't call this method here - _accelerometerCb = (res: any) => { - let x = res.x; - let y = res.y; - if (minigame.isLandscape) { - const orientationFactor = (landscapeOrientation === Orientation.LANDSCAPE_RIGHT ? 1 : -1); - const tmp = x; - x = -y * orientationFactor; - y = tmp * orientationFactor; - } - - const resClone = { - x, - y, - z: res.z, - }; - cb(resClone); - }; -}; -minigame.offAccelerometerChange = function (cb?: AccelerometerChangeCallback) { - if (_accelerometerCb) { - swan.offAccelerometerChange(_accelerometerCb); - _accelerometerCb = undefined; - } -}; -minigame.startAccelerometer = function (res: any) { - if (_accelerometerCb) { - swan.onAccelerometerChange(_accelerometerCb); - } - swan.startAccelerometer(res); -}; -// #endregion Accelerometer - -minigame.createInnerAudioContext = createInnerAudioContextPolyfill(swan, { - onPlay: true, - onPause: true, - onStop: true, - onSeek: false, -}); - -minigame.getSafeArea = function () { - console.warn('getSafeArea is not supported on this platform'); - if (minigame.getSystemInfoSync) { - const systemInfo = minigame.getSystemInfoSync(); - return { - top: 0, - left: 0, - bottom: systemInfo.screenHeight, - right: systemInfo.screenWidth, - width: systemInfo.screenWidth, - height: systemInfo.screenHeight, - }; - } - return { - top: 0, - left: 0, - bottom: 0, - right: 0, - width: 0, - height: 0, - }; -}; - -export { minigame }; diff --git a/pal/minigame/bytedance.ts b/pal/minigame/bytedance.ts deleted file mode 100644 index 59e1c9b0a97..00000000000 --- a/pal/minigame/bytedance.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { IMiniGame } from 'pal/minigame'; -import { Orientation } from '../system/enum-type/orientation'; -import { cloneObject, createInnerAudioContextPolyfill } from '../utils'; - -declare let tt: any; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -cloneObject(minigame, tt); - -// #region SystemInfo -const systemInfo = minigame.getSystemInfoSync(); -minigame.isDevTool = (systemInfo.platform === 'devtools'); - -minigame.isLandscape = systemInfo.screenWidth > systemInfo.screenHeight; -// init landscapeOrientation as LANDSCAPE_RIGHT -let landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -tt.onDeviceOrientationChange((res) => { - if (res.value === 'landscape') { - landscapeOrientation = Orientation.LANDSCAPE_RIGHT; - } else if (res.value === 'landscapeReverse') { - landscapeOrientation = Orientation.LANDSCAPE_LEFT; - } -}); -Object.defineProperty(minigame, 'orientation', { - get () { - return minigame.isLandscape ? landscapeOrientation : Orientation.PORTRAIT; - }, -}); -// #endregion SystemInfo - -// #region Accelerometer -let _accelerometerCb: AccelerometerChangeCallback | undefined; -minigame.onAccelerometerChange = function (cb: AccelerometerChangeCallback) { - minigame.offAccelerometerChange(); - // onAccelerometerChange would start accelerometer - // so we won't call this method here - _accelerometerCb = (res: any) => { - let x = res.x; - let y = res.y; - if (minigame.isLandscape) { - const orientationFactor = (landscapeOrientation === Orientation.LANDSCAPE_RIGHT ? 1 : -1); - const tmp = x; - x = -y * orientationFactor; - y = tmp * orientationFactor; - } - - const resClone = { - x, - y, - z: res.z, - }; - cb(resClone); - }; -}; -minigame.offAccelerometerChange = function (cb?: AccelerometerChangeCallback) { - if (_accelerometerCb) { - tt.offAccelerometerChange(_accelerometerCb); - _accelerometerCb = undefined; - } -}; -minigame.startAccelerometer = function (res: any) { - if (_accelerometerCb) { - tt.onAccelerometerChange(_accelerometerCb); - } - tt.startAccelerometer(res); -}; -// #endregion Accelerometer - -minigame.createInnerAudioContext = createInnerAudioContextPolyfill(tt, { - onPlay: true, - onPause: true, - onStop: true, - onSeek: true, -}); - -// safeArea -// origin point on the top-left corner -minigame.getSafeArea = function () { - let { top, left, bottom, right, width, height } = systemInfo.safeArea; - // HACK: on iOS device, the orientation should mannually rotate - if (systemInfo.platform === 'ios' && !minigame.isDevTool && minigame.isLandscape) { - const tempData = [right, top, left, bottom, width, height]; - top = tempData[2]; - left = tempData[1]; - bottom = tempData[3]; - right = tempData[0]; - height = tempData[5]; - width = tempData[4]; - } - return { top, left, bottom, right, width, height }; -}; - -export { minigame }; diff --git a/pal/minigame/non-minigame.ts b/pal/minigame/non-minigame.ts deleted file mode 100644 index adef70a43c2..00000000000 --- a/pal/minigame/non-minigame.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IMiniGame } from 'pal/minigame'; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -export { minigame }; diff --git a/pal/minigame/runtime.ts b/pal/minigame/runtime.ts deleted file mode 100644 index 6046e685c43..00000000000 --- a/pal/minigame/runtime.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { COCOSPLAY, HUAWEI, LINKSURE, OPPO, QTT, VIVO } from 'internal:constants'; -import { SystemInfo, IMiniGame } from 'pal/minigame'; - -import { Orientation } from '../system/enum-type/orientation'; -import { cloneObject, createInnerAudioContextPolyfill } from '../utils'; - -declare let ral: any; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -cloneObject(minigame, ral); - -// #region SystemInfo -const systemInfo = minigame.getSystemInfoSync(); -minigame.isDevTool = (systemInfo.platform === 'devtools'); - -// NOTE: size and orientation info is wrong at the init phase, need to define as a getter -Object.defineProperty(minigame, 'isLandscape', { - get () { - if (VIVO) { - return systemInfo.screenWidth > systemInfo.screenHeight; - } else { - const locSysInfo = minigame.getSystemInfoSync(); - return locSysInfo.screenWidth > locSysInfo.screenHeight; - } - }, -}); -// init landscapeOrientation as LANDSCAPE_RIGHT -const landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -// NOTE: onDeviceOrientationChange is not supported on this platform -// ral.onDeviceOrientationChange((res) => { -// if (res.value === 'landscape') { -// landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -// } else if (res.value === 'landscapeReverse') { -// landscapeOrientation = Orientation.LANDSCAPE_LEFT; -// } -// }); -Object.defineProperty(minigame, 'orientation', { - get () { - return minigame.isLandscape ? landscapeOrientation : Orientation.PORTRAIT; - }, -}); -// #endregion SystemInfo - -// #region Accelerometer -minigame.onAccelerometerChange = function (cb) { - ral.onAccelerometerChange((res) => { - let x = res.x; - let y = res.y; - if (minigame.isLandscape) { - const orientationFactor = landscapeOrientation === Orientation.LANDSCAPE_RIGHT ? 1 : -1; - const tmp = x; - x = -y * orientationFactor; - y = tmp * orientationFactor; - } - - const resClone = { - x, - y, - z: res.z, - }; - cb(resClone); - }); -}; -// #endregion Accelerometer - -minigame.createInnerAudioContext = createInnerAudioContextPolyfill(ral, { - onPlay: true, // polyfill for vivo - onPause: true, - onStop: true, - onSeek: true, -}); - -// safeArea -// origin point on the top-left corner -// FIX_ME: wrong safe area when orientation is landscape left -minigame.getSafeArea = function () { - let { top, left, bottom, right, width, height } = systemInfo.safeArea; - // HACK: on iOS device, the orientation should mannually rotate - if (systemInfo.platform === 'ios' && !minigame.isDevTool && minigame.isLandscape) { - const tempData = [right, top, left, bottom, width, height]; - top = systemInfo.screenHeight - tempData[0]; - left = tempData[1]; - bottom = systemInfo.screenHeight - tempData[2]; - right = tempData[3]; - height = tempData[4]; - width = tempData[5]; - } - return { top, left, bottom, right, width, height }; -}; - -if (VIVO) { - // TODO: need to be handled in ral lib. - minigame.getSystemInfoSync = function () { - const sys = ral.getSystemInfoSync() as SystemInfo; - // on VIVO, windowWidth should be windowHeight when it is landscape - sys.windowWidth = sys.screenWidth; - sys.windowHeight = sys.screenHeight; - return sys; - }; -} - -export { minigame }; diff --git a/pal/minigame/wechat.ts b/pal/minigame/wechat.ts deleted file mode 100644 index cbe4be3b85e..00000000000 --- a/pal/minigame/wechat.ts +++ /dev/null @@ -1,161 +0,0 @@ -import { IMiniGame } from 'pal/minigame'; -import { Orientation } from '../system/enum-type/orientation'; -import { cloneObject, createInnerAudioContextPolyfill } from '../utils'; - -declare let wx: any; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -cloneObject(minigame, wx); - -// #region SystemInfo -const systemInfo = minigame.getSystemInfoSync(); -minigame.isDevTool = (systemInfo.platform === 'devtools'); -// NOTE: size and orientation info is wrong at the init phase, especially on iOS device -Object.defineProperty(minigame, 'isLandscape', { - get () { - return systemInfo.deviceOrientation ? (systemInfo.deviceOrientation === 'landscape') : (systemInfo.screenWidth > systemInfo.screenHeight); - }, -}); -// init landscapeOrientation as LANDSCAPE_RIGHT -let landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -if (systemInfo.platform.toLocaleLowerCase() !== 'android') { - // onDeviceOrientationChange doesn't work well on Android. - // see this issue: https://developers.weixin.qq.com/community/minigame/doc/000482138dc460e56cfaa5cb15bc00 - wx.onDeviceOrientationChange((res) => { - if (res.value === 'landscape') { - landscapeOrientation = Orientation.LANDSCAPE_RIGHT; - } else if (res.value === 'landscapeReverse') { - landscapeOrientation = Orientation.LANDSCAPE_LEFT; - } - }); -} -Object.defineProperty(minigame, 'orientation', { - get () { - return minigame.isLandscape ? landscapeOrientation : Orientation.PORTRAIT; - }, -}); -// #endregion SystemInfo - -// #region Accelerometer -let _accelerometerCb: AccelerometerChangeCallback | undefined; -minigame.onAccelerometerChange = function (cb: AccelerometerChangeCallback) { - minigame.offAccelerometerChange(); - // onAccelerometerChange would start accelerometer - // so we won't call this method here - _accelerometerCb = (res: any) => { - let x = res.x; - let y = res.y; - if (minigame.isLandscape) { - const orientationFactor = (landscapeOrientation === Orientation.LANDSCAPE_RIGHT ? 1 : -1); - const tmp = x; - x = -y * orientationFactor; - y = tmp * orientationFactor; - } - - const resClone = { - x, - y, - z: res.z, - }; - cb(resClone); - }; -}; -minigame.offAccelerometerChange = function (cb?: AccelerometerChangeCallback) { - if (_accelerometerCb) { - wx.offAccelerometerChange(_accelerometerCb); - _accelerometerCb = undefined; - } -}; -minigame.startAccelerometer = function (res: any) { - if (_accelerometerCb) { - wx.onAccelerometerChange(_accelerometerCb); - } - wx.startAccelerometer(res); -}; -// #endregion Accelerometer - -// minigame.createInnerAudioContext = createInnerAudioContextPolyfill(wx, { -// onPlay: true, -// onPause: true, -// onStop: true, -// onSeek: false, -// }); - -// TODO: move to createInnerAudioContextPolyfill() -minigame.createInnerAudioContext = function () { - const audioContext: InnerAudioContext = wx.createInnerAudioContext(); - - // add polyfill if onPlay method doesn't work this platform - const originalPlay = audioContext.play; - let _onPlayCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onPlay', { - value (cb: ()=> void) { - _onPlayCB = cb; - }, - }); - Object.defineProperty(audioContext, 'play', { - value () { - originalPlay.call(audioContext); - if (_onPlayCB) { - setTimeout(_onPlayCB, 0); - } - }, - }); - - // add polyfill if onPause method doesn't work this platform - const originalPause = audioContext.pause; - let _onPauseCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onPause', { - value (cb: ()=> void) { - _onPauseCB = cb; - }, - }); - Object.defineProperty(audioContext, 'pause', { - value () { - originalPause.call(audioContext); - if (_onPauseCB) { - setTimeout(_onPauseCB, 0); - } - }, - }); - - // add polyfill if onStop method doesn't work on this platform - const originalStop = audioContext.stop; - let _onStopCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onStop', { - value (cb: ()=> void) { - _onStopCB = cb; - }, - }); - Object.defineProperty(audioContext, 'stop', { - value () { - originalStop.call(audioContext); - if (_onStopCB) { - setTimeout(_onStopCB, 0); - } - }, - }); - - return audioContext; -}; - -// safeArea -// origin point on the top-left corner -// FIX_ME: wrong safe area when orientation is landscape left -minigame.getSafeArea = function () { - let { top, left, bottom, right, width, height } = systemInfo.safeArea; - // HACK: on iOS device, the orientation should mannually rotate - if (systemInfo.platform === 'ios' && !minigame.isDevTool && minigame.isLandscape) { - const tempData = [right, top, left, bottom, width, height]; - top = systemInfo.screenHeight - tempData[0]; - left = tempData[1]; - bottom = systemInfo.screenHeight - tempData[2]; - right = tempData[3]; - height = tempData[4]; - width = tempData[5]; - } - return { top, left, bottom, right, width, height }; -}; - -export { minigame }; diff --git a/pal/minigame/xiaomi.ts b/pal/minigame/xiaomi.ts deleted file mode 100644 index c674f5ea317..00000000000 --- a/pal/minigame/xiaomi.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { IMiniGame } from 'pal/minigame'; -import { Orientation } from '../system/enum-type/orientation'; -import { cloneObject, createInnerAudioContextPolyfill } from '../utils'; - -declare let qg: any; - -// @ts-expect-error can't init minigame when it's declared -const minigame: IMiniGame = {}; -cloneObject(minigame, qg); - -// #region SystemInfo -const systemInfo = minigame.getSystemInfoSync(); -minigame.isDevTool = false; - -minigame.isLandscape = systemInfo.screenWidth > systemInfo.screenHeight; -// init landscapeOrientation as LANDSCAPE_RIGHT -const landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -// NOTE: onDeviceOrientationChange is not supported on this platform -// qg.onDeviceOrientationChange((res) => { -// if (res.value === 'landscape') { -// landscapeOrientation = Orientation.LANDSCAPE_RIGHT; -// } else if (res.value === 'landscapeReverse') { -// landscapeOrientation = Orientation.LANDSCAPE_LEFT; -// } -// }); -Object.defineProperty(minigame, 'orientation', { - get () { - return minigame.isLandscape ? landscapeOrientation : Orientation.PORTRAIT; - }, -}); -// #endregion SystemInfo - -// #region TouchEvent -minigame.onTouchStart = function (cb) { - window.canvas.ontouchstart = cb; -}; -minigame.onTouchMove = function (cb) { - window.canvas.ontouchmove = cb; -}; -minigame.onTouchEnd = function (cb) { - window.canvas.ontouchend = cb; -}; -minigame.onTouchCancel = function (cb) { - window.canvas.ontouchcancel = cb; -}; -// #endregion TouchEvent - -// // Keyboard -// globalAdapter.showKeyboard = function (res) { -// res.confirmHold = true; // HACK: confirmHold not working on Xiaomi platform -// qg.showKeyboard(res); -// }; - -// #region Accelerometer -let _customAccelerometerCb: AccelerometerChangeCallback | undefined; -let _innerAccelerometerCb: AccelerometerChangeCallback | undefined; -minigame.onAccelerometerChange = function (cb: AccelerometerChangeCallback) { - // qg.offAccelerometerChange() is not supported. - // so we can only register AccelerometerChange callback, but can't unregister. - if (!_innerAccelerometerCb) { - _innerAccelerometerCb = (res: any) => { - let x = res.x; - let y = res.y; - if (minigame.isLandscape) { - const orientationFactor = (landscapeOrientation === Orientation.LANDSCAPE_RIGHT ? 1 : -1); - const tmp = x; - x = -y * orientationFactor; - y = tmp * orientationFactor; - } - - const standardFactor = -0.1; - x *= standardFactor; - y *= standardFactor; - const resClone = { - x, - y, - z: res.z, - }; - _customAccelerometerCb?.(resClone); - }; - qg.onAccelerometerChange(_innerAccelerometerCb); - } - _customAccelerometerCb = cb; -}; -minigame.offAccelerometerChange = function (cb?: AccelerometerChangeCallback) { - // qg.offAccelerometerChange() is not supported. - _customAccelerometerCb = undefined; -}; -// #endregion Accelerometer - -minigame.createInnerAudioContext = createInnerAudioContextPolyfill(qg, { - onPlay: true, - onPause: true, - onStop: true, - onSeek: false, -}); - -minigame.getSafeArea = function () { - console.warn('getSafeArea is not supported on this platform'); - if (minigame.getSystemInfoSync) { - const systemInfo = minigame.getSystemInfoSync(); - return { - top: 0, - left: 0, - bottom: systemInfo.screenHeight, - right: systemInfo.screenWidth, - width: systemInfo.screenWidth, - height: systemInfo.screenHeight, - }; - } - return { - top: 0, - left: 0, - bottom: 0, - right: 0, - width: 0, - height: 0, - }; -}; - -export { minigame }; diff --git a/pal/system/enum-type/browser-type.ts b/pal/system/enum-type/browser-type.ts deleted file mode 100644 index f07ee573fec..00000000000 --- a/pal/system/enum-type/browser-type.ts +++ /dev/null @@ -1,117 +0,0 @@ -export enum BrowserType { - /** - * @en Browser Type - Unknown - * @zh 浏览器类型 - 未知 - */ - UNKNOWN = 'unknown', - /** - * @en Browser Type - WeChat inner browser - * @zh 浏览器类型 - 微信内置浏览器 - */ - WECHAT = 'wechat', - /** - * @en Browser Type - Android Browser - * @zh 浏览器类型 - 安卓浏览器 - */ - ANDROID = 'androidbrowser', - /** - * @en Browser Type - Internet Explorer - * @zh 浏览器类型 - 微软 IE - */ - IE = 'ie', - /** - * @en Browser Type - Microsoft Edge - * @zh 浏览器类型 - 微软 Edge - */ - EDGE = 'edge', - /** - * @en Browser Type - QQ Browser - * @zh 浏览器类型 - QQ 浏览器 - */ - QQ = 'qqbrowser', - /** - * @en Browser Type - Mobile QQ Browser - * @zh 浏览器类型 - 手机 QQ 浏览器 - */ - MOBILE_QQ = 'mqqbrowser', - /** - * @en Browser Type - UC Browser - * @zh 浏览器类型 - UC 浏览器 - */ - UC = 'ucbrowser', - /** - * @en Browser Type - Third party integrated UC browser - * @zh 浏览器类型 - 第三方应用中集成的 UC 浏览器 - */ - UCBS = 'ucbs', - /** - * @en Browser Type - 360 Browser - * @zh 浏览器类型 - 360 浏览器 - */ - BROWSER_360 = '360browser', - /** - * @en Browser Type - Baidu Box App - * @zh 浏览器类型 - Baidu Box App - */ - BAIDU_APP = 'baiduboxapp', - /** - * @en Browser Type - Baidu Browser - * @zh 浏览器类型 - 百度浏览器 - */ - BAIDU = 'baidubrowser', - /** - * @en Browser Type - Maxthon Browser - * @zh 浏览器类型 - 傲游浏览器 - */ - MAXTHON = 'maxthon', - /** - * @en Browser Type - Opera Browser - * @zh 浏览器类型 - Opera 浏览器 - */ - OPERA = 'opera', - /** - * @en Browser Type - Oupeng Browser - * @zh 浏览器类型 - 欧朋浏览器 - */ - OUPENG = 'oupeng', - /** - * @en Browser Type - MI UI Browser - * @zh 浏览器类型 - MIUI 内置浏览器 - */ - MIUI = 'miuibrowser', - /** - * @en Browser Type - Firefox Browser - * @zh 浏览器类型 - Firefox 浏览器 - */ - FIREFOX = 'firefox', - /** - * @en Browser Type - Safari Browser - * @zh 浏览器类型 - Safari 浏览器 - */ - SAFARI = 'safari', - /** - * @en Browser Type - Chrome Browser - * @zh 浏览器类型 - Chrome 浏览器 - */ - CHROME = 'chrome', - /** - * @en Browser Type - Cheetah Browser - * @zh 浏览器类型 - 猎豹浏览器 - */ - LIEBAO = 'liebao', - /** - * @en Browser Type - QZone Inner Browser - * @zh 浏览器类型 - QZone 内置浏览器 - */ - QZONE = 'qzone', - /** - * @en Browser Type - Sogou Browser - * @zh 浏览器类型 - 搜狗浏览器 - */ - SOUGOU = 'sogou', - /** - * @en Browser Type - Huawei Browser - * @zh 浏览器类型 - 华为浏览器 - */ - HUAWEI = 'huawei', -} diff --git a/pal/system/enum-type/event.ts b/pal/system/enum-type/event.ts deleted file mode 100644 index 2e2dc51726d..00000000000 --- a/pal/system/enum-type/event.ts +++ /dev/null @@ -1,6 +0,0 @@ -export enum AppEvent { - HIDE = 'hide', - SHOW = 'show', - RESIZE = 'resize', - ORIENTATION_CHANGE = 'orientation_change', -} diff --git a/pal/system/enum-type/index.ts b/pal/system/enum-type/index.ts deleted file mode 100644 index 9ee32a6c750..00000000000 --- a/pal/system/enum-type/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './browser-type'; -export * from './event'; -export * from './language'; -export * from './network-type'; -export * from './operating-system'; -export * from './orientation'; -export * from './platform'; diff --git a/pal/system/enum-type/language.ts b/pal/system/enum-type/language.ts deleted file mode 100644 index d0cf122af00..00000000000 --- a/pal/system/enum-type/language.ts +++ /dev/null @@ -1,121 +0,0 @@ -export enum Language { - /** - * @en Unknown language code - * @zh 语言代码 - 未知 - */ - UNKNOWN = 'unknown', - - /** - * @en English language code - * @zh 语言代码 - 英语 - */ - ENGLISH = 'en', - - /** - * @en Chinese language code - * @zh 语言代码 - 中文 - */ - CHINESE = 'zh', - - /** - * @en French language code - * @zh 语言代码 - 法语 - */ - FRENCH = 'fr', - - /** - * @en Italian language code - * @zh 语言代码 - 意大利语 - */ - ITALIAN = 'it', - - /** - * @en German language code - * @zh 语言代码 - 德语 - */ - GERMAN = 'de', - - /** - * @en Spanish language code - * @zh 语言代码 - 西班牙语 - */ - SPANISH = 'es', - - /** - * @en Spanish language code - * @zh 语言代码 - 荷兰语 - */ - DUTCH = 'du', - - /** - * @en Russian language code - * @zh 语言代码 - 俄罗斯语 - */ - RUSSIAN = 'ru', - - /** - * @en Korean language code - * @zh 语言代码 - 韩语 - */ - KOREAN = 'ko', - - /** - * @en Japanese language code - * @zh 语言代码 - 日语 - */ - JAPANESE = 'ja', - - /** - * @en Hungarian language code - * @zh 语言代码 - 匈牙利语 - */ - HUNGARIAN = 'hu', - - /** - * @en Portuguese language code - * @zh 语言代码 - 葡萄牙语 - */ - PORTUGUESE = 'pt', - - /** - * @en Arabic language code - * @zh 语言代码 - 阿拉伯语 - */ - ARABIC = 'ar', - - /** - * @en Norwegian language code - * @zh 语言代码 - 挪威语 - */ - NORWEGIAN = 'no', - - /** - * @en Polish language code - * @zh 语言代码 - 波兰语 - */ - POLISH = 'pl', - - /** - * @en Turkish language code - * @zh 语言代码 - 土耳其语 - */ - TURKISH = 'tr', - - /** - * @en Ukrainian language code - * @zh 语言代码 - 乌克兰语 - */ - UKRAINIAN = 'uk', - - /** - * @en Romanian language code - * @zh 语言代码 - 罗马尼亚语 - */ - ROMANIAN = 'ro', - - /** - * @en Bulgarian language code - * @zh 语言代码 - 保加利亚语 - */ - BULGARIAN = 'bg', -} diff --git a/pal/system/enum-type/network-type.ts b/pal/system/enum-type/network-type.ts deleted file mode 100644 index 5ec3926ad93..00000000000 --- a/pal/system/enum-type/network-type.ts +++ /dev/null @@ -1,17 +0,0 @@ -export enum NetworkType { - /** - * @en Network is unreachable. - * @zh 网络不通 - */ - NONE, - /** - * @en Network is reachable via WiFi or cable. - * @zh 通过无线或者有线本地网络连接因特网 - */ - LAN, - /** - * @en Network is reachable via Wireless Wide Area Network - * @zh 通过蜂窝移动网络连接因特网 - */ - WWAN, -} diff --git a/pal/system/enum-type/operating-system.ts b/pal/system/enum-type/operating-system.ts deleted file mode 100644 index fcfbf1166fd..00000000000 --- a/pal/system/enum-type/operating-system.ts +++ /dev/null @@ -1,32 +0,0 @@ -export enum OS { - /** - * @en Operating System - Unknown - * @zh 操作系统 - 未知 - */ - UNKNOWN = 'Unknown', - /** - * @en Operating System - iOS - * @zh 操作系统 - iOS - */ - IOS = 'iOS', - /** - * @en Operating System - Android - * @zh 操作系统 - 安卓 - */ - ANDROID = 'Android', - /** - * @en Operating System - Windows - * @zh 操作系统 - Windows - */ - WINDOWS = 'Windows', - /** - * @en Operating System - Linux - * @zh 操作系统 - Linux - */ - LINUX = 'Linux', - /** - * @en Operating System - Mac OS X - * @zh 操作系统 - Mac OS X - */ - OSX = 'OS X', -} diff --git a/pal/system/enum-type/orientation.ts b/pal/system/enum-type/orientation.ts deleted file mode 100644 index 79f6adaae97..00000000000 --- a/pal/system/enum-type/orientation.ts +++ /dev/null @@ -1,9 +0,0 @@ -const LEFT = 1 << 2; -const RIGHT = 1 << 3; -export enum Orientation { - PORTRAIT = 1, - PORTRAIT_UPSIDE_DOWN = 1 << 1, - LANDSCAPE_LEFT = LEFT, - LANDSCAPE_RIGHT = RIGHT, - LANDSCAPE = LEFT | RIGHT, -} diff --git a/pal/system/enum-type/platform.ts b/pal/system/enum-type/platform.ts deleted file mode 100644 index d0bd1ab7e7c..00000000000 --- a/pal/system/enum-type/platform.ts +++ /dev/null @@ -1,26 +0,0 @@ -export enum Platform { - UNKNOWN = 'UNKNOWN', - // Web Based - EDITOR_PAGE = 'EDITOR_PAGE', - EDITOR_CORE = 'EDITOR_CORE', - MOBILE_BROWSER = 'MOBILE_BROWSER', - DESKTOP_BROWSER = 'DESKTOP_BROWSER', - // Native - WIN32 = 'WIN32', - ANDROID = 'ANDROID', - IOS = 'IOS', - MACOS = 'MACOS', - // Minigame - WECHAT_GAME = 'WECHAT_GAME', - BAIDU_MINI_GAME = 'BAIDU_MINI_GAME', - XIAOMI_QUICK_GAME = 'XIAOMI_QUICK_GAME', - ALIPAY_MINI_GAME = 'ALIPAY_MINI_GAME', - BYTEDANCE_MINI_GAME = 'BYTEDANCE_MINI_GAME', - // Runtime Based - OPPO_MINI_GAME = 'OPPO_MINI_GAME', - VIVO_MINI_GAME = 'VIVO_MINI_GAME', - HUAWEI_QUICK_GAME = 'HUAWEI_QUICK_GAME', - COCOSPLAY = 'COCOSPLAY', - LINKSURE_MINI_GAME = 'LINKSURE_MINI_GAME', - QTT_MINI_GAME = 'QTT_MINI_GAME', -} diff --git a/pal/system/minigame/system.ts b/pal/system/minigame/system.ts deleted file mode 100644 index dab06eedc61..00000000000 --- a/pal/system/minigame/system.ts +++ /dev/null @@ -1,189 +0,0 @@ -import { ALIPAY, BAIDU, BYTEDANCE, COCOSPLAY, HUAWEI, LINKSURE, OPPO, QTT, VIVO, WECHAT, XIAOMI, DEBUG, EDITOR, TEST } from 'internal:constants'; -import { SafeAreaEdge, SupportCapability } from 'pal/system'; -import { minigame } from 'pal/minigame'; -import { Size } from '../../../cocos/core/math'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { BrowserType, NetworkType, Orientation, OS, Platform, AppEvent, Language } from '../enum-type'; - -// NOTE: register minigame platform here -let currentPlatform: Platform; -if (WECHAT) { - currentPlatform = Platform.WECHAT_GAME; -} else if (BAIDU) { - currentPlatform = Platform.BAIDU_MINI_GAME; -} else if (XIAOMI) { - currentPlatform = Platform.XIAOMI_QUICK_GAME; -} else if (ALIPAY) { - currentPlatform = Platform.ALIPAY_MINI_GAME; -} else if (BYTEDANCE) { - currentPlatform = Platform.BYTEDANCE_MINI_GAME; -} else if (OPPO) { - currentPlatform = Platform.OPPO_MINI_GAME; -} else if (VIVO) { - currentPlatform = Platform.VIVO_MINI_GAME; -} else if (HUAWEI) { - currentPlatform = Platform.HUAWEI_QUICK_GAME; -} else if (COCOSPLAY) { - currentPlatform = Platform.COCOSPLAY; -} else if (LINKSURE) { - currentPlatform = Platform.LINKSURE_MINI_GAME; -} else if (QTT) { - currentPlatform = Platform.QTT_MINI_GAME; -} - -class System { - public readonly networkType: NetworkType; - public readonly isNative: boolean; - public readonly isBrowser: boolean; - public readonly isMobile: boolean; - public readonly isLittleEndian: boolean; - public readonly platform: Platform; - public readonly language: Language; - public readonly nativeLanguage: string; - public readonly os: OS; - public readonly osVersion: string; - public readonly osMainVersion: number; - public readonly browserType: BrowserType; - public readonly browserVersion: string; - public readonly pixelRatio: number; - public readonly supportCapability: SupportCapability; - - private _eventTarget: EventTarget = new EventTarget(); - - constructor () { - const minigameSysInfo = minigame.getSystemInfoSync(); - this.networkType = NetworkType.LAN; // TODO - this.isNative = false; - this.isBrowser = false; - - // init isMobile and platform - this.platform = currentPlatform; - this.isMobile = !minigame.isDevTool; // TODO: pc-game ? - - // init isLittleEndian - this.isLittleEndian = (() => { - const buffer = new ArrayBuffer(2); - new DataView(buffer).setInt16(0, 256, true); - // Int16Array uses the platform's endianness. - return new Int16Array(buffer)[0] === 256; - })(); - - // init languageCode and language - this.nativeLanguage = minigameSysInfo.language; - this.language = minigameSysInfo.language.substr(0, 2) as Language; - - // init os, osVersion and osMainVersion - const minigamePlatform = minigameSysInfo.platform.toLocaleLowerCase(); - if (minigamePlatform === 'android') { - this.os = OS.ANDROID; - } else if (minigamePlatform === 'ios') { - this.os = OS.IOS; - } else { - // TODO: pc-game ? - this.os = OS.UNKNOWN; - } - let minigameSystem = minigameSysInfo.system.toLowerCase(); - // Adaptation to Android P - if (minigameSystem === 'android p') { - minigameSystem = 'android p 9.0'; - } - const version = /[\d.]+/.exec(minigameSystem); - this.osVersion = version ? version[0] : minigameSystem; - this.osMainVersion = parseInt(this.osVersion); - - // init browserType and browserVersion - this.browserType = BrowserType.UNKNOWN; - this.browserVersion = ''; - - this.pixelRatio = minigameSysInfo.pixelRatio; - - // init capability - const _tmpCanvas1 = document.createElement('canvas'); // TODO: remove this - let supportWebp; - try { - supportWebp = TEST ? false : _tmpCanvas1.toDataURL('image/webp').startsWith('data:image/webp'); - } catch (e) { - supportWebp = false; - } - this.supportCapability = { - webp: supportWebp, // TODO - gl: true, - canvas: true, - imageBitmap: false, - }; - - this._registerEvent(); - } - - private _registerEvent () { - // TODO: onResize or onOrientationChange is not supported well - minigame.onHide(() => { - this._eventTarget.emit(AppEvent.HIDE); - }); - minigame.onShow(() => { - this._eventTarget.emit(AppEvent.SHOW); - }); - } - - public getViewSize (): Size { - const sysInfo = minigame.getSystemInfoSync(); - return new Size(sysInfo.screenWidth, sysInfo.screenHeight); - } - public getOrientation (): Orientation { - return minigame.orientation; - } - public getSafeAreaEdge (): SafeAreaEdge { - throw new Error('TODO'); - } - public getBatteryLevel (): number { - return minigame.getBatteryInfoSync().level / 100; - } - public triggerGC (): void { - minigame.triggerGC(); - } - public openURL (url: string): void { - if (DEBUG) { - console.warn('openURL is not supported'); - } - } - public now (): number { - if (Date.now) { - return Date.now(); - } - - return +(new Date()); - } - public restartJSVM (): void { - if (DEBUG) { - console.warn('restartJSVM is not supported.'); - } - } - - public onHide (cb: () => void) { - this._eventTarget.on(AppEvent.HIDE, cb); - } - public onShow (cb: () => void) { - this._eventTarget.on(AppEvent.SHOW, cb); - } - public onViewResize (cb: () => void) { - this._eventTarget.on(AppEvent.RESIZE, cb); - } - public onOrientationChange (cb: () => void) { - this._eventTarget.on(AppEvent.ORIENTATION_CHANGE, cb); - } - - public offHide (cb?: () => void) { - this._eventTarget.off(AppEvent.HIDE, cb); - } - public offShow (cb?: () => void) { - this._eventTarget.off(AppEvent.SHOW, cb); - } - public offViewResize (cb?: () => void) { - this._eventTarget.off(AppEvent.RESIZE, cb); - } - public offOrientationChange (cb?: () => void) { - this._eventTarget.off(AppEvent.ORIENTATION_CHANGE, cb); - } -} - -export const system = new System(); diff --git a/pal/system/native/system.ts b/pal/system/native/system.ts deleted file mode 100644 index 7d32cfae2d5..00000000000 --- a/pal/system/native/system.ts +++ /dev/null @@ -1,175 +0,0 @@ -import { SafeAreaEdge, SupportCapability } from 'pal/system'; -import { Size } from '../../../cocos/core/math'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { BrowserType, NetworkType, Orientation, OS, Platform, AppEvent, Language } from '../enum-type'; - -// these value is defined in the native layer -const orientationMap: Record = { - 0: Orientation.PORTRAIT, - '-90': Orientation.LANDSCAPE_LEFT, - 90: Orientation.LANDSCAPE_RIGHT, - 180: Orientation.PORTRAIT_UPSIDE_DOWN, -}; -const networkTypeMap: Record = { - // TODO -}; -const platformMap: Record = { - 0: Platform.WIN32, - // 1 is Linux platform in native engine - 2: Platform.MACOS, - 3: Platform.ANDROID, - // 4 is IPHONE - 4: Platform.IOS, - // 5 is IPAD - 5: Platform.IOS, -}; - -class System { - public readonly isNative: boolean; - public readonly isBrowser: boolean; - public readonly isMobile: boolean; - public readonly isLittleEndian: boolean; - public readonly platform: Platform; - public readonly language: Language; - public readonly nativeLanguage: string; - public readonly os: OS; - public readonly osVersion: string; - public readonly osMainVersion: number; - public readonly browserType: BrowserType; - public readonly browserVersion: string; - public readonly pixelRatio: number; - public readonly supportCapability: SupportCapability; - // TODO: need to wrap the function __isObjectValid() - - private _eventTarget: EventTarget = new EventTarget(); - - public get networkType (): NetworkType { - return networkTypeMap[jsb.device.getNetworkType()]; - } - - constructor () { - this.isNative = true; - this.isBrowser = false; - - // @ts-expect-error __getPlatform() - this.platform = platformMap[__getPlatform()]; - this.isMobile = this.platform === Platform.ANDROID || this.platform === Platform.IOS; - - // init isLittleEndian - this.isLittleEndian = (() => { - const buffer = new ArrayBuffer(2); - new DataView(buffer).setInt16(0, 256, true); - // Int16Array uses the platform's endianness. - return new Int16Array(buffer)[0] === 256; - })(); - - // init languageCode and language - // @ts-expect-error __getCurrentLanguageCode() defined in JSB - const currLanguage = __getCurrentLanguageCode(); - this.nativeLanguage = currLanguage ? currLanguage.toLowerCase() : Language.UNKNOWN; - // @ts-expect-error __getCurrentLanguage() defined in JSB - this.language = __getCurrentLanguage(); - - // @ts-expect-error __getOS() defined in JSB - this.os = __getOS(); - // @ts-expect-error __getOSVersion() defined in JSB - this.osVersion = __getOSVersion(); - this.osMainVersion = parseInt(this.osVersion); - - // init browserType and browserVersion - this.browserType = BrowserType.UNKNOWN; - this.browserVersion = ''; - - this.pixelRatio = jsb.device.getDevicePixelRatio() || 1; - - // init capability - this.supportCapability = { - webp: true, - gl: true, - canvas: true, - imageBitmap: false, - }; - - this._registerEvent(); - } - - private _registerEvent () { - jsb.onResize = (size) => { - if (size.width === 0 || size.height === 0) return; - size.width /= this.pixelRatio; - size.height /= this.pixelRatio; - - // TODO: remove this function calling - window.resize(size.width, size.height); - this._eventTarget.emit(AppEvent.RESIZE); - }; - jsb.onOrientationChanged = (event) => { - this._eventTarget.emit(AppEvent.ORIENTATION_CHANGE); - }; - jsb.onPause = () => { - this._eventTarget.emit(AppEvent.HIDE); - }; - jsb.onResume = () => { - this._eventTarget.emit(AppEvent.SHOW); - }; - } - - public getViewSize (): Size { - return new Size(window.innerWidth, window.innerHeight); - } - public getOrientation (): Orientation { - return orientationMap[jsb.device.getDeviceOrientation()]; - } - public getSafeAreaEdge (): SafeAreaEdge { - // jsb.device.getSafeAreaEdge() - throw new Error('TODO'); - } - public getBatteryLevel (): number { - return jsb.device.getBatteryLevel(); - } - public triggerGC (): void { - jsb.garbageCollect(); - } - public openURL (url: string): void { - jsb.openURL(url); - } - public now (): number { - if (Date.now) { - return Date.now(); - } - - return +(new Date()); - } - public restartJSVM (): void { - // @ts-expect-error __restartVM() is defined in JSB - __restartVM(); - } - - public onHide (cb: () => void) { - this._eventTarget.on(AppEvent.HIDE, cb); - } - public onShow (cb: () => void) { - this._eventTarget.on(AppEvent.SHOW, cb); - } - public onViewResize (cb: () => void) { - this._eventTarget.on(AppEvent.RESIZE, cb); - } - public onOrientationChange (cb: () => void) { - this._eventTarget.on(AppEvent.ORIENTATION_CHANGE, cb); - } - - public offHide (cb?: () => void) { - this._eventTarget.off(AppEvent.HIDE, cb); - } - public offShow (cb?: () => void) { - this._eventTarget.off(AppEvent.SHOW, cb); - } - public offViewResize (cb?: () => void) { - this._eventTarget.off(AppEvent.RESIZE, cb); - } - public offOrientationChange (cb?: () => void) { - this._eventTarget.off(AppEvent.ORIENTATION_CHANGE, cb); - } -} - -export const system = new System(); diff --git a/pal/system/web/system.ts b/pal/system/web/system.ts deleted file mode 100644 index 2d9b671c222..00000000000 --- a/pal/system/web/system.ts +++ /dev/null @@ -1,334 +0,0 @@ -import { DEBUG, EDITOR, TEST } from 'internal:constants'; -import { SafeAreaEdge, SupportCapability } from 'pal/system'; -import { Size } from '../../../cocos/core/math'; -import { EventTarget } from '../../../cocos/core/event/event-target'; -import { BrowserType, NetworkType, Orientation, OS, Platform, AppEvent, Language } from '../enum-type'; - -class System { - public readonly networkType: NetworkType; - public readonly isNative: boolean; - public readonly isBrowser: boolean; - public readonly isMobile: boolean; - public readonly isLittleEndian: boolean; - public readonly platform: Platform; - public readonly language: Language; - public readonly nativeLanguage: string; - public readonly os: OS; - public readonly osVersion: string; - public readonly osMainVersion: number; - public readonly browserType: BrowserType; - public readonly browserVersion: string; - public readonly pixelRatio: number; - public readonly supportCapability: SupportCapability; - - private _eventTarget: EventTarget = new EventTarget(); - private _html; - private _battery?: any; - - constructor () { - const nav = window.navigator; - const ua = nav.userAgent.toLowerCase(); - this._html = document.getElementsByTagName('html')[0]; - // @ts-expect-error getBattery is not totally supported - nav.getBattery?.().then((battery) => { - this._battery = battery; - }); - - this.networkType = NetworkType.LAN; // TODO - this.isNative = false; - this.isBrowser = true; - - // init isMobile and platform - if (EDITOR) { - this.isMobile = false; - this.platform = Platform.EDITOR_PAGE; // TODO - } else { - this.isMobile = /mobile|android|iphone|ipad/.test(ua); - this.platform = this.isMobile ? Platform.MOBILE_BROWSER : Platform.DESKTOP_BROWSER; - } - - // init isLittleEndian - this.isLittleEndian = (() => { - const buffer = new ArrayBuffer(2); - new DataView(buffer).setInt16(0, 256, true); - // Int16Array uses the platform's endianness. - return new Int16Array(buffer)[0] === 256; - })(); - - // init languageCode and language - let currLanguage = nav.language; - this.nativeLanguage = currLanguage.toLowerCase(); - currLanguage = currLanguage || (nav as any).browserLanguage; - currLanguage = currLanguage ? currLanguage.split('-')[0] : Language.ENGLISH; - this.language = currLanguage as Language; - - // init os, osVersion and osMainVersion - let isAndroid = false; let iOS = false; let osVersion = ''; let osMajorVersion = 0; - let uaResult = /android\s*(\d+(?:\.\d+)*)/i.exec(ua) || /android\s*(\d+(?:\.\d+)*)/i.exec(nav.platform); - if (uaResult) { - isAndroid = true; - osVersion = uaResult[1] || ''; - osMajorVersion = parseInt(osVersion) || 0; - } - uaResult = /(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(ua); - if (uaResult) { - iOS = true; - osVersion = uaResult[2] || ''; - osMajorVersion = parseInt(osVersion) || 0; - // refer to https://github.com/cocos-creator/engine/pull/5542 , thanks for contribition from @krapnikkk - // ipad OS 13 safari identifies itself as "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko)" - // so use maxTouchPoints to check whether it's desktop safari or not. - // reference: https://stackoverflow.com/questions/58019463/how-to-detect-device-name-in-safari-on-ios-13-while-it-doesnt-show-the-correct - // FIXME: should remove it when touch-enabled mac are available - // TODO: due to compatibility issues, it is still determined to be ios, and a new operating system type ipados may be added later? - } else if (/(iPhone|iPad|iPod)/.exec(nav.platform) || (nav.platform === 'MacIntel' && nav.maxTouchPoints && nav.maxTouchPoints > 1)) { - iOS = true; - osVersion = ''; - osMajorVersion = 0; - } - - let osName = OS.UNKNOWN; - if (nav.appVersion.indexOf('Win') !== -1) { - osName = OS.WINDOWS; - } else if (iOS) { - osName = OS.IOS; - } else if (nav.appVersion.indexOf('Mac') !== -1) { - osName = OS.OSX; - } else if (nav.appVersion.indexOf('X11') !== -1 && nav.appVersion.indexOf('Linux') === -1) { - osName = OS.LINUX; - } else if (isAndroid) { - osName = OS.ANDROID; - } else if (nav.appVersion.indexOf('Linux') !== -1 || ua.indexOf('ubuntu') !== -1) { - osName = OS.LINUX; - } - - this.os = osName; - this.osVersion = osVersion; - this.osMainVersion = osMajorVersion; - - // TODO: use dack-type to determine the browserType - // init browserType and browserVersion - this.browserType = BrowserType.UNKNOWN; - const typeReg0 = /wechat|weixin|micromessenger/i; - const typeReg1 = /mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i; - const typeReg2 = /qq|qqbrowser|ucbrowser|ubrowser|edge|HuaweiBrowser/i; - const typeReg3 = /chrome|safari|firefox|trident|opera|opr\/|oupeng/i; - const browserTypes = typeReg0.exec(ua) || typeReg1.exec(ua) || typeReg2.exec(ua) || typeReg3.exec(ua); - - let browserType = browserTypes ? browserTypes[0].toLowerCase() : OS.UNKNOWN; - if (browserType === 'safari' && isAndroid) { - browserType = BrowserType.ANDROID; - } else if (browserType === 'qq' && /android.*applewebkit/i.test(ua)) { - browserType = BrowserType.ANDROID; - } - const typeMap = { - micromessenger: BrowserType.WECHAT, - wechat: BrowserType.WECHAT, - weixin: BrowserType.WECHAT, - trident: BrowserType.IE, - edge: BrowserType.EDGE, - '360 aphone': BrowserType.BROWSER_360, - mxbrowser: BrowserType.MAXTHON, - 'opr/': BrowserType.OPERA, - ubrowser: BrowserType.UC, - huaweibrowser: BrowserType.HUAWEI, - }; - - this.browserType = typeMap[browserType] || browserType; - - // init browserVersion - this.browserVersion = ''; - const versionReg1 = /(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i; - const versionReg2 = /(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i; - let tmp = versionReg1.exec(ua); - if (!tmp) { - tmp = versionReg2.exec(ua); - } - this.browserVersion = tmp ? tmp[4] : ''; - - this.pixelRatio = window.devicePixelRatio || 1; - - // init capability - const _tmpCanvas1 = document.createElement('canvas'); - const supportCanvas = TEST ? false : !!_tmpCanvas1.getContext('2d'); - let supportWebGL = false; - if (TEST) { - supportWebGL = false; - } else if (window.WebGLRenderingContext) { - supportWebGL = true; - } - let supportWebp; - try { - supportWebp = TEST ? false : _tmpCanvas1.toDataURL('image/webp').startsWith('data:image/webp'); - } catch (e) { - supportWebp = false; - } - let supportImageBitmap = false; - if (!TEST && typeof createImageBitmap !== 'undefined' && typeof Blob !== 'undefined') { - _tmpCanvas1.width = _tmpCanvas1.height = 2; - createImageBitmap(_tmpCanvas1, {}).then((imageBitmap) => { - supportImageBitmap = true; - imageBitmap?.close(); - }).catch((err) => {}); - } - this.supportCapability = { - webp: supportWebp, - gl: supportWebGL, - canvas: supportCanvas, - imageBitmap: supportImageBitmap, - }; - - this._registerEvent(); - } - - private _registerEvent () { - window.addEventListener('resize', () => { - this._eventTarget.emit(AppEvent.RESIZE); - }); - window.addEventListener('orientationchange', () => { - this._eventTarget.emit(AppEvent.ORIENTATION_CHANGE); - }); - this._registerVisibilityEvent(); - } - - private _registerVisibilityEvent () { - let hiddenPropName: string; - if (typeof document.hidden !== 'undefined') { - hiddenPropName = 'hidden'; - } else if (typeof document.mozHidden !== 'undefined') { - hiddenPropName = 'mozHidden'; - } else if (typeof document.msHidden !== 'undefined') { - hiddenPropName = 'msHidden'; - } else if (typeof document.webkitHidden !== 'undefined') { - hiddenPropName = 'webkitHidden'; - } else { - hiddenPropName = 'hidden'; - } - - let hidden = false; - const onHidden = () => { - if (!hidden) { - hidden = true; - this._eventTarget.emit(AppEvent.HIDE); - } - }; - // In order to adapt the most of platforms the onshow API. - const onShown = (arg0?, arg1?, arg2?, arg3?, arg4?) => { - if (hidden) { - hidden = false; - this._eventTarget.emit(AppEvent.SHOW, arg0, arg1, arg2, arg3, arg4); - } - }; - - if (hiddenPropName) { - const changeList = [ - 'visibilitychange', - 'mozvisibilitychange', - 'msvisibilitychange', - 'webkitvisibilitychange', - 'qbrowserVisibilityChange', - ]; - - for (let i = 0; i < changeList.length; i++) { - document.addEventListener(changeList[i], (event) => { - let visible = document[hiddenPropName]; - // @ts-expect-error QQ App need hidden property - visible = visible || event.hidden; - if (visible) { - onHidden(); - } else { - onShown(); - } - }); - } - } else { - window.addEventListener('blur', onHidden); - window.addEventListener('focus', onShown); - } - - if (window.navigator.userAgent.indexOf('MicroMessenger') > -1) { - window.onfocus = onShown; - } - - if ('onpageshow' in window && 'onpagehide' in window) { - window.addEventListener('pagehide', onHidden); - window.addEventListener('pageshow', onShown); - // Taobao UIWebKit - document.addEventListener('pagehide', onHidden); - document.addEventListener('pageshow', onShown); - } - } - - public getViewSize (): Size { - const element = document.getElementById('GameDiv'); - if (this.isMobile || !element || element === this._html) { - return new Size(window.innerWidth, window.innerHeight); - } else { - return new Size(element.clientWidth, element.clientHeight); - } - } - public getOrientation (): Orientation { - throw new Error('TODO'); - } - public getSafeAreaEdge (): SafeAreaEdge { - throw new Error('TODO'); - } - public getBatteryLevel (): number { - if (this._battery) { - return this._battery.level as number; - } else { - if (DEBUG) { - console.warn('getBatteryLevel is not supported'); - } - return 1; - } - } - public triggerGC (): void { - if (DEBUG) { - console.warn('triggerGC is not supported.'); - } - } - public openURL (url: string): void { - window.open(url); - } - public now (): number { - if (Date.now) { - return Date.now(); - } - - return +(new Date()); - } - public restartJSVM (): void { - if (DEBUG) { - console.warn('restartJSVM is not supported.'); - } - } - - public onHide (cb: () => void) { - this._eventTarget.on(AppEvent.HIDE, cb); - } - public onShow (cb: () => void) { - this._eventTarget.on(AppEvent.SHOW, cb); - } - public onViewResize (cb: () => void) { - this._eventTarget.on(AppEvent.RESIZE, cb); - } - public onOrientationChange (cb: () => void) { - this._eventTarget.on(AppEvent.ORIENTATION_CHANGE, cb); - } - - public offHide (cb?: () => void) { - this._eventTarget.off(AppEvent.HIDE, cb); - } - public offShow (cb?: () => void) { - this._eventTarget.off(AppEvent.SHOW, cb); - } - public offViewResize (cb?: () => void) { - this._eventTarget.off(AppEvent.RESIZE, cb); - } - public offOrientationChange (cb?: () => void) { - this._eventTarget.off(AppEvent.ORIENTATION_CHANGE, cb); - } -} - -export const system = new System(); diff --git a/pal/utils.ts b/pal/utils.ts deleted file mode 100644 index a6941e9bbee..00000000000 --- a/pal/utils.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * This method clones methods in minigame enviroment, sucb as `wx`, `swan` etc. to a module called minigame. - * @param targetObject Usually it's specified as the minigame module. - * @param originObj Original minigame environment such as `wx`, `swan` etc. - */ -export function cloneObject (targetObject: any, originObj: any) { - Object.keys(originObj).forEach((key) => { - if (typeof originObj[key] === 'function') { - targetObject[key] = originObj[key].bind(originObj); - return; - } - targetObject[key] = originObj[key]; - }); -} - -type MiningameAudioCallbackName = 'onPlay' | 'onPause' | 'onStop' | 'onSeek'; -type InnerAudioContextPolyfillConfig = { - [CallbackName in MiningameAudioCallbackName]: boolean; -}; -/** - * This method is to create a polyfill on minigame platform when the innerAudioContext callback doesn't work. - * @param minigameEnv Specify the minigame enviroment such as `wx`, `swan` etc. - * @param polyfillConfig Specify the field, if it's true, the polyfill callback will be applied. - * @returns A polyfilled createInnerAudioContext method. - */ -export function createInnerAudioContextPolyfill (minigameEnv: any, polyfillConfig: InnerAudioContextPolyfillConfig) { - return () => { - const audioContext: InnerAudioContext = minigameEnv.createInnerAudioContext(); - - // add polyfill if onPlay method doesn't work this platform - if (polyfillConfig.onPlay) { - const originalPlay = audioContext.play; - let _onPlayCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onPlay', { - value (cb: ()=> void) { - _onPlayCB = cb; - }, - }); - Object.defineProperty(audioContext, 'play', { - value () { - originalPlay.call(audioContext); - _onPlayCB?.(); - }, - }); - } - - // add polyfill if onPause method doesn't work this platform - if (polyfillConfig.onPause) { - const originalPause = audioContext.pause; - let _onPauseCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onPause', { - value (cb: ()=> void) { - _onPauseCB = cb; - }, - }); - Object.defineProperty(audioContext, 'pause', { - value () { - originalPause.call(audioContext); - _onPauseCB?.(); - }, - }); - } - - // add polyfill if onStop method doesn't work on this platform - if (polyfillConfig.onStop) { - const originalStop = audioContext.stop; - let _onStopCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onStop', { - value (cb: ()=> void) { - _onStopCB = cb; - }, - }); - Object.defineProperty(audioContext, 'stop', { - value () { - originalStop.call(audioContext); - _onStopCB?.(); - }, - }); - } - - // add polyfill if onSeeked method doesn't work on this platform - if (polyfillConfig.onSeek) { - const originalSeek = audioContext.seek; - let _onSeekCB: (()=> void) | null = null; - Object.defineProperty(audioContext, 'onSeeked', { - value (cb: ()=> void) { - _onSeekCB = cb; - }, - }); - Object.defineProperty(audioContext, 'seek', { - value (time: number) { - originalSeek.call(audioContext, time); - _onSeekCB?.(); - }, - }); - } - - return audioContext; - }; -} diff --git a/patches/@cocos+engine-pal+1.0.4.patch b/patches/@cocos+engine-pal+1.0.4.patch new file mode 100644 index 00000000000..ad8bf6310bf --- /dev/null +++ b/patches/@cocos+engine-pal+1.0.4.patch @@ -0,0 +1,5992 @@ +diff --git a/node_modules/@cocos/engine-pal/dist/audio/audio-buffer-manager.d.ts b/node_modules/@cocos/engine-pal/dist/audio/audio-buffer-manager.d.ts +deleted file mode 100644 +index b53b436..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/audio-buffer-manager.d.ts ++++ /dev/null +@@ -1,13 +0,0 @@ +-/** +- * This is a manager to manage the cache of audio buffer for web audio. +- * @mangle +- */ +-declare class AudioBufferManager { +- private _audioBufferDataMap; +- addCache(url: string, audioBuffer: AudioBuffer): void; +- retainCache(url: string): void; +- getCache(url: string): AudioBuffer | null | undefined; +- tryReleasingCache(url: string): void; +-} +-export declare const audioBufferManager: AudioBufferManager; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/audio-buffer-manager.js b/node_modules/@cocos/engine-pal/dist/audio/audio-buffer-manager.js +deleted file mode 100644 +index e1b0dee..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/audio-buffer-manager.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { warnID } from '@cocos/engine/cocos/core/platform/debug'; +- +-class AudioBufferManager{_ccprivate$_audioBufferDataMap={};_ccprivate$addCache(url,audioBuffer){const audioBufferData=this._ccprivate$_audioBufferDataMap[url];if(audioBufferData){warnID(5204,url);return}this._ccprivate$_audioBufferDataMap[url]={_ccprivate$usedCount:1,_ccprivate$audioBuffer:audioBuffer};}_ccprivate$retainCache(url){const audioBufferData=this._ccprivate$_audioBufferDataMap[url];if(!audioBufferData){warnID(5203,url);return}audioBufferData._ccprivate$usedCount++;}_ccprivate$getCache(url){const audioBufferData=this._ccprivate$_audioBufferDataMap[url];return audioBufferData?._ccprivate$audioBuffer}_ccprivate$tryReleasingCache(url){const audioBufferData=this._ccprivate$_audioBufferDataMap[url];if(!audioBufferData){warnID(5203,url);return}if(--audioBufferData._ccprivate$usedCount<=0){delete this._ccprivate$_audioBufferDataMap[url];}}}const audioBufferManager=new AudioBufferManager; +- +-export { audioBufferManager }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/audio-timer.d.ts b/node_modules/@cocos/engine-pal/dist/audio/audio-timer.d.ts +deleted file mode 100644 +index 1aca9ad..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/audio-timer.d.ts ++++ /dev/null +@@ -1,43 +0,0 @@ +-/** +- * Tool class to calculate audio current time. +- * For some platforms where audio.currentTime doesn't work well or isn't implemented. +- */ +-interface IDuration { +- duration: number; +-} +-export default class AudioTimer { +- private _nativeAudio; +- private _startTime; +- private _startOffset; +- private _isPaused; +- constructor(nativeAudio: IDuration); +- destroy(): void; +- get duration(): number; +- /** +- * Get the current time of audio timer. +- */ +- get currentTime(): number; +- private _now; +- private _calculateCurrentTime; +- /** +- * Start the audio timer. +- * Call this method when audio is played. +- */ +- start(): void; +- /** +- * Pause the audio timer. +- * Call this method when audio is paused or interrupted. +- */ +- pause(): void; +- /** +- * Stop the audio timer. +- * Call this method when audio playing ended or audio is stopped. +- */ +- stop(): void; +- /** +- * Seek the audio timer. +- * Call this method when audio is seeked. +- */ +- seek(time: number): void; +-} +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/audio-timer.js b/node_modules/@cocos/engine-pal/dist/audio/audio-timer.js +deleted file mode 100644 +index 72c0553..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/audio-timer.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { clamp } from '@cocos/engine/cocos/core/math/utils'; +- +-class AudioTimer{_ccprivate$_nativeAudio;_ccprivate$_startTime=0;_ccprivate$_startOffset=0;_ccprivate$_isPaused=true;constructor(nativeAudio){this._ccprivate$_nativeAudio=nativeAudio;}destroy(){this._ccprivate$_nativeAudio=undefined;}get duration(){return this._ccprivate$_nativeAudio.duration}get currentTime(){if(this._ccprivate$_isPaused){return this._ccprivate$_startOffset}else {return this._ccprivate$_calculateCurrentTime()}}_ccprivate$_now(){return performance.now()/1000}_ccprivate$_calculateCurrentTime(){const timePassed=this._ccprivate$_now()-this._ccprivate$_startTime;const currentTime=this._ccprivate$_startOffset+timePassed;if(currentTime>=this.duration){this._ccprivate$_startTime=this._ccprivate$_now();this._ccprivate$_startOffset=0;}return currentTime%this.duration}start(){this._ccprivate$_isPaused=false;this._ccprivate$_startTime=this._ccprivate$_now();}pause(){if(this._ccprivate$_isPaused){return}this._ccprivate$_isPaused=true;this._ccprivate$_startOffset=this._ccprivate$_calculateCurrentTime();}stop(){this._ccprivate$_isPaused=true;this._ccprivate$_startOffset=0;}seek(time){this._ccprivate$_startTime=this._ccprivate$_now();this._ccprivate$_startOffset=clamp(time,0,this.duration);}} +- +-export { AudioTimer as default }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-minigame.d.ts b/node_modules/@cocos/engine-pal/dist/audio/minigame/player-minigame.d.ts +deleted file mode 100644 +index 20c76f3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-minigame.d.ts ++++ /dev/null +@@ -1,68 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { AudioPCMDataView, AudioState, AudioType } from '../type'; +-import { OperationInfo, OperationQueueable } from '../operation-queue'; +-export declare class OneShotAudioMinigame { +- private _innerAudioContext; +- private _onPlayCb?; +- get onPlay(): (() => void) | undefined; +- set onPlay(cb: (() => void) | undefined); +- private _onEndCb?; +- get onEnd(): (() => void) | undefined; +- set onEnd(cb: (() => void) | undefined); +- private constructor(); +- private _onInterruptedBegin; +- private _onInterruptedEnd; +- play(): void; +- stop(): void; +-} +-export declare class AudioPlayerMinigame implements OperationQueueable { +- private _innerAudioContext; +- private _state; +- private _cacheTime; +- private _needSeek; +- private _seeking; +- private _onPlay; +- private _onPause; +- private _onStop; +- private _onSeeked; +- private _onEnded; +- private _readyToHandleOnShow; +- private _resetSeekCache; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ +- _eventTarget: EventTarget; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ +- _operationQueue: OperationInfo[]; +- constructor(innerAudioContext: InnerAudioContext); +- destroy(): void; +- private _onInterruptedBegin; +- private _onInterruptedEnd; +- private _offEvent; +- get src(): string; +- get type(): AudioType; +- static load(url: string): Promise; +- static loadNative(url: string): Promise; +- static loadOneShotAudio(url: string, volume: number): Promise; +- get state(): AudioState; +- get loop(): boolean; +- set loop(val: boolean); +- get volume(): number; +- set volume(val: number); +- get duration(): number; +- get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; +- seek(time: number): Promise; +- play(): Promise; +- pause(): Promise; +- stop(): Promise; +- onInterruptionBegin(cb: () => void): void; +- offInterruptionBegin(cb?: () => void): void; +- onInterruptionEnd(cb: () => void): void; +- offInterruptionEnd(cb?: () => void): void; +- onEnded(cb: () => void): void; +- offEnded(cb?: () => void): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-minigame.js b/node_modules/@cocos/engine-pal/dist/audio/minigame/player-minigame.js +deleted file mode 100644 +index 4a34a33..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-minigame.js ++++ /dev/null +@@ -1,11 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { systemInfo } from 'pal/system-info'; +-import { HUAWEI, VIVO, OPPO, TAOBAO, TAOBAO_MINIGAME } from 'internal:constants'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { AudioState, AudioEvent, AudioType } from '../type.js'; +-import { clamp01, clamp } from '@cocos/engine/cocos/core'; +-import { enqueueOperation } from '../operation-queue.js'; +- +-class OneShotAudioMinigame{_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(nativeAudio,volume){this._ccprivate$_innerAudioContext=nativeAudio;nativeAudio.volume=volume;nativeAudio.onPlay(()=>{this._ccprivate$_onPlayCb?.();});const endCallback=()=>{if(this._ccprivate$_innerAudioContext){this._ccprivate$_innerAudioContext=null;systemInfo.off("hide",this._ccprivate$_onInterruptedBegin,this);systemInfo.off("show",this._ccprivate$_onInterruptedEnd,this);this._ccprivate$_onEndCb?.();nativeAudio.destroy();}};nativeAudio.onEnded(endCallback);nativeAudio.onStop(endCallback);systemInfo.on("hide",this._ccprivate$_onInterruptedBegin,this);systemInfo.on("show",this._ccprivate$_onInterruptedEnd,this);}_ccprivate$_onInterruptedBegin(){this._ccprivate$_innerAudioContext.pause();}_ccprivate$_onInterruptedEnd(){this._ccprivate$_innerAudioContext.play();}play(){this._ccprivate$_innerAudioContext.play();}stop(){this._ccprivate$_innerAudioContext.stop();}}class AudioPlayerMinigame{_ccprivate$_state=AudioState.INIT;_ccprivate$_cacheTime=0;_ccprivate$_needSeek=false;_ccprivate$_seeking=false;_ccprivate$_readyToHandleOnShow=false;_ccprivate$_resetSeekCache(){this._ccprivate$_cacheTime=0;this._ccprivate$_needSeek=false;this._ccprivate$_seeking=false;if((HUAWEI||VIVO||OPPO)&&this._ccprivate$_innerAudioContext){this._ccprivate$_innerAudioContext.startTime=0;}}_ccprivate$_eventTarget=new EventTarget;_ccprivate$_operationQueue=[];constructor(innerAudioContext){const self=this;self._ccprivate$_innerAudioContext=innerAudioContext;systemInfo.on("hide",self._ccprivate$_onInterruptedBegin,self);systemInfo.on("show",self._ccprivate$_onInterruptedEnd,self);const eventTarget=self._ccprivate$_eventTarget;self._ccprivate$_onPlay=()=>{self._ccprivate$_state=AudioState.PLAYING;eventTarget.emit(AudioEvent.PLAYED);if(self._ccprivate$_needSeek){self.seek(self._ccprivate$_cacheTime).catch(e=>{});}};innerAudioContext.onPlay(self._ccprivate$_onPlay);self._ccprivate$_onPause=()=>{self._ccprivate$_state=AudioState.PAUSED;try{const currentTime=self._ccprivate$_innerAudioContext.currentTime;if(currentTime!==null&¤tTime!==undefined){self._ccprivate$_cacheTime=currentTime;}}catch{}eventTarget.emit(AudioEvent.PAUSED);};innerAudioContext.onPause(self._ccprivate$_onPause);self._ccprivate$_onStop=()=>{self._ccprivate$_state=AudioState.STOPPED;self._ccprivate$_resetSeekCache();eventTarget.emit(AudioEvent.STOPPED);if(TAOBAO||TAOBAO_MINIGAME);else {const currentTime=self._ccprivate$_innerAudioContext?self._ccprivate$_innerAudioContext.currentTime:0;if(currentTime!==0){self._ccprivate$_innerAudioContext.seek(0);}}};innerAudioContext.onStop(self._ccprivate$_onStop);self._ccprivate$_onSeeked=()=>{eventTarget.emit(AudioEvent.SEEKED);self._ccprivate$_seeking=false;if(self._ccprivate$_needSeek){self._ccprivate$_needSeek=false;if(self._ccprivate$_cacheTime.toFixed(2)!==self._ccprivate$_innerAudioContext.currentTime.toFixed(2)){self.seek(self._ccprivate$_cacheTime).catch(e=>{});}}};innerAudioContext.onSeeked(self._ccprivate$_onSeeked);self._ccprivate$_onEnded=()=>{self._ccprivate$_state=AudioState.INIT;self._ccprivate$_resetSeekCache();eventTarget.emit(AudioEvent.ENDED);};innerAudioContext.onEnded(self._ccprivate$_onEnded);}destroy(){const self=this;systemInfo.off("hide",self._ccprivate$_onInterruptedBegin,self);systemInfo.off("show",self._ccprivate$_onInterruptedEnd,self);const innerAudioContext=self._ccprivate$_innerAudioContext;if(innerAudioContext){["Play","Pause","Stop","Seeked","Ended"].forEach(event=>{self._ccprivate$_offEvent(event);});innerAudioContext.stop();innerAudioContext.destroy();self._ccprivate$_innerAudioContext=null;self._ccprivate$_state=AudioState.INIT;}}_ccprivate$_onInterruptedBegin(){if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._ccprivate$_readyToHandleOnShow=true;this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}}_ccprivate$_onInterruptedEnd(){if(!this._ccprivate$_readyToHandleOnShow){this._ccprivate$_eventTarget.once(AudioEvent.INTERRUPTION_END,this._ccprivate$_onInterruptedEnd,this);return}if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}this._ccprivate$_readyToHandleOnShow=false;}_ccprivate$_offEvent(eventName){if(this[`_on${eventName}`]){this._ccprivate$_innerAudioContext[`off${eventName}`](this[`_on${eventName}`]);this[`_on${eventName}`]=null;}}get src(){return this._ccprivate$_innerAudioContext?this._ccprivate$_innerAudioContext.src:""}get type(){return AudioType.MINIGAME_AUDIO}static load(url){return new Promise((resolve,reject)=>{AudioPlayerMinigame.loadNative(url).then(innerAudioContext=>{resolve(new AudioPlayerMinigame(innerAudioContext));}).catch(reject);})}static loadNative(url){return new Promise((resolve,reject)=>{const innerAudioContext=minigame.createInnerAudioContext();const timer=setTimeout(()=>{clearEvent();resolve(innerAudioContext);},8000);function clearEvent(){innerAudioContext.offCanplay(success);innerAudioContext.offError(fail);}function success(){clearEvent();clearTimeout(timer);resolve(innerAudioContext);}function fail(err){clearEvent();clearTimeout(timer);console.error("failed to load innerAudioContext");reject(new Error(err));}innerAudioContext.onCanplay(success);innerAudioContext.onError(fail);innerAudioContext.src=url;})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayerMinigame.loadNative(url).then(innerAudioContext=>{resolve(new OneShotAudioMinigame(innerAudioContext,volume));}).catch(reject);})}get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_innerAudioContext.loop}set loop(val){this._ccprivate$_innerAudioContext.loop=val;}get volume(){return this._ccprivate$_innerAudioContext.volume}set volume(val){val=clamp01(val);this._ccprivate$_innerAudioContext.volume=val;}get duration(){return this._ccprivate$_innerAudioContext.duration}get currentTime(){if((HUAWEI||VIVO||OPPO)&&(this._ccprivate$_state===AudioState.STOPPED||this._ccprivate$_state===AudioState.INIT)){return this._ccprivate$_innerAudioContext.startTime}if(this._ccprivate$_state!==AudioState.PLAYING||this._ccprivate$_needSeek||this._ccprivate$_seeking){return this._ccprivate$_cacheTime}return this._ccprivate$_innerAudioContext.currentTime}get sampleRate(){return 0}getPCMData(channelIndex){return undefined}@enqueueOperation seek(time){return new Promise(resolve=>{if(this._ccprivate$_state===AudioState.PLAYING&&!this._ccprivate$_seeking){time=clamp(time,0,this.duration);this._ccprivate$_seeking=true;this._ccprivate$_cacheTime=time;this._ccprivate$_eventTarget.once(AudioEvent.SEEKED,resolve);this._ccprivate$_innerAudioContext.seek(time);}else {if((HUAWEI||VIVO||OPPO)&&(this._ccprivate$_state===AudioState.STOPPED||this._ccprivate$_state===AudioState.INIT)){this._ccprivate$_innerAudioContext.startTime=time;}else if(this._ccprivate$_cacheTime!==time){this._ccprivate$_cacheTime=time;this._ccprivate$_needSeek=true;}resolve();}})}@enqueueOperation play(){return new Promise(resolve=>{this._ccprivate$_eventTarget.once(AudioEvent.PLAYED,resolve);this._ccprivate$_innerAudioContext.play();})}@enqueueOperation pause(){return new Promise(resolve=>{if(this.state!==AudioState.PLAYING){resolve();}else {this._ccprivate$_eventTarget.once(AudioEvent.PAUSED,resolve);this._ccprivate$_innerAudioContext.pause();}})}@enqueueOperation stop(){return new Promise(resolve=>{if(AudioState.INIT===this._ccprivate$_state){this._ccprivate$_resetSeekCache();resolve();return}this._ccprivate$_eventTarget.once(AudioEvent.STOPPED,resolve);this._ccprivate$_innerAudioContext.stop();})}onInterruptionBegin(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._ccprivate$_eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._ccprivate$_eventTarget.off(AudioEvent.ENDED,cb);}} +- +-export { AudioPlayerMinigame, OneShotAudioMinigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-web.d.ts b/node_modules/@cocos/engine-pal/dist/audio/minigame/player-web.d.ts +deleted file mode 100644 +index 5b58aa3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-web.d.ts ++++ /dev/null +@@ -1,65 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { OperationInfo, OperationQueueable } from '../operation-queue'; +-import { AudioPCMDataView, AudioState, AudioType } from '../type'; +-export declare class OneShotAudioWeb { +- private _bufferSourceNode; +- private _onPlayCb?; +- private _url; +- get onPlay(): (() => void) | undefined; +- set onPlay(cb: (() => void) | undefined); +- private _onEndCb?; +- get onEnd(): (() => void) | undefined; +- set onEnd(cb: (() => void) | undefined); +- private constructor(); +- play(): void; +- stop(): void; +-} +-export declare class AudioPlayerWeb implements OperationQueueable { +- private _src; +- private _audioBuffer; +- private _sourceNode?; +- private _gainNode; +- private _volume; +- private _loop; +- private _state; +- private _audioTimer; +- private _readyToHandleOnShow; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ +- _eventTarget: EventTarget; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ +- _operationQueue: OperationInfo[]; +- constructor(audioBuffer: AudioBuffer, url: string); +- destroy(): void; +- private _onInterruptedBegin; +- private _onInterruptedEnd; +- static load(url: string): Promise; +- static loadNative(url: string): Promise; +- static loadOneShotAudio(url: string, volume: number): Promise; +- get src(): string; +- get type(): AudioType; +- get state(): AudioState; +- get loop(): boolean; +- set loop(val: boolean); +- get volume(): number; +- set volume(val: number); +- get duration(): number; +- get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; +- seek(time: number): Promise; +- play(): Promise; +- private _doPlay; +- private _stopSourceNode; +- pause(): Promise; +- stop(): Promise; +- onInterruptionBegin(cb: () => void): void; +- offInterruptionBegin(cb?: () => void): void; +- onInterruptionEnd(cb: () => void): void; +- offInterruptionEnd(cb?: () => void): void; +- onEnded(cb: () => void): void; +- offEnded(cb?: () => void): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-web.js b/node_modules/@cocos/engine-pal/dist/audio/minigame/player-web.js +deleted file mode 100644 +index 7677878..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/minigame/player-web.js ++++ /dev/null +@@ -1,13 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { clamp01 } from '@cocos/engine/cocos/core'; +-import * as debug from '@cocos/engine/cocos/core/platform/debug'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { audioBufferManager } from '../audio-buffer-manager.js'; +-import AudioTimer from '../audio-timer.js'; +-import { enqueueOperation } from '../operation-queue.js'; +-import { AudioState, AudioEvent, AudioType, AudioPCMDataView } from '../type.js'; +-import { game, Game } from '@cocos/engine/cocos/game'; +- +-const audioContext=minigame.tt?.getAudioContext?.();class OneShotAudioWeb{_ccprivate$_bufferSourceNode;_ccprivate$_onPlayCb;_ccprivate$_url;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(audioBuffer,volume,url){this._ccprivate$_bufferSourceNode=audioContext.createBufferSource();this._ccprivate$_bufferSourceNode.buffer=audioBuffer;this._ccprivate$_bufferSourceNode.loop=false;this._ccprivate$_url=url;const gainNode=audioContext.createGain();gainNode.gain.value=volume;this._ccprivate$_bufferSourceNode.connect(gainNode);gainNode.connect(audioContext.destination);}play(){this._ccprivate$_bufferSourceNode.start();this.onPlay?.();this._ccprivate$_bufferSourceNode.onended=()=>{audioBufferManager._ccprivate$tryReleasingCache(this._ccprivate$_url);this._ccprivate$_onEndCb?.();};}stop(){this._ccprivate$_bufferSourceNode.onended=null;audioBufferManager._ccprivate$tryReleasingCache(this._ccprivate$_url);this._ccprivate$_bufferSourceNode.stop();this._ccprivate$_bufferSourceNode.disconnect();this._ccprivate$_bufferSourceNode.buffer=null;}}class AudioPlayerWeb{_ccprivate$_src;_ccprivate$_audioBuffer;_ccprivate$_sourceNode;_ccprivate$_gainNode;_ccprivate$_volume=1;_ccprivate$_loop=false;_ccprivate$_state=AudioState.INIT;_ccprivate$_audioTimer;_ccprivate$_readyToHandleOnShow=false;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_operationQueue=[];constructor(audioBuffer,url){this._ccprivate$_audioBuffer=audioBuffer;this._ccprivate$_audioTimer=new AudioTimer(audioBuffer);this._ccprivate$_gainNode=audioContext.createGain();this._ccprivate$_gainNode.connect(audioContext.destination);this._ccprivate$_src=url;game.on(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.on(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);}destroy(){this._ccprivate$_audioTimer.destroy();if(this._ccprivate$_audioBuffer){this._ccprivate$_audioBuffer=null;}audioBufferManager._ccprivate$tryReleasingCache(this._ccprivate$_src);game.off(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.off(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);}_ccprivate$_onInterruptedBegin(){if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._ccprivate$_readyToHandleOnShow=true;this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{debug.warn("_onInterruptedBegin error",e);});}}_ccprivate$_onInterruptedEnd(){if(!this._ccprivate$_readyToHandleOnShow){this._ccprivate$_eventTarget.once(AudioEvent.INTERRUPTION_BEGIN,this._ccprivate$_onInterruptedEnd,this);return}if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{debug.warn("_onInterruptedEnd error",e);});}this._ccprivate$_readyToHandleOnShow=false;}static load(url){return new Promise((resolve,reject)=>{AudioPlayerWeb.loadNative(url).then(audioBuffer=>{resolve(new AudioPlayerWeb(audioBuffer,url));}).catch(reject);})}static loadNative(url){return new Promise((resolve,reject)=>{const cachedAudioBuffer=audioBufferManager._ccprivate$getCache(url);if(cachedAudioBuffer){audioBufferManager._ccprivate$retainCache(url);resolve(cachedAudioBuffer);return}globalThis.fsUtils.readArrayBuffer(url,(err,arrayBuffer)=>{if(err){reject(err);return}audioContext.decodeAudioData(arrayBuffer).then(decodedAudioBuffer=>{audioBufferManager._ccprivate$addCache(url,decodedAudioBuffer);resolve(decodedAudioBuffer);}).catch(reject);});})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayerWeb.loadNative(url).then(audioBuffer=>{const oneShotAudio=new OneShotAudioWeb(audioBuffer,volume,url);resolve(oneShotAudio);}).catch(reject);})}get src(){return this._ccprivate$_src}get type(){return AudioType.WEB_AUDIO}get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_loop}set loop(val){this._ccprivate$_loop=val;if(this._ccprivate$_sourceNode){this._ccprivate$_sourceNode.loop=val;}}get volume(){return this._ccprivate$_volume}set volume(val){val=clamp01(val);this._ccprivate$_volume=val;this._ccprivate$_gainNode.gain.value=val;}get duration(){return this._ccprivate$_audioBuffer.duration}get currentTime(){return this._ccprivate$_audioTimer.currentTime}get sampleRate(){return this._ccprivate$_audioBuffer.sampleRate}getPCMData(channelIndex){return new AudioPCMDataView(this._ccprivate$_audioBuffer.getChannelData(channelIndex),1)}@enqueueOperation seek(time){return new Promise(resolve=>{this._ccprivate$_audioTimer.seek(time);if(this._ccprivate$_state===AudioState.PLAYING){this._ccprivate$_doPlay().then(resolve).catch(e=>{debug.warn("seek error",e);});}else {resolve();}})}@enqueueOperation play(){return this._ccprivate$_doPlay()}_ccprivate$_doPlay(){return new Promise(resolve=>{this._ccprivate$_stopSourceNode();this._ccprivate$_sourceNode=audioContext.createBufferSource();this._ccprivate$_sourceNode.buffer=this._ccprivate$_audioBuffer;this._ccprivate$_sourceNode.loop=this._ccprivate$_loop;this._ccprivate$_sourceNode.connect(this._ccprivate$_gainNode);this._ccprivate$_sourceNode.start(0,this._ccprivate$_audioTimer.currentTime);this._ccprivate$_state=AudioState.PLAYING;this._ccprivate$_audioTimer.start();this._ccprivate$_sourceNode.onended=()=>{this._ccprivate$_audioTimer.stop();this._ccprivate$_eventTarget.emit(AudioEvent.ENDED);this._ccprivate$_state=AudioState.INIT;};resolve();})}_ccprivate$_stopSourceNode(){try{if(this._ccprivate$_sourceNode){this._ccprivate$_sourceNode.onended=null;this._ccprivate$_sourceNode.stop();this._ccprivate$_sourceNode.disconnect();this._ccprivate$_sourceNode.buffer=null;this._ccprivate$_sourceNode=undefined;}}catch(e){}}@enqueueOperation pause(){if(this._ccprivate$_state!==AudioState.PLAYING||!this._ccprivate$_sourceNode){return Promise.resolve()}this._ccprivate$_audioTimer.pause();this._ccprivate$_state=AudioState.PAUSED;this._ccprivate$_stopSourceNode();return Promise.resolve()}@enqueueOperation stop(){if(!this._ccprivate$_sourceNode){this._ccprivate$_audioTimer.stop();this._ccprivate$_state=AudioState.STOPPED;return Promise.resolve()}this._ccprivate$_audioTimer.stop();this._ccprivate$_state=AudioState.STOPPED;this._ccprivate$_stopSourceNode();return Promise.resolve()}onInterruptionBegin(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._ccprivate$_eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._ccprivate$_eventTarget.off(AudioEvent.ENDED,cb);}} +- +-export { AudioPlayerWeb, OneShotAudioWeb }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/minigame/player.d.ts b/node_modules/@cocos/engine-pal/dist/audio/minigame/player.d.ts +index 28c6613..20e962a 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/minigame/player.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/minigame/player.d.ts +@@ -1,27 +1,39 @@ +-import { AudioLoadOptions, AudioType, AudioState, AudioPCMDataView } from '../type'; +-import { AudioPlayerMinigame } from './player-minigame'; +-import { AudioPlayerWeb } from './player-web'; +-type AbstractAudioPlayer = AudioPlayerMinigame | AudioPlayerWeb; +-export declare class OneShotAudio { +- private _audio; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { AudioState, AudioType } from '../type'; ++import { OperationInfo, OperationQueueable } from '../operation-queue'; ++declare class OneShotAudio { ++ private _innerAudioContext; ++ private _onPlayCb?; + get onPlay(): (() => void) | undefined; +- set onPlay(v: (() => void) | undefined); ++ set onPlay(cb: (() => void) | undefined); ++ private _onEndCb?; + get onEnd(): (() => void) | undefined; +- set onEnd(v: (() => void) | undefined); ++ set onEnd(cb: (() => void) | undefined); + private constructor(); + play(): void; + stop(): void; + } +-export declare class AudioPlayer { +- private _player; +- constructor(player: AbstractAudioPlayer); +- static load(url: string, opts?: AudioLoadOptions): Promise; ++export declare class AudioPlayer implements OperationQueueable { ++ private _innerAudioContext; ++ private _state; ++ private _onHide?; ++ private _onShow?; ++ private _onPlay; ++ private _onPause; ++ private _onStop; ++ private _onSeeked; ++ private _onEnded; ++ _eventTarget: EventTarget; ++ _operationQueue: OperationInfo[]; ++ constructor(innerAudioContext: any); + destroy(): void; +- static loadNative(url: string, opts?: AudioLoadOptions): Promise; +- static loadOneShotAudio(url: string, volume: number, opts?: AudioLoadOptions): Promise; +- static readonly maxAudioChannel = 10; ++ private _offEvent; + get src(): string; + get type(): AudioType; ++ static load(url: string): Promise; ++ static loadNative(url: string): Promise; ++ static loadOneShotAudio(url: string, volume: number): Promise; ++ static readonly maxAudioChannel = 10; + get state(): AudioState; + get loop(): boolean; + set loop(val: boolean); +@@ -29,8 +41,6 @@ export declare class AudioPlayer { + set volume(val: number); + get duration(): number; + get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; + seek(time: number): Promise; + play(): Promise; + pause(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/minigame/player.js b/node_modules/@cocos/engine-pal/dist/audio/minigame/player.js +index 20a2f14..8e0f639 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/minigame/player.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/minigame/player.js +@@ -1,6 +1,10 @@ ++import { minigame } from 'pal/minigame'; + import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; +-import { AudioPlayerMinigame } from './player-minigame.js'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { AudioState, AudioEvent, AudioType } from '../type.js'; ++import { clamp01, clamp } from '@cocos/engine/cocos/core'; ++import { enqueueOperation } from '../operation-queue.js'; + +-class OneShotAudio{_ccprivate$_audio;get onPlay(){return this._ccprivate$_audio.onPlay}set onPlay(v){this._ccprivate$_audio.onPlay=v;}get onEnd(){return this._ccprivate$_audio.onEnd}set onEnd(v){this._ccprivate$_audio.onEnd=v;}constructor(audio){this._ccprivate$_audio=audio;}play(){this._ccprivate$_audio.play();}stop(){this._ccprivate$_audio.stop();}}class AudioPlayer{_ccprivate$_player;constructor(player){this._ccprivate$_player=player;}static load(url,opts){return new Promise((resolve,reject)=>{AudioPlayerMinigame.load(url).then(minigamePlayer=>{resolve(new AudioPlayer(minigamePlayer));}).catch(reject);})}destroy(){this._ccprivate$_player.destroy();}static loadNative(url,opts){return AudioPlayerMinigame.loadNative(url)}static loadOneShotAudio(url,volume,opts){return new Promise((resolve,reject)=>{AudioPlayerMinigame.loadOneShotAudio(url,volume).then(oneShotAudioMinigame=>{resolve(new OneShotAudio(oneShotAudioMinigame));}).catch(reject);})}static maxAudioChannel=10;get src(){return this._ccprivate$_player.src}get type(){return this._ccprivate$_player.type}get state(){return this._ccprivate$_player.state}get loop(){return this._ccprivate$_player.loop}set loop(val){this._ccprivate$_player.loop=val;}get volume(){return this._ccprivate$_player.volume}set volume(val){this._ccprivate$_player.volume=val;}get duration(){return this._ccprivate$_player.duration}get currentTime(){return this._ccprivate$_player.currentTime}get sampleRate(){return this._ccprivate$_player.sampleRate}getPCMData(channelIndex){return this._ccprivate$_player.getPCMData(channelIndex)}seek(time){return this._ccprivate$_player.seek(time)}play(){return this._ccprivate$_player.play()}pause(){return this._ccprivate$_player.pause()}stop(){return this._ccprivate$_player.stop()}onInterruptionBegin(cb){this._ccprivate$_player.onInterruptionBegin(cb);}offInterruptionBegin(cb){this._ccprivate$_player.offInterruptionBegin(cb);}onInterruptionEnd(cb){this._ccprivate$_player.onInterruptionEnd(cb);}offInterruptionEnd(cb){this._ccprivate$_player.offInterruptionEnd(cb);}onEnded(cb){this._ccprivate$_player.onEnded(cb);}offEnded(cb){this._ccprivate$_player.offEnded(cb);}}legacyCC.AudioPlayer=AudioPlayer; ++class OneShotAudio{_ccprivate$_innerAudioContext;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){if(this._ccprivate$_onPlayCb){this._ccprivate$_innerAudioContext.offPlay(this._ccprivate$_onPlayCb);}this._ccprivate$_onPlayCb=cb;if(cb){this._ccprivate$_innerAudioContext.onPlay(cb);}}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){if(this._ccprivate$_onEndCb){this._ccprivate$_innerAudioContext.offEnded(this._ccprivate$_onEndCb);}this._ccprivate$_onEndCb=cb;if(cb){this._ccprivate$_innerAudioContext.onEnded(cb);}}constructor(nativeAudio,volume){this._ccprivate$_innerAudioContext=nativeAudio;nativeAudio.volume=volume;}play(){this._ccprivate$_innerAudioContext.play();}stop(){this._ccprivate$_innerAudioContext.stop();}}class AudioPlayer{_ccprivate$_innerAudioContext;_ccprivate$_state=AudioState.INIT;_ccprivate$_onHide;_ccprivate$_onShow;_ccprivate$_onPlay;_ccprivate$_onPause;_ccprivate$_onStop;_ccprivate$_onSeeked;_ccprivate$_onEnded;_eventTarget=new EventTarget;_operationQueue=[];constructor(innerAudioContext){this._ccprivate$_innerAudioContext=innerAudioContext;this._eventTarget=new EventTarget;this._ccprivate$_onHide=()=>{if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onShow=()=>{if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);const eventTarget=this._eventTarget;this._ccprivate$_onPlay=()=>{this._ccprivate$_state=AudioState.PLAYING;eventTarget.emit(AudioEvent.PLAYED);};innerAudioContext.onPlay(this._ccprivate$_onPlay);this._ccprivate$_onPause=()=>{this._ccprivate$_state=AudioState.PAUSED;eventTarget.emit(AudioEvent.PAUSED);};innerAudioContext.onPause(this._ccprivate$_onPause);this._ccprivate$_onStop=()=>{this._ccprivate$_state=AudioState.STOPPED;eventTarget.emit(AudioEvent.STOPPED);};innerAudioContext.onStop(this._ccprivate$_onStop);this._ccprivate$_onSeeked=()=>{eventTarget.emit(AudioEvent.SEEKED);};innerAudioContext.onSeeked(this._ccprivate$_onSeeked);this._ccprivate$_onEnded=()=>{this._ccprivate$_state=AudioState.INIT;eventTarget.emit(AudioEvent.ENDED);};innerAudioContext.onEnded(this._ccprivate$_onEnded);}destroy(){if(this._ccprivate$_onShow){legacyCC.game.off(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);this._ccprivate$_onShow=undefined;}if(this._ccprivate$_onHide){legacyCC.game.off(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onHide=undefined;}if(this._ccprivate$_innerAudioContext){["Play","Pause","Stop","Seeked","Ended"].forEach(event=>{this._ccprivate$_offEvent(event);});this._ccprivate$_innerAudioContext=null;}}_ccprivate$_offEvent(eventName){if(this[`_on${eventName}`]){this._ccprivate$_innerAudioContext[`off${eventName}`](this[`_on${eventName}`]);this[`_on${eventName}`]=undefined;}}get src(){return this._ccprivate$_innerAudioContext?this._ccprivate$_innerAudioContext.src:""}get type(){return AudioType.MINIGAME_AUDIO}static load(url){return new Promise(resolve=>{AudioPlayer.loadNative(url).then(innerAudioContext=>{resolve(new AudioPlayer(innerAudioContext));}).catch(e=>{});})}static loadNative(url){return new Promise((resolve,reject)=>{const innerAudioContext=minigame.createInnerAudioContext();const timer=setTimeout(()=>{clearEvent();resolve(innerAudioContext);},8000);function clearEvent(){innerAudioContext.offCanplay(success);innerAudioContext.offError(fail);}function success(){clearEvent();clearTimeout(timer);resolve(innerAudioContext);}function fail(err){clearEvent();clearTimeout(timer);console.error("failed to load innerAudioContext");reject(new Error(err));}innerAudioContext.onCanplay(success);innerAudioContext.onError(fail);innerAudioContext.src=url;})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url).then(innerAudioContext=>{resolve(new OneShotAudio(innerAudioContext,volume));}).catch(reject);})}static maxAudioChannel=10;get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_innerAudioContext.loop}set loop(val){this._ccprivate$_innerAudioContext.loop=val;}get volume(){return this._ccprivate$_innerAudioContext.volume}set volume(val){val=clamp01(val);this._ccprivate$_innerAudioContext.volume=val;}get duration(){return this._ccprivate$_innerAudioContext.duration}get currentTime(){return this._ccprivate$_innerAudioContext.currentTime}@enqueueOperation seek(time){return new Promise(resolve=>{time=clamp(time,0,this.duration);this._eventTarget.once(AudioEvent.SEEKED,resolve);this._ccprivate$_innerAudioContext.seek(time);})}@enqueueOperation play(){return new Promise(resolve=>{this._eventTarget.once(AudioEvent.PLAYED,resolve);this._ccprivate$_innerAudioContext.play();})}@enqueueOperation pause(){return new Promise(resolve=>{this._eventTarget.once(AudioEvent.PAUSED,resolve);this._ccprivate$_innerAudioContext.pause();})}@enqueueOperation stop(){return new Promise(resolve=>{this._eventTarget.once(AudioEvent.STOPPED,resolve);this._ccprivate$_innerAudioContext.stop();})}onInterruptionBegin(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._eventTarget.off(AudioEvent.ENDED,cb);}}legacyCC.AudioPlayer=AudioPlayer; + +-export { AudioPlayer, OneShotAudio }; ++export { AudioPlayer }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/native/player.d.ts b/node_modules/@cocos/engine-pal/dist/audio/native/player.d.ts +index 3364331..4a9aac2 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/native/player.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/native/player.d.ts +@@ -1,5 +1,5 @@ +-import { AudioType, AudioState, AudioPCMDataView, AudioLoadOptions } from '../type'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; ++import { AudioType, AudioState } from '../type'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; + import { OperationInfo, OperationQueueable } from '../operation-queue'; + export declare class OneShotAudio { + private _id; +@@ -19,23 +19,16 @@ export declare class AudioPlayer implements OperationQueueable { + private _url; + private _id; + private _state; +- private _pcmHeader; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ ++ private _onHide?; ++ private _onShow?; + _eventTarget: EventTarget; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ + _operationQueue: OperationInfo[]; +- private _cachedState; ++ private _beforePlaying; + constructor(url: string); + destroy(): void; +- private _onInterruptedBegin; +- private _onInterruptedEnd; +- static load(url: string, opts?: AudioLoadOptions): Promise; +- static loadNative(url: string, opts?: AudioLoadOptions): Promise; +- static loadOneShotAudio(url: string, volume: number, opts?: AudioLoadOptions): Promise; ++ static load(url: string): Promise; ++ static loadNative(url: string): Promise; ++ static loadOneShotAudio(url: string, volume: number): Promise; + static readonly maxAudioChannel: number; + private get _isValid(); + get src(): string; +@@ -47,8 +40,6 @@ export declare class AudioPlayer implements OperationQueueable { + set volume(val: number); + get duration(): number; + get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; + seek(time: number): Promise; + play(): Promise; + pause(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/native/player.js b/node_modules/@cocos/engine-pal/dist/audio/native/player.js +index f142985..ad3e8f8 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/native/player.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/native/player.js +@@ -1,17 +1,17 @@ +-import { systemInfo } from 'pal/system-info'; +-import { AudioState, AudioEvent, AudioType, AudioPCMDataView } from '../type.js'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; ++import { system } from 'pal/system'; ++import { AudioState, AudioEvent, AudioType } from '../type.js'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; + import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; +-import { clamp01 } from '@cocos/engine/cocos/core'; ++import { clamp01, clamp } from '@cocos/engine/cocos/core'; + import { enqueueOperation } from '../operation-queue.js'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import { Platform } from '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +-import { game, Game } from '@cocos/engine/cocos/game'; ++import '../../system/enum-type/browser-type.js'; ++import '../../system/enum-type/event.js'; ++import '../../system/enum-type/language.js'; ++import '../../system/enum-type/network-type.js'; ++import '../../system/enum-type/operating-system.js'; ++import '../../system/enum-type/orientation.js'; ++import { Platform } from '../../system/enum-type/platform.js'; + +-const urlCount={};const audioEngine=jsb.AudioEngine;const INVALID_AUDIO_ID=-1;var AudioBufferFormat;(function(AudioBufferFormat){AudioBufferFormat[AudioBufferFormat["UNKNOWN"]=0]="UNKNOWN";AudioBufferFormat[AudioBufferFormat["SIGNED_8"]=1]="SIGNED_8";AudioBufferFormat[AudioBufferFormat["UNSIGNED_8"]=2]="UNSIGNED_8";AudioBufferFormat[AudioBufferFormat["SIGNED_16"]=3]="SIGNED_16";AudioBufferFormat[AudioBufferFormat["UNSIGNED_16"]=4]="UNSIGNED_16";AudioBufferFormat[AudioBufferFormat["SIGNED_32"]=5]="SIGNED_32";AudioBufferFormat[AudioBufferFormat["UNSIGNED_32"]=6]="UNSIGNED_32";AudioBufferFormat[AudioBufferFormat["FLOAT_32"]=7]="FLOAT_32";AudioBufferFormat[AudioBufferFormat["FLOAT_64"]=8]="FLOAT_64";})(AudioBufferFormat||(AudioBufferFormat={}));const bufferConstructorMap={[AudioBufferFormat.UNKNOWN]:undefined,[AudioBufferFormat.SIGNED_8]:{ctor:Int8Array,maxValue:127},[AudioBufferFormat.UNSIGNED_8]:{ctor:Uint8Array,maxValue:255},[AudioBufferFormat.SIGNED_16]:{ctor:Int16Array,maxValue:32767},[AudioBufferFormat.UNSIGNED_16]:{ctor:Uint16Array,maxValue:65535},[AudioBufferFormat.SIGNED_32]:{ctor:Int32Array,maxValue:2147483647},[AudioBufferFormat.UNSIGNED_32]:{ctor:Uint32Array,maxValue:4294967295},[AudioBufferFormat.FLOAT_32]:{ctor:Float32Array,maxValue:1},[AudioBufferFormat.FLOAT_64]:{ctor:Float64Array,maxValue:1}};class OneShotAudio{_ccprivate$_id=INVALID_AUDIO_ID;_ccprivate$_url;_ccprivate$_volume;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(url,volume){this._ccprivate$_url=url;this._ccprivate$_volume=volume;}play(){this._ccprivate$_id=jsb.AudioEngine.play2d(this._ccprivate$_url,false,this._ccprivate$_volume);jsb.AudioEngine.setFinishCallback(this._ccprivate$_id,()=>{this.onEnd?.();});this.onPlay?.();}stop(){if(this._ccprivate$_id===INVALID_AUDIO_ID){return}jsb.AudioEngine.stop(this._ccprivate$_id);}}class AudioPlayer{_ccprivate$_url;_ccprivate$_id=INVALID_AUDIO_ID;_ccprivate$_state=AudioState.INIT;_ccprivate$_pcmHeader;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_operationQueue=[];_ccprivate$_cachedState={duration:1,loop:false,currentTime:0,volume:1};constructor(url){this._ccprivate$_url=url;this._ccprivate$_pcmHeader=null;game.on(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.on(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);}destroy(){game.off(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.off(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);if(--urlCount[this._ccprivate$_url]<=0){audioEngine.uncache(this._ccprivate$_url);}}_ccprivate$_onInterruptedBegin(){if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}}_ccprivate$_onInterruptedEnd(){if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}}static load(url,opts){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url,opts).then(url=>{resolve(new AudioPlayer(url));}).catch(err=>reject(err));})}static loadNative(url,opts){return new Promise((resolve,reject)=>{if(systemInfo.platform===Platform.WIN32){audioEngine.preload(url,isSuccess=>{console.debug("somehow preload success on windows");});resolve(url);}else {audioEngine.preload(url,isSuccess=>{if(isSuccess){resolve(url);}else {reject(new Error("load audio failed"));}});}})}static loadOneShotAudio(url,volume,opts){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url,opts).then(url=>{resolve(new OneShotAudio(url,volume));}).catch(reject);})}static maxAudioChannel=audioEngine.getMaxAudioInstance();get _isValid(){return this._ccprivate$_id!==INVALID_AUDIO_ID}get src(){return this._ccprivate$_url}get type(){return AudioType.NATIVE_AUDIO}get state(){return this._ccprivate$_state}get loop(){if(!this._isValid){return this._ccprivate$_cachedState.loop}return audioEngine.isLoop(this._ccprivate$_id)}set loop(val){if(this._isValid){audioEngine.setLoop(this._ccprivate$_id,val);}this._ccprivate$_cachedState.loop=val;}get volume(){if(!this._isValid){return this._ccprivate$_cachedState.volume}return audioEngine.getVolume(this._ccprivate$_id)}set volume(val){val=clamp01(val);if(this._isValid){audioEngine.setVolume(this._ccprivate$_id,val);}this._ccprivate$_cachedState.volume=val;}get duration(){if(!this._isValid){return this._ccprivate$_cachedState.duration}return audioEngine.getDuration(this._ccprivate$_id)}get currentTime(){if(!this._isValid){return this._ccprivate$_cachedState.currentTime}return audioEngine.getCurrentTime(this._ccprivate$_id)}get sampleRate(){if(this._ccprivate$_pcmHeader===null){this._ccprivate$_pcmHeader=jsb.AudioEngine.getPCMHeader(this._ccprivate$_url);}return this._ccprivate$_pcmHeader.sampleRate}getPCMData(channelIndex){const arrayBuffer=audioEngine.getOriginalPCMBuffer(this._ccprivate$_url,channelIndex);if(this._ccprivate$_pcmHeader===null){this._ccprivate$_pcmHeader=jsb.AudioEngine.getPCMHeader(this._ccprivate$_url);}const audioBufferInfo=bufferConstructorMap[this._ccprivate$_pcmHeader.audioFormat];if(!arrayBuffer||!audioBufferInfo){return undefined}return new AudioPCMDataView(arrayBuffer,audioBufferInfo.ctor,1/audioBufferInfo.maxValue)}@enqueueOperation seek(time){return new Promise(resolve=>{if(this._isValid){audioEngine.setCurrentTime(this._ccprivate$_id,time);}this._ccprivate$_cachedState.currentTime=time;return resolve()})}@enqueueOperation play(){return new Promise(resolve=>{if(this._isValid){if(this._ccprivate$_state===AudioState.PAUSED||this._ccprivate$_state===AudioState.INTERRUPTED){audioEngine.resume(this._ccprivate$_id);}else if(this._ccprivate$_state===AudioState.PLAYING){audioEngine.pause(this._ccprivate$_id);audioEngine.setCurrentTime(this._ccprivate$_id,0);audioEngine.resume(this._ccprivate$_id);}}else {this._ccprivate$_id=audioEngine.play2d(this._ccprivate$_url,this._ccprivate$_cachedState.loop,this._ccprivate$_cachedState.volume);if(this._isValid){if(this._ccprivate$_cachedState.currentTime!==0){audioEngine.setCurrentTime(this._ccprivate$_id,this._ccprivate$_cachedState.currentTime);this._ccprivate$_cachedState.currentTime=0;}audioEngine.setFinishCallback(this._ccprivate$_id,()=>{this._ccprivate$_cachedState.currentTime=0;this._ccprivate$_id=INVALID_AUDIO_ID;this._ccprivate$_state=AudioState.INIT;this._ccprivate$_eventTarget.emit(AudioEvent.ENDED);});}}this._ccprivate$_state=AudioState.PLAYING;resolve();})}@enqueueOperation pause(){return new Promise(resolve=>{if(this._isValid){audioEngine.pause(this._ccprivate$_id);}this._ccprivate$_state=AudioState.PAUSED;resolve();})}@enqueueOperation stop(){return new Promise(resolve=>{if(this._isValid){audioEngine.stop(this._ccprivate$_id);}this._ccprivate$_state=AudioState.STOPPED;this._ccprivate$_id=INVALID_AUDIO_ID;this._ccprivate$_cachedState.currentTime=0;resolve();})}onInterruptionBegin(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._ccprivate$_eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._ccprivate$_eventTarget.off(AudioEvent.ENDED,cb);}}legacyCC.AudioPlayer=AudioPlayer; ++const urlCount={};const audioEngine=jsb.AudioEngine;const INVALID_AUDIO_ID=-1;class OneShotAudio{_ccprivate$_id=INVALID_AUDIO_ID;_ccprivate$_url;_ccprivate$_volume;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(url,volume){this._ccprivate$_url=url;this._ccprivate$_volume=volume;}play(){this._ccprivate$_id=jsb.AudioEngine.play2d(this._ccprivate$_url,false,this._ccprivate$_volume);jsb.AudioEngine.setFinishCallback(this._ccprivate$_id,()=>{this.onEnd?.();});this.onPlay?.();}stop(){if(this._ccprivate$_id===INVALID_AUDIO_ID){return}jsb.AudioEngine.stop(this._ccprivate$_id);}}class AudioPlayer{_ccprivate$_url;_ccprivate$_id=INVALID_AUDIO_ID;_ccprivate$_state=AudioState.INIT;_ccprivate$_onHide;_ccprivate$_onShow;_eventTarget=new EventTarget;_operationQueue=[];_ccprivate$_beforePlaying={duration:0,loop:false,currentTime:0,volume:1};constructor(url){this._ccprivate$_url=url;this._ccprivate$_onHide=()=>{if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onShow=()=>{if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);}destroy(){if(this._ccprivate$_onShow){legacyCC.game.off(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);this._ccprivate$_onShow=undefined;}if(this._ccprivate$_onHide){legacyCC.game.off(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onHide=undefined;}if(--urlCount[this._ccprivate$_url]<=0){audioEngine.uncache(this._ccprivate$_url);}}static load(url){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url).then(url=>{resolve(new AudioPlayer(url));}).catch(err=>reject(err));})}static loadNative(url){return new Promise((resolve,reject)=>{if(system.platform===Platform.WIN32){resolve(url);}else {audioEngine.preload(url,isSuccess=>{if(isSuccess){resolve(url);}else {reject(new Error("load audio failed"));}});}})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url).then(url=>{resolve(new OneShotAudio(url,volume));}).catch(reject);})}static maxAudioChannel=audioEngine.getMaxAudioInstance();get _isValid(){return this._ccprivate$_id!==INVALID_AUDIO_ID}get src(){return this._ccprivate$_url}get type(){return AudioType.NATIVE_AUDIO}get state(){return this._ccprivate$_state}get loop(){if(!this._isValid){return this._ccprivate$_beforePlaying.loop}return audioEngine.isLoop(this._ccprivate$_id)}set loop(val){if(!this._isValid){this._ccprivate$_beforePlaying.loop=val;}else {audioEngine.setLoop(this._ccprivate$_id,val);}}get volume(){if(!this._isValid){return this._ccprivate$_beforePlaying.volume}return audioEngine.getVolume(this._ccprivate$_id)}set volume(val){val=clamp01(val);if(!this._isValid){this._ccprivate$_beforePlaying.volume=val;}else {audioEngine.setVolume(this._ccprivate$_id,val);}}get duration(){if(!this._isValid){return this._ccprivate$_beforePlaying.duration}return audioEngine.getDuration(this._ccprivate$_id)}get currentTime(){if(!this._isValid){return this._ccprivate$_beforePlaying.currentTime}return audioEngine.getCurrentTime(this._ccprivate$_id)}@enqueueOperation seek(time){return new Promise(resolve=>{time=clamp(time,0,this.duration);if(!this._isValid){this._ccprivate$_beforePlaying.currentTime=time;return resolve()}audioEngine.setCurrentTime(this._ccprivate$_id,time);return resolve()})}@enqueueOperation play(){return new Promise(resolve=>{if(this._isValid){if(this._ccprivate$_state===AudioState.PAUSED){audioEngine.resume(this._ccprivate$_id);}else if(this._ccprivate$_state===AudioState.PLAYING){audioEngine.pause(this._ccprivate$_id);audioEngine.setCurrentTime(this._ccprivate$_id,0);audioEngine.resume(this._ccprivate$_id);}}else {this._ccprivate$_id=audioEngine.play2d(this._ccprivate$_url,this._ccprivate$_beforePlaying.loop,this._ccprivate$_beforePlaying.volume);if(this._isValid){if(this._ccprivate$_beforePlaying.currentTime!==0){audioEngine.setCurrentTime(this._ccprivate$_id,this._ccprivate$_beforePlaying.currentTime);}audioEngine.setFinishCallback(this._ccprivate$_id,()=>{this._ccprivate$_id=INVALID_AUDIO_ID;this._ccprivate$_state=AudioState.INIT;this._eventTarget.emit(AudioEvent.ENDED);});}}this._ccprivate$_state=AudioState.PLAYING;resolve();})}@enqueueOperation pause(){return new Promise(resolve=>{if(this._isValid){audioEngine.pause(this._ccprivate$_id);}this._ccprivate$_state=AudioState.PAUSED;resolve();})}@enqueueOperation stop(){return new Promise(resolve=>{if(this._isValid){audioEngine.stop(this._ccprivate$_id);}this._ccprivate$_state=AudioState.STOPPED;this._ccprivate$_id=INVALID_AUDIO_ID;resolve();})}onInterruptionBegin(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._eventTarget.off(AudioEvent.ENDED,cb);}}legacyCC.AudioPlayer=AudioPlayer; + + export { AudioPlayer, OneShotAudio }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/nodejs/player.d.ts b/node_modules/@cocos/engine-pal/dist/audio/nodejs/player.d.ts +deleted file mode 100644 +index 01a36fe..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/nodejs/player.d.ts ++++ /dev/null +@@ -1,55 +0,0 @@ +-import { AudioType, AudioState, AudioPCMDataView, AudioLoadOptions } from '../type'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { OperationInfo, OperationQueueable } from '../operation-queue'; +-export declare class OneShotAudio { +- private _id; +- private _onPlayCb?; +- get onPlay(): (() => void) | undefined; +- set onPlay(cb: (() => void) | undefined); +- private _onEndCb?; +- get onEnd(): (() => void) | undefined; +- set onEnd(cb: (() => void) | undefined); +- private constructor(); +- play(): void; +- stop(): void; +-} +-export declare class AudioPlayer implements OperationQueueable { +- private _id; +- private _state; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ +- _eventTarget: EventTarget; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ +- _operationQueue: OperationInfo[]; +- private _cachedState; +- constructor(url: string); +- destroy(): void; +- static load(url: string, opts?: AudioLoadOptions): Promise; +- static loadNative(url: string, opts?: AudioLoadOptions): Promise; +- static loadOneShotAudio(url: string, volume: number, opts?: AudioLoadOptions): Promise; +- private get _isValid(); +- get src(): string; +- get type(): AudioType; +- get state(): AudioState; +- get loop(): boolean; +- set loop(val: boolean); +- get volume(): number; +- set volume(val: number); +- get duration(): number; +- get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; +- seek(time: number): Promise; +- play(): Promise; +- pause(): Promise; +- stop(): Promise; +- onInterruptionBegin(cb: () => void): void; +- offInterruptionBegin(cb?: () => void): void; +- onInterruptionEnd(cb: () => void): void; +- offInterruptionEnd(cb?: () => void): void; +- onEnded(cb: () => void): void; +- offEnded(cb?: () => void): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/audio/nodejs/player.js b/node_modules/@cocos/engine-pal/dist/audio/nodejs/player.js +deleted file mode 100644 +index 419ce20..0000000 +--- a/node_modules/@cocos/engine-pal/dist/audio/nodejs/player.js ++++ /dev/null +@@ -1,9 +0,0 @@ +-import { AudioState, AudioType, AudioEvent } from '../type.js'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; +-import { clamp01 } from '@cocos/engine/cocos/core'; +-import { enqueueOperation } from '../operation-queue.js'; +- +-const INVALID_AUDIO_ID=-1;var AudioBufferFormat;(function(AudioBufferFormat){AudioBufferFormat[AudioBufferFormat["UNKNOWN"]=0]="UNKNOWN";AudioBufferFormat[AudioBufferFormat["SIGNED_8"]=1]="SIGNED_8";AudioBufferFormat[AudioBufferFormat["UNSIGNED_8"]=2]="UNSIGNED_8";AudioBufferFormat[AudioBufferFormat["SIGNED_16"]=3]="SIGNED_16";AudioBufferFormat[AudioBufferFormat["UNSIGNED_16"]=4]="UNSIGNED_16";AudioBufferFormat[AudioBufferFormat["SIGNED_32"]=5]="SIGNED_32";AudioBufferFormat[AudioBufferFormat["UNSIGNED_32"]=6]="UNSIGNED_32";AudioBufferFormat[AudioBufferFormat["FLOAT_32"]=7]="FLOAT_32";AudioBufferFormat[AudioBufferFormat["FLOAT_64"]=8]="FLOAT_64";})(AudioBufferFormat||(AudioBufferFormat={}));({[AudioBufferFormat.UNKNOWN]:undefined,[AudioBufferFormat.SIGNED_8]:{},[AudioBufferFormat.UNSIGNED_8]:{},[AudioBufferFormat.SIGNED_16]:{},[AudioBufferFormat.UNSIGNED_16]:{},[AudioBufferFormat.SIGNED_32]:{},[AudioBufferFormat.UNSIGNED_32]:{},[AudioBufferFormat.FLOAT_32]:{},[AudioBufferFormat.FLOAT_64]:{}});class OneShotAudio{_ccprivate$_id=INVALID_AUDIO_ID;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(url,volume){}play(){}stop(){if(this._ccprivate$_id===INVALID_AUDIO_ID){return}}}class AudioPlayer{_ccprivate$_id=INVALID_AUDIO_ID;_ccprivate$_state=AudioState.INIT;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_operationQueue=[];_ccprivate$_cachedState={duration:1,loop:false,currentTime:0,volume:1};constructor(url){}destroy(){}static load(url,opts){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url,opts).then(url=>{resolve(new AudioPlayer(url));}).catch(err=>reject(err));})}static loadNative(url,opts){return new Promise((resolve,reject)=>{console.warn("Audio file parsing is not supported.");resolve(url);})}static loadOneShotAudio(url,volume,opts){return new Promise((resolve,reject)=>{AudioPlayer.loadNative(url,opts).then(url=>{resolve(new OneShotAudio(url,volume));}).catch(reject);})}get _isValid(){return this._ccprivate$_id!==INVALID_AUDIO_ID}get src(){return ""}get type(){return AudioType.NATIVE_AUDIO}get state(){return this._ccprivate$_state}get loop(){if(!this._isValid){return this._ccprivate$_cachedState.loop}return false}set loop(val){if(this._isValid);this._ccprivate$_cachedState.loop=val;}get volume(){if(!this._isValid){return this._ccprivate$_cachedState.volume}return 0}set volume(val){val=clamp01(val);if(this._isValid);this._ccprivate$_cachedState.volume=val;}get duration(){if(!this._isValid){return this._ccprivate$_cachedState.duration}return 0}get currentTime(){if(!this._isValid){return this._ccprivate$_cachedState.currentTime}return 0}get sampleRate(){return 0}getPCMData(channelIndex){return undefined}@enqueueOperation seek(time){return new Promise(resolve=>{if(this._isValid);this._ccprivate$_cachedState.currentTime=time;return resolve()})}@enqueueOperation play(){return new Promise(resolve=>{resolve();})}@enqueueOperation pause(){return new Promise(resolve=>{resolve();})}@enqueueOperation stop(){return new Promise(resolve=>{resolve();})}onInterruptionBegin(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._ccprivate$_eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._ccprivate$_eventTarget.off(AudioEvent.ENDED,cb);}}legacyCC.AudioPlayer=AudioPlayer; +- +-export { AudioPlayer, OneShotAudio }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/operation-queue.d.ts b/node_modules/@cocos/engine-pal/dist/audio/operation-queue.d.ts +index f0f5186..33202a2 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/operation-queue.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/operation-queue.d.ts +@@ -1,13 +1,11 @@ + import { EventTarget } from '@cocos/engine/cocos/core'; + type OperationMethod = (...args: any[]) => Promise; + export interface OperationInfo { +- op: string; + id: number; + func: OperationMethod; + args: any[]; + invoking: boolean; + } +-/** @mangle */ + export interface OperationQueueable { + _operationQueue: OperationInfo[]; + _eventTarget: EventTarget; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/operation-queue.js b/node_modules/@cocos/engine-pal/dist/audio/operation-queue.js +index e3d81db..4b810bc 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/operation-queue.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/operation-queue.js +@@ -1,3 +1,3 @@ +-function removeUnneededCalls(instance){const size=instance._ccprivate$_operationQueue.length;const tmpQueue=instance._ccprivate$_operationQueue.slice();const reserveOps=[];let seekSearched=false;for(let i=size-1;i>=0;i--){const opInfo=tmpQueue[i];if(opInfo.op==="stop"){reserveOps.push(opInfo);break}else if(opInfo.op==="seek"){if(!seekSearched){reserveOps.push(opInfo);seekSearched=true;}}else if(seekSearched){reserveOps.push(opInfo);break}else if(reserveOps.length===0){reserveOps.push(opInfo);}}instance._ccprivate$_operationQueue=reserveOps.reverse();}let operationId=0;function _tryCallingRecursively(target,opInfo){if(opInfo.invoking){return}opInfo.invoking=true;opInfo.func.call(target,...opInfo.args).then(()=>{opInfo.invoking=false;target._ccprivate$_operationQueue.shift();target._ccprivate$_eventTarget.emit(opInfo.id.toString());target._ccprivate$_eventTarget.off(opInfo.id.toString());removeUnneededCalls(target);const nextOpInfo=target._ccprivate$_operationQueue[0];if(nextOpInfo){_tryCallingRecursively(target,nextOpInfo);}}).catch(e=>{});}function enqueueOperation(target,propertyKey,descriptor){const originalOperation=descriptor.value;descriptor.value=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return new Promise(resolve=>{const id=operationId++;const instance=this;instance._ccprivate$_operationQueue.push({op:propertyKey,id,func:originalOperation,args,invoking:false});instance._ccprivate$_eventTarget.once(id.toString(),resolve);const opInfo=instance._ccprivate$_operationQueue[0];_tryCallingRecursively(instance,opInfo);})};} ++let operationId=0;function _tryCallingRecursively(target,opInfo){if(opInfo.invoking){return}opInfo.invoking=true;opInfo.func.call(target,...opInfo.args).then(()=>{opInfo.invoking=false;target._operationQueue.shift();target._eventTarget.emit(opInfo.id.toString());const nextOpInfo=target._operationQueue[0];nextOpInfo&&_tryCallingRecursively(target,nextOpInfo);}).catch(e=>{});}function enqueueOperation(target,propertyKey,descriptor){const originalOperation=descriptor.value;descriptor.value=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return new Promise(resolve=>{const id=operationId++;const instance=this;instance._operationQueue.push({id,func:originalOperation,args,invoking:false});instance._eventTarget.once(id.toString(),resolve);const opInfo=instance._operationQueue[0];_tryCallingRecursively(instance,opInfo);})};} + + export { enqueueOperation }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/type.d.ts b/node_modules/@cocos/engine-pal/dist/audio/type.d.ts +index ec21027..beb6b32 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/type.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/type.d.ts +@@ -25,12 +25,3 @@ export declare enum AudioState { + STOPPED = 3, + INTERRUPTED = 4 + } +-export type AudioBufferView = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; +-export declare class AudioPCMDataView { +- private _bufferView; +- private _normalizeFactor; +- constructor(arrayBufferView: AudioBufferView, normalizeFactor: number); +- constructor(arrayBuffer: ArrayBuffer, Ctor: Constructor, normalizeFactor: number); +- get length(): number; +- getData(offset: number): number; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/audio/type.js b/node_modules/@cocos/engine-pal/dist/audio/type.js +index 01aa852..c9514b7 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/type.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/type.js +@@ -1,3 +1,3 @@ +-let AudioEvent;(function(AudioEvent){AudioEvent["PLAYED"]="play";AudioEvent["PAUSED"]="pause";AudioEvent["STOPPED"]="stop";AudioEvent["SEEKED"]="seeked";AudioEvent["ENDED"]="ended";AudioEvent["INTERRUPTION_BEGIN"]="interruptionBegin";AudioEvent["INTERRUPTION_END"]="interruptionEnd";AudioEvent["USER_GESTURE"]="on_gesture";})(AudioEvent||(AudioEvent={}));let AudioType;(function(AudioType){AudioType[AudioType["DOM_AUDIO"]=0]="DOM_AUDIO";AudioType[AudioType["WEB_AUDIO"]=1]="WEB_AUDIO";AudioType[AudioType["MINIGAME_AUDIO"]=2]="MINIGAME_AUDIO";AudioType[AudioType["NATIVE_AUDIO"]=3]="NATIVE_AUDIO";AudioType[AudioType["UNKNOWN_AUDIO"]=4]="UNKNOWN_AUDIO";})(AudioType||(AudioType={}));let AudioState;(function(AudioState){AudioState[AudioState["INIT"]=0]="INIT";AudioState[AudioState["PLAYING"]=1]="PLAYING";AudioState[AudioState["PAUSED"]=2]="PAUSED";AudioState[AudioState["STOPPED"]=3]="STOPPED";AudioState[AudioState["INTERRUPTED"]=4]="INTERRUPTED";})(AudioState||(AudioState={}));class AudioPCMDataView{_ccprivate$_bufferView;_ccprivate$_normalizeFactor=1;constructor(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(args.length===2){this._ccprivate$_bufferView=args[0];this._ccprivate$_normalizeFactor=args[1];}else {const arrayBuffer=args[0];const Ctor=args[1];const normalizeFactor=args[2];this._ccprivate$_bufferView=new Ctor(arrayBuffer);this._ccprivate$_normalizeFactor=normalizeFactor;}}get length(){return this._ccprivate$_bufferView.length}getData(offset){return this._ccprivate$_bufferView[offset]*this._ccprivate$_normalizeFactor}} ++let AudioEvent;(function(AudioEvent){AudioEvent["PLAYED"]="play";AudioEvent["PAUSED"]="pause";AudioEvent["STOPPED"]="stop";AudioEvent["SEEKED"]="seeked";AudioEvent["ENDED"]="ended";AudioEvent["INTERRUPTION_BEGIN"]="interruptionBegin";AudioEvent["INTERRUPTION_END"]="interruptionEnd";AudioEvent["USER_GESTURE"]="on_gesture";})(AudioEvent||(AudioEvent={}));let AudioType;(function(AudioType){AudioType[AudioType["DOM_AUDIO"]=0]="DOM_AUDIO";AudioType[AudioType["WEB_AUDIO"]=1]="WEB_AUDIO";AudioType[AudioType["MINIGAME_AUDIO"]=2]="MINIGAME_AUDIO";AudioType[AudioType["NATIVE_AUDIO"]=3]="NATIVE_AUDIO";AudioType[AudioType["UNKNOWN_AUDIO"]=4]="UNKNOWN_AUDIO";})(AudioType||(AudioType={}));let AudioState;(function(AudioState){AudioState[AudioState["INIT"]=0]="INIT";AudioState[AudioState["PLAYING"]=1]="PLAYING";AudioState[AudioState["PAUSED"]=2]="PAUSED";AudioState[AudioState["STOPPED"]=3]="STOPPED";AudioState[AudioState["INTERRUPTED"]=4]="INTERRUPTED";})(AudioState||(AudioState={})); + +-export { AudioEvent, AudioPCMDataView, AudioState, AudioType }; ++export { AudioEvent, AudioState, AudioType }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.d.ts b/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.d.ts +index ca62cb7..9a50efb 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.d.ts +@@ -1,5 +1,5 @@ +-import { AudioState, AudioPCMDataView, AudioType } from '../type'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; ++import { AudioState, AudioType } from '../type'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; + import { OperationInfo, OperationQueueable } from '../operation-queue'; + export declare class OneShotAudioDOM { + private _domAudio; +@@ -16,22 +16,16 @@ export declare class OneShotAudioDOM { + export declare class AudioPlayerDOM implements OperationQueueable { + private _domAudio; + private _state; +- private _onEnded; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ ++ private _onHide?; ++ private _onShow?; ++ private _onEnded?; + _eventTarget: EventTarget; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ + _operationQueue: OperationInfo[]; + constructor(nativeAudio: HTMLAudioElement); + destroy(): void; + static load(url: string): Promise; + static loadNative(url: string): Promise; + static loadOneShotAudio(url: string, volume: number): Promise; +- private _onInterruptedBegin; +- private _onInterruptedEnd; + get src(): string; + get type(): AudioType; + get state(): AudioState; +@@ -41,8 +35,6 @@ export declare class AudioPlayerDOM implements OperationQueueable { + set volume(val: number); + get duration(): number; + get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; + seek(time: number): Promise; + play(): Promise; + pause(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.js b/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.js +index 81ad262..9062dfb 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/web/player-dom.js +@@ -1,16 +1,17 @@ +-import { systemInfo } from 'pal/system-info'; ++import { system } from 'pal/system'; + import { AudioState, AudioEvent, AudioType } from '../type.js'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; + import { clamp01, clamp } from '@cocos/engine/cocos/core'; + import { enqueueOperation } from '../operation-queue.js'; +-import { BrowserType } from '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import { OS } from '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +-import { game, Game } from '@cocos/engine/cocos/game'; ++import { BrowserType } from '../../system/enum-type/browser-type.js'; ++import '../../system/enum-type/event.js'; ++import '../../system/enum-type/language.js'; ++import '../../system/enum-type/network-type.js'; ++import { OS } from '../../system/enum-type/operating-system.js'; ++import '../../system/enum-type/orientation.js'; ++import '../../system/enum-type/platform.js'; + +-function ensurePlaying(domAudio){return new Promise(resolve=>{const promise=domAudio.play();if(promise===undefined){return resolve()}promise.then(resolve).catch(()=>{const onGesture=()=>{domAudio.play().then(()=>{canvas?.removeEventListener("touchend",onGesture,{capture:true});canvas?.removeEventListener("mouseup",onGesture,{capture:true});}).catch(e=>{});resolve();};const canvas=document.getElementById("GameCanvas");canvas?.addEventListener("touchend",onGesture,{capture:true});canvas?.addEventListener("mouseup",onGesture,{capture:true});});return null})}class OneShotAudioDOM{_ccprivate$_domAudio;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){if(this._ccprivate$_onEndCb){this._ccprivate$_domAudio.removeEventListener("ended",this._ccprivate$_onEndCb);}this._ccprivate$_onEndCb=cb;if(cb){this._ccprivate$_domAudio.addEventListener("ended",cb);}}constructor(nativeAudio,volume){this._ccprivate$_domAudio=nativeAudio;nativeAudio.volume=volume;}play(){ensurePlaying(this._ccprivate$_domAudio).then(()=>{this.onPlay?.();}).catch(e=>{});}stop(){this._ccprivate$_domAudio.pause();}}class AudioPlayerDOM{_ccprivate$_domAudio;_ccprivate$_state=AudioState.INIT;_ccprivate$_onEnded;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_operationQueue=[];constructor(nativeAudio){this._ccprivate$_domAudio=nativeAudio;game.on(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.on(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);this._ccprivate$_onEnded=()=>{this.seek(0).catch(e=>{});this._ccprivate$_state=AudioState.INIT;this._ccprivate$_eventTarget.emit(AudioEvent.ENDED);};this._ccprivate$_domAudio.addEventListener("ended",this._ccprivate$_onEnded);}destroy(){game.off(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.off(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);this._ccprivate$_domAudio.removeEventListener("ended",this._ccprivate$_onEnded);this._ccprivate$_domAudio=null;}static load(url){return new Promise((resolve,reject)=>{AudioPlayerDOM.loadNative(url).then(domAudio=>{resolve(new AudioPlayerDOM(domAudio));}).catch(reject);})}static loadNative(url){return new Promise((resolve,reject)=>{const domAudio=document.createElement("audio");let loadedEvent="canplaythrough";if(systemInfo.os===OS.IOS){loadedEvent="loadedmetadata";}else if(systemInfo.browserType===BrowserType.FIREFOX){loadedEvent="canplay";}const timer=setTimeout(()=>{if(domAudio.readyState===0){failure();}else {success();}},8000);const clearEvent=()=>{clearTimeout(timer);domAudio.removeEventListener(loadedEvent,success,false);domAudio.removeEventListener("error",failure,false);};const success=()=>{clearEvent();resolve(domAudio);};const failure=()=>{clearEvent();const message=`load audio failure - ${url}`;reject(new Error(message));};domAudio.addEventListener(loadedEvent,success,false);domAudio.addEventListener("error",failure,false);domAudio.src=url;})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayerDOM.loadNative(url).then(domAudio=>{const oneShotAudio=new OneShotAudioDOM(domAudio,volume);resolve(oneShotAudio);}).catch(reject);})}_ccprivate$_onInterruptedBegin(){if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}}_ccprivate$_onInterruptedEnd(){if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}}get src(){return this._ccprivate$_domAudio?this._ccprivate$_domAudio.src:""}get type(){return AudioType.DOM_AUDIO}get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_domAudio.loop}set loop(val){this._ccprivate$_domAudio.loop=val;}get volume(){return this._ccprivate$_domAudio.volume}set volume(val){val=clamp01(val);this._ccprivate$_domAudio.volume=val;}get duration(){return this._ccprivate$_domAudio.duration}get currentTime(){return this._ccprivate$_domAudio.currentTime}get sampleRate(){return 0}getPCMData(channelIndex){return undefined}@enqueueOperation seek(time){time=clamp(time,0,this.duration);this._ccprivate$_domAudio.currentTime=time;return Promise.resolve()}@enqueueOperation play(){return new Promise(resolve=>{ensurePlaying(this._ccprivate$_domAudio).then(()=>{this._ccprivate$_state=AudioState.PLAYING;resolve();}).catch(e=>{});})}@enqueueOperation pause(){this._ccprivate$_domAudio.pause();this._ccprivate$_state=AudioState.PAUSED;return Promise.resolve()}@enqueueOperation stop(){return new Promise(resolve=>{this._ccprivate$_domAudio.pause();this._ccprivate$_domAudio.currentTime=0;this._ccprivate$_state=AudioState.STOPPED;resolve();})}onInterruptionBegin(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._ccprivate$_eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._ccprivate$_eventTarget.off(AudioEvent.ENDED,cb);}} ++function ensurePlaying(domAudio){return new Promise(resolve=>{const promise=domAudio.play();if(promise===undefined){return resolve()}promise.then(resolve).catch(()=>{const onGesture=()=>{domAudio.play().catch(e=>{});resolve();};const canvas=document.getElementById("GameCanvas");canvas?.addEventListener("touchend",onGesture,{once:true});canvas?.addEventListener("mousedown",onGesture,{once:true});});return null})}class OneShotAudioDOM{_ccprivate$_domAudio;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){if(this._ccprivate$_onEndCb){this._ccprivate$_domAudio.removeEventListener("ended",this._ccprivate$_onEndCb);}this._ccprivate$_onEndCb=cb;if(cb){this._ccprivate$_domAudio.addEventListener("ended",cb);}}constructor(nativeAudio,volume){this._ccprivate$_domAudio=nativeAudio;nativeAudio.volume=volume;}play(){ensurePlaying(this._ccprivate$_domAudio).then(()=>{this.onPlay?.();}).catch(e=>{});}stop(){this._ccprivate$_domAudio.pause();}}class AudioPlayerDOM{_ccprivate$_domAudio;_ccprivate$_state=AudioState.INIT;_ccprivate$_onHide;_ccprivate$_onShow;_ccprivate$_onEnded;_eventTarget=new EventTarget;_operationQueue=[];constructor(nativeAudio){this._ccprivate$_domAudio=nativeAudio;this._ccprivate$_onHide=()=>{if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onShow=()=>{if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);this._ccprivate$_onEnded=()=>{this.seek(0).catch(e=>{});this._ccprivate$_state=AudioState.INIT;this._eventTarget.emit(AudioEvent.ENDED);};this._ccprivate$_domAudio.addEventListener("ended",this._ccprivate$_onEnded);}destroy(){if(this._ccprivate$_onShow){legacyCC.game.off(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);this._ccprivate$_onShow=undefined;}if(this._ccprivate$_onHide){legacyCC.game.off(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onHide=undefined;}if(this._ccprivate$_onEnded){this._ccprivate$_domAudio.removeEventListener("ended",this._ccprivate$_onEnded);this._ccprivate$_onEnded=undefined;}this._ccprivate$_domAudio=undefined;}static load(url){return new Promise(resolve=>{AudioPlayerDOM.loadNative(url).then(domAudio=>{resolve(new AudioPlayerDOM(domAudio));}).catch(e=>{});})}static loadNative(url){return new Promise((resolve,reject)=>{const domAudio=document.createElement("audio");legacyCC.sys;let loadedEvent="canplaythrough";if(system.os===OS.IOS){loadedEvent="loadedmetadata";}else if(system.browserType===BrowserType.FIREFOX){loadedEvent="canplay";}const timer=setTimeout(()=>{if(domAudio.readyState===0){failure();}else {success();}},8000);const clearEvent=()=>{clearTimeout(timer);domAudio.removeEventListener(loadedEvent,success,false);domAudio.removeEventListener("error",failure,false);};const success=()=>{clearEvent();resolve(domAudio);};const failure=()=>{clearEvent();const message=`load audio failure - ${url}`;reject(message);};domAudio.addEventListener(loadedEvent,success,false);domAudio.addEventListener("error",failure,false);domAudio.src=url;})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayerDOM.loadNative(url).then(domAudio=>{const oneShotAudio=new OneShotAudioDOM(domAudio,volume);resolve(oneShotAudio);}).catch(reject);})}get src(){return this._ccprivate$_domAudio?this._ccprivate$_domAudio.src:""}get type(){return AudioType.DOM_AUDIO}get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_domAudio.loop}set loop(val){this._ccprivate$_domAudio.loop=val;}get volume(){return this._ccprivate$_domAudio.volume}set volume(val){val=clamp01(val);this._ccprivate$_domAudio.volume=val;}get duration(){return this._ccprivate$_domAudio.duration}get currentTime(){return this._ccprivate$_domAudio.currentTime}@enqueueOperation seek(time){time=clamp(time,0,this.duration);this._ccprivate$_domAudio.currentTime=time;return Promise.resolve()}@enqueueOperation play(){return new Promise(resolve=>{ensurePlaying(this._ccprivate$_domAudio).then(()=>{this._ccprivate$_state=AudioState.PLAYING;resolve();}).catch(e=>{});})}@enqueueOperation pause(){this._ccprivate$_domAudio.pause();this._ccprivate$_state=AudioState.PAUSED;return Promise.resolve()}@enqueueOperation stop(){return new Promise(resolve=>{this._ccprivate$_domAudio.pause();this._ccprivate$_domAudio.currentTime=0;this._ccprivate$_state=AudioState.STOPPED;resolve();})}onInterruptionBegin(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._eventTarget.off(AudioEvent.ENDED,cb);}} + + export { AudioPlayerDOM, OneShotAudioDOM }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/web/player-web.d.ts b/node_modules/@cocos/engine-pal/dist/audio/web/player-web.d.ts +index 7b15375..b1ff279 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/web/player-web.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/web/player-web.d.ts +@@ -1,16 +1,11 @@ +-import { AudioPCMDataView, AudioState, AudioType } from '../type'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; ++import { AudioState, AudioType } from '../type'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; + import { OperationInfo, OperationQueueable } from '../operation-queue'; + export declare class AudioContextAgent { + static support: boolean; +- private _eventTarget; +- private _context; +- private _isRunning; ++ _context: AudioContext; + constructor(); +- get isRunning(): boolean; + get currentTime(): number; +- onceRunning(cb: (...args: any[]) => void, target?: any): void; +- offRunning(cb?: (...args: any[]) => void, target?: any): void; + decodeAudioData(audioData: ArrayBuffer): Promise; + runContext(): Promise; + createBufferSource(audioBuffer?: AudioBuffer, loop?: boolean): AudioBufferSourceNode; +@@ -22,8 +17,6 @@ export declare class OneShotAudioWeb { + private _duration; + private _bufferSourceNode; + private _onPlayCb?; +- private _currentTimer; +- private _url; + get onPlay(): (() => void) | undefined; + set onPlay(cb: (() => void) | undefined); + private _onEndCb?; +@@ -41,26 +34,18 @@ export declare class AudioPlayerWeb implements OperationQueueable { + private _currentTimer; + private _volume; + private _loop; ++ private _startTime; ++ private _playTimeOffset; + private _state; +- private _audioTimer; +- private _runningCallback?; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ + _eventTarget: EventTarget; +- /** +- * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future. +- */ + _operationQueue: OperationInfo[]; ++ private _onHide?; ++ private _onShow?; + constructor(audioBuffer: AudioBuffer, url: string); + destroy(): void; + static load(url: string): Promise; + static loadNative(url: string): Promise; + static loadOneShotAudio(url: string, volume: number): Promise; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; +- private _onInterruptedBegin; +- private _onInterruptedEnd; + get src(): string; + get type(): AudioType; + get state(): AudioState; +@@ -70,11 +55,9 @@ export declare class AudioPlayerWeb implements OperationQueueable { + set volume(val: number); + get duration(): number; + get currentTime(): number; +- private offRunning; + seek(time: number): Promise; + play(): Promise; + private _doPlay; +- private _startSourceNode; + private _stopSourceNode; + pause(): Promise; + stop(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/web/player-web.js b/node_modules/@cocos/engine-pal/dist/audio/web/player-web.js +index c336102..0503c73 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/web/player-web.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/web/player-web.js +@@ -1,13 +1,10 @@ +-import { EDITOR_NOT_IN_PREVIEW } from 'internal:constants'; +-import { AudioState, AudioPCMDataView, AudioEvent, AudioType } from '../type.js'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { clamp01 } from '@cocos/engine/cocos/core'; +-import * as debug from '@cocos/engine/cocos/core/platform/debug'; ++import { EDITOR } from 'internal:constants'; ++import { AudioState, AudioEvent, AudioType } from '../type.js'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; ++import { clamp01, clamp } from '@cocos/engine/cocos/core'; + import { enqueueOperation } from '../operation-queue.js'; +-import AudioTimer from '../audio-timer.js'; +-import { audioBufferManager } from '../audio-buffer-manager.js'; +-import { game, Game } from '@cocos/engine/cocos/game'; + +-const AudioContextClass=window.AudioContext||window.webkitAudioContext||window.mozAudioContext;const _contextRunningEvent="on-context-running";class AudioContextAgent{static support=!!AudioContextClass;_ccprivate$_eventTarget;_ccprivate$_context;_ccprivate$_isRunning=false;constructor(){this._ccprivate$_context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);this._ccprivate$_eventTarget=new EventTarget;this._ccprivate$_context.onstatechange=()=>{if(this._ccprivate$_context.state==="running"){this._ccprivate$_isRunning=true;this._ccprivate$_eventTarget.emit(_contextRunningEvent);}else {this._ccprivate$_isRunning=false;}};}get isRunning(){return this._ccprivate$_isRunning}get currentTime(){return this._ccprivate$_context.currentTime}onceRunning(cb,target){this._ccprivate$_eventTarget.once(_contextRunningEvent,cb,target);}offRunning(cb,target){this._ccprivate$_eventTarget.off(_contextRunningEvent,cb,target);}decodeAudioData(audioData){return new Promise((resolve,reject)=>{const promise=this._ccprivate$_context.decodeAudioData(audioData,audioBuffer=>{resolve(audioBuffer);},err=>{console.error("failed to load Web Audio",err);});promise?.catch(reject);})}runContext(){return new Promise(resolve=>{if(this.isRunning){resolve();return}const context=this._ccprivate$_context;if(!context.resume){resolve();return}if(context.state==="suspended"){context.resume().catch(e=>{debug.warn("runContext error",e);});}else if(context.state==="running"){resolve();return}const canvas=document.getElementById("GameCanvas");const onGesture=()=>{context.resume().then(()=>{canvas?.removeEventListener("touchend",onGesture,{capture:true});canvas?.removeEventListener("mouseup",onGesture,{capture:true});resolve();}).catch(e=>{debug.warn("onGesture resume error",e);});};canvas?.addEventListener("touchend",onGesture,{capture:true});canvas?.addEventListener("mouseup",onGesture,{capture:true});})}createBufferSource(audioBuffer,loop){const sourceBufferNode=this._ccprivate$_context.createBufferSource();if(audioBuffer!==undefined){sourceBufferNode.buffer=audioBuffer;}if(loop!==undefined){sourceBufferNode.loop=loop;}return sourceBufferNode}createGain(volume){if(volume===void 0){volume=1;}const gainNode=this._ccprivate$_context.createGain();this.setGainValue(gainNode,volume);return gainNode}setGainValue(gain,volume){if(gain.gain.setTargetAtTime){try{gain.gain.setTargetAtTime(volume,this._ccprivate$_context.currentTime,0);}catch(e){gain.gain.setTargetAtTime(volume,this._ccprivate$_context.currentTime,0.01);}}else {gain.gain.value=volume;}}connectContext(audioNode){if(!this._ccprivate$_context){return}audioNode.connect(this._ccprivate$_context.destination);}}let audioContextAgent;if(AudioContextAgent.support){audioContextAgent=new AudioContextAgent;}class OneShotAudioWeb{_ccprivate$_duration;_ccprivate$_bufferSourceNode;_ccprivate$_onPlayCb;_ccprivate$_currentTimer=0;_ccprivate$_url;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(audioBuffer,volume,url){this._ccprivate$_duration=audioBuffer.duration;this._ccprivate$_url=url;this._ccprivate$_bufferSourceNode=audioContextAgent.createBufferSource(audioBuffer,false);const gainNode=audioContextAgent.createGain(volume);this._ccprivate$_bufferSourceNode.connect(gainNode);audioContextAgent.connectContext(gainNode);}play(){if(EDITOR_NOT_IN_PREVIEW){return}this._ccprivate$_bufferSourceNode.start();audioContextAgent.runContext().then(()=>{this.onPlay?.();this._ccprivate$_currentTimer=window.setTimeout(()=>{audioBufferManager._ccprivate$tryReleasingCache(this._ccprivate$_url);this.onEnd?.();},this._ccprivate$_duration*1000);}).catch(e=>{debug.warn("play error",e);});}stop(){clearTimeout(this._ccprivate$_currentTimer);audioBufferManager._ccprivate$tryReleasingCache(this._ccprivate$_url);this._ccprivate$_bufferSourceNode.stop();this._ccprivate$_bufferSourceNode.disconnect();this._ccprivate$_bufferSourceNode.buffer=null;}}class AudioPlayerWeb{_ccprivate$_src;_ccprivate$_audioBuffer;_ccprivate$_sourceNode;_ccprivate$_gainNode;_ccprivate$_currentTimer=0;_ccprivate$_volume=1;_ccprivate$_loop=false;_ccprivate$_state=AudioState.INIT;_ccprivate$_audioTimer;_ccprivate$_runningCallback;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_operationQueue=[];constructor(audioBuffer,url){this._ccprivate$_audioBuffer=audioBuffer;this._ccprivate$_audioTimer=new AudioTimer(audioBuffer);this._ccprivate$_gainNode=audioContextAgent.createGain();audioContextAgent.connectContext(this._ccprivate$_gainNode);this._ccprivate$_src=url;game.on(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.on(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);}destroy(){window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_audioTimer.destroy();if(this._ccprivate$_audioBuffer){this._ccprivate$_audioBuffer=null;}audioBufferManager._ccprivate$tryReleasingCache(this._ccprivate$_src);game.off(Game.EVENT_PAUSE,this._ccprivate$_onInterruptedBegin,this);game.off(Game.EVENT_RESUME,this._ccprivate$_onInterruptedEnd,this);this._ccprivate$offRunning();}static load(url){return new Promise((resolve,reject)=>{AudioPlayerWeb.loadNative(url).then(audioBuffer=>{resolve(new AudioPlayerWeb(audioBuffer,url));}).catch(reject);})}static loadNative(url){return new Promise((resolve,reject)=>{const cachedAudioBuffer=audioBufferManager._ccprivate$getCache(url);if(cachedAudioBuffer){audioBufferManager._ccprivate$retainCache(url);resolve(cachedAudioBuffer);return}const xhr=new XMLHttpRequest;const errInfo=`load audio failed: ${url}, status: `;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status===200||xhr.status===0){audioContextAgent.decodeAudioData(xhr.response).then(decodedAudioBuffer=>{audioBufferManager._ccprivate$addCache(url,decodedAudioBuffer);resolve(decodedAudioBuffer);}).catch(e=>{debug.warn("loadNative error",url,e);});}else {reject(new Error(`${errInfo}${xhr.status}(no response)`));}};xhr.onerror=()=>{reject(new Error(`${errInfo}${xhr.status}(error)`));};xhr.ontimeout=()=>{reject(new Error(`${errInfo}${xhr.status}(time out)`));};xhr.onabort=()=>{reject(new Error(`${errInfo}${xhr.status}(abort)`));};xhr.send(null);})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayerWeb.loadNative(url).then(audioBuffer=>{const oneShotAudio=new OneShotAudioWeb(audioBuffer,volume,url);resolve(oneShotAudio);}).catch(reject);})}get sampleRate(){return this._ccprivate$_audioBuffer.sampleRate}getPCMData(channelIndex){return new AudioPCMDataView(this._ccprivate$_audioBuffer.getChannelData(channelIndex),1)}_ccprivate$_onInterruptedBegin(){if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{debug.warn("_onInterruptedBegin error",e);});}}_ccprivate$_onInterruptedEnd(){if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._ccprivate$_eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{debug.warn("_onInterruptedEnd error",e);});}}get src(){return this._ccprivate$_src}get type(){return AudioType.WEB_AUDIO}get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_loop}set loop(val){this._ccprivate$_loop=val;if(this._ccprivate$_sourceNode){this._ccprivate$_sourceNode.loop=val;}}get volume(){return this._ccprivate$_volume}set volume(val){val=clamp01(val);this._ccprivate$_volume=val;audioContextAgent.setGainValue(this._ccprivate$_gainNode,val);}get duration(){return this._ccprivate$_audioBuffer.duration}get currentTime(){return this._ccprivate$_audioTimer.currentTime}_ccprivate$offRunning(){if(this._ccprivate$_runningCallback){audioContextAgent.offRunning(this._ccprivate$_runningCallback);this._ccprivate$_runningCallback=undefined;}}@enqueueOperation seek(time){return new Promise(resolve=>{this._ccprivate$offRunning();this._ccprivate$_audioTimer.seek(time);if(this._ccprivate$_state===AudioState.PLAYING){this._ccprivate$_doPlay().then(resolve).catch(e=>{debug.warn("seek error",e);});}else {resolve();}})}@enqueueOperation play(){this._ccprivate$offRunning();if(EDITOR_NOT_IN_PREVIEW){return Promise.resolve()}return this._ccprivate$_doPlay()}_ccprivate$_doPlay(){return new Promise(resolve=>{if(audioContextAgent.isRunning){this._ccprivate$_startSourceNode();resolve();}else {this._ccprivate$offRunning();this._ccprivate$_runningCallback=()=>{this._ccprivate$_startSourceNode();resolve();};audioContextAgent.onceRunning(this._ccprivate$_runningCallback);audioContextAgent.runContext().catch(e=>{debug.warn("doPlay error",e);});}})}_ccprivate$_startSourceNode(){this._ccprivate$_stopSourceNode();this._ccprivate$_sourceNode=audioContextAgent.createBufferSource(this._ccprivate$_audioBuffer,this.loop);this._ccprivate$_sourceNode.connect(this._ccprivate$_gainNode);this._ccprivate$_sourceNode.loop=this._ccprivate$_loop;this._ccprivate$_sourceNode.start(0,this._ccprivate$_audioTimer.currentTime);this._ccprivate$_state=AudioState.PLAYING;this._ccprivate$_audioTimer.start();const checkEnded=()=>{if(this.loop){this._ccprivate$_currentTimer=window.setTimeout(checkEnded,this._ccprivate$_audioBuffer.duration*1000);}else {this._ccprivate$_audioTimer.stop();this._ccprivate$_eventTarget.emit(AudioEvent.ENDED);this._ccprivate$_state=AudioState.INIT;}};window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_currentTimer=window.setTimeout(checkEnded,(this._ccprivate$_audioBuffer.duration-this._ccprivate$_audioTimer.currentTime)*1000);}_ccprivate$_stopSourceNode(){try{if(this._ccprivate$_sourceNode){this._ccprivate$_sourceNode.stop();this._ccprivate$_sourceNode.disconnect();this._ccprivate$_sourceNode.buffer=null;this._ccprivate$_sourceNode=undefined;}}catch(e){}}@enqueueOperation pause(){this._ccprivate$offRunning();if(this._ccprivate$_state!==AudioState.PLAYING||!this._ccprivate$_sourceNode){return Promise.resolve()}this._ccprivate$_audioTimer.pause();this._ccprivate$_state=AudioState.PAUSED;window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_stopSourceNode();return Promise.resolve()}@enqueueOperation stop(){this._ccprivate$offRunning();if(!this._ccprivate$_sourceNode){this._ccprivate$_audioTimer.stop();this._ccprivate$_state=AudioState.STOPPED;return Promise.resolve()}this._ccprivate$_audioTimer.stop();this._ccprivate$_state=AudioState.STOPPED;window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_stopSourceNode();return Promise.resolve()}onInterruptionBegin(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._ccprivate$_eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._ccprivate$_eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._ccprivate$_eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._ccprivate$_eventTarget.off(AudioEvent.ENDED,cb);}} ++const AudioContextClass=window.AudioContext||window.webkitAudioContext||window.mozAudioContext;class AudioContextAgent{static support=!!AudioContextClass;_context;constructor(){this._context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);}get currentTime(){return this._context.currentTime}decodeAudioData(audioData){return new Promise(resolve=>{const promise=this._context.decodeAudioData(audioData,audioBuffer=>{resolve(audioBuffer);},err=>{console.error("failed to load Web Audio",err);});promise?.catch(e=>{});})}runContext(){return new Promise(resolve=>{const context=this._context;if(!context.resume){return resolve()}if(context.state==="running"){return resolve()}context.resume().catch(e=>{});if(context.state!=="running"){const canvas=document.getElementById("GameCanvas");const onGesture=()=>{context.resume().then(resolve).catch(e=>{});};canvas?.addEventListener("touchend",onGesture,{once:true});canvas?.addEventListener("mousedown",onGesture,{once:true});}return null})}createBufferSource(audioBuffer,loop){const sourceBufferNode=this._context.createBufferSource();if(audioBuffer!==undefined){sourceBufferNode.buffer=audioBuffer;}if(loop!==undefined){sourceBufferNode.loop=loop;}return sourceBufferNode}createGain(volume){const gainNode=this._context.createGain();if(volume!==undefined){this.setGainValue(gainNode,volume);}return gainNode}setGainValue(gain,volume){if(gain.gain.setTargetAtTime){try{gain.gain.setTargetAtTime(volume,this._context.currentTime,0);}catch(e){gain.gain.setTargetAtTime(volume,this._context.currentTime,0.01);}}else {gain.gain.value=volume;}}connectContext(audioNode){if(!this._context){return}audioNode.connect(this._context.destination);}}let audioContextAgent;if(AudioContextAgent.support){audioContextAgent=new AudioContextAgent;}class OneShotAudioWeb{_ccprivate$_duration;_ccprivate$_bufferSourceNode;_ccprivate$_onPlayCb;get onPlay(){return this._ccprivate$_onPlayCb}set onPlay(cb){this._ccprivate$_onPlayCb=cb;}_ccprivate$_onEndCb;get onEnd(){return this._ccprivate$_onEndCb}set onEnd(cb){this._ccprivate$_onEndCb=cb;}constructor(audioBuffer,volume){this._ccprivate$_duration=audioBuffer.duration;this._ccprivate$_bufferSourceNode=audioContextAgent.createBufferSource(audioBuffer,false);const gainNode=audioContextAgent.createGain(volume);this._ccprivate$_bufferSourceNode.connect(gainNode);audioContextAgent.connectContext(gainNode);}play(){if(EDITOR){return}audioContextAgent.runContext().then(()=>{this._ccprivate$_bufferSourceNode.start();this.onPlay?.();window.setTimeout(()=>{this.onEnd?.();},this._ccprivate$_duration*1000);}).catch(e=>{});}stop(){this._ccprivate$_bufferSourceNode.stop();}}class AudioPlayerWeb{_ccprivate$_src;_ccprivate$_audioBuffer;_ccprivate$_sourceNode;_ccprivate$_gainNode;_ccprivate$_currentTimer=0;_ccprivate$_volume=1;_ccprivate$_loop=false;_ccprivate$_startTime=0;_ccprivate$_playTimeOffset=0;_ccprivate$_state=AudioState.INIT;_eventTarget=new EventTarget;_operationQueue=[];_ccprivate$_onHide;_ccprivate$_onShow;constructor(audioBuffer,url){this._ccprivate$_audioBuffer=audioBuffer;this._ccprivate$_gainNode=audioContextAgent.createGain();audioContextAgent.connectContext(this._ccprivate$_gainNode);this._ccprivate$_src=url;this._ccprivate$_onHide=()=>{if(this._ccprivate$_state===AudioState.PLAYING){this.pause().then(()=>{this._ccprivate$_state=AudioState.INTERRUPTED;this._eventTarget.emit(AudioEvent.INTERRUPTION_BEGIN);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onShow=()=>{if(this._ccprivate$_state===AudioState.INTERRUPTED){this.play().then(()=>{this._eventTarget.emit(AudioEvent.INTERRUPTION_END);}).catch(e=>{});}};legacyCC.game.on(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);}destroy(){if(this._ccprivate$_audioBuffer){this._ccprivate$_audioBuffer=undefined;}if(this._ccprivate$_onShow){legacyCC.game.off(legacyCC.Game.EVENT_SHOW,this._ccprivate$_onShow);this._ccprivate$_onShow=undefined;}if(this._ccprivate$_onHide){legacyCC.game.off(legacyCC.Game.EVENT_HIDE,this._ccprivate$_onHide);this._ccprivate$_onHide=undefined;}}static load(url){return new Promise(resolve=>{AudioPlayerWeb.loadNative(url).then(audioBuffer=>{resolve(new AudioPlayerWeb(audioBuffer,url));}).catch(e=>{});})}static loadNative(url){return new Promise((resolve,reject)=>{const xhr=new XMLHttpRequest;const errInfo=`load audio failed: ${url}, status: `;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status===200||xhr.status===0){audioContextAgent.decodeAudioData(xhr.response).then(buffer=>{resolve(buffer);}).catch(e=>{});}else {reject(new Error(`${errInfo}${xhr.status}(no response)`));}};xhr.onerror=()=>{reject(new Error(`${errInfo}${xhr.status}(error)`));};xhr.ontimeout=()=>{reject(new Error(`${errInfo}${xhr.status}(time out)`));};xhr.onabort=()=>{reject(new Error(`${errInfo}${xhr.status}(abort)`));};xhr.send(null);})}static loadOneShotAudio(url,volume){return new Promise((resolve,reject)=>{AudioPlayerWeb.loadNative(url).then(audioBuffer=>{const oneShotAudio=new OneShotAudioWeb(audioBuffer,volume);resolve(oneShotAudio);}).catch(reject);})}get src(){return this._ccprivate$_src}get type(){return AudioType.WEB_AUDIO}get state(){return this._ccprivate$_state}get loop(){return this._ccprivate$_loop}set loop(val){this._ccprivate$_loop=val;this._ccprivate$_sourceNode&&(this._ccprivate$_sourceNode.loop=val);}get volume(){return this._ccprivate$_volume}set volume(val){val=clamp01(val);this._ccprivate$_volume=val;audioContextAgent.setGainValue(this._ccprivate$_gainNode,val);}get duration(){return this._ccprivate$_audioBuffer.duration}get currentTime(){if(this._ccprivate$_state!==AudioState.PLAYING){return this._ccprivate$_playTimeOffset}return (audioContextAgent.currentTime-this._ccprivate$_startTime+this._ccprivate$_playTimeOffset)%this._ccprivate$_audioBuffer.duration}@enqueueOperation seek(time){return new Promise(resolve=>{this._ccprivate$_playTimeOffset=clamp(time,0,this._ccprivate$_audioBuffer.duration);if(this._ccprivate$_state===AudioState.PLAYING){this._ccprivate$_doPlay().then(resolve).catch(e=>{});}else {resolve();}})}@enqueueOperation play(){if(EDITOR){return Promise.resolve()}return this._ccprivate$_doPlay()}_ccprivate$_doPlay(){return new Promise(resolve=>{audioContextAgent.runContext().then(()=>{this._ccprivate$_stopSourceNode();this._ccprivate$_sourceNode=audioContextAgent.createBufferSource(this._ccprivate$_audioBuffer,this.loop);this._ccprivate$_sourceNode.connect(this._ccprivate$_gainNode);this._ccprivate$_sourceNode.start(0,this._ccprivate$_playTimeOffset);this._ccprivate$_state=AudioState.PLAYING;this._ccprivate$_startTime=audioContextAgent.currentTime;const checkEnded=()=>{this._ccprivate$_playTimeOffset=0;this._ccprivate$_startTime=audioContextAgent.currentTime;if(this.loop){this._ccprivate$_currentTimer=window.setTimeout(checkEnded,this._ccprivate$_audioBuffer.duration*1000);}else {this._eventTarget.emit(AudioEvent.ENDED);this._ccprivate$_state=AudioState.INIT;}};window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_currentTimer=window.setTimeout(checkEnded,(this._ccprivate$_audioBuffer.duration-this._ccprivate$_playTimeOffset)*1000);resolve();}).catch(e=>{});})}_ccprivate$_stopSourceNode(){try{this._ccprivate$_sourceNode?.stop();}catch(e){}}@enqueueOperation pause(){if(this._ccprivate$_state!==AudioState.PLAYING||!this._ccprivate$_sourceNode){return Promise.resolve()}this._ccprivate$_playTimeOffset=(audioContextAgent.currentTime-this._ccprivate$_startTime+this._ccprivate$_playTimeOffset)%this._ccprivate$_audioBuffer.duration;this._ccprivate$_state=AudioState.PAUSED;window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_stopSourceNode();return Promise.resolve()}@enqueueOperation stop(){if(!this._ccprivate$_sourceNode){return Promise.resolve()}this._ccprivate$_playTimeOffset=0;this._ccprivate$_state=AudioState.STOPPED;window.clearTimeout(this._ccprivate$_currentTimer);this._ccprivate$_stopSourceNode();return Promise.resolve()}onInterruptionBegin(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_BEGIN,cb);}offInterruptionBegin(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_BEGIN,cb);}onInterruptionEnd(cb){this._eventTarget.on(AudioEvent.INTERRUPTION_END,cb);}offInterruptionEnd(cb){this._eventTarget.off(AudioEvent.INTERRUPTION_END,cb);}onEnded(cb){this._eventTarget.on(AudioEvent.ENDED,cb);}offEnded(cb){this._eventTarget.off(AudioEvent.ENDED,cb);}} + + export { AudioContextAgent, AudioPlayerWeb, OneShotAudioWeb }; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/web/player.d.ts b/node_modules/@cocos/engine-pal/dist/audio/web/player.d.ts +index 3ce5401..0de2648 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/web/player.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/audio/web/player.d.ts +@@ -1,13 +1,13 @@ +-import { AudioLoadOptions, AudioType, AudioState, AudioPCMDataView } from '../type'; ++import { AudioLoadOptions, AudioType, AudioState } from '../type'; + import { AudioPlayerDOM } from './player-dom'; + import { AudioPlayerWeb } from './player-web'; + type AbstractAudioPlayer = AudioPlayerDOM | AudioPlayerWeb; + export declare class OneShotAudio { + private _audio; +- get onPlay(): (() => void) | undefined; +- set onPlay(v: (() => void) | undefined); +- get onEnd(): (() => void) | undefined; +- set onEnd(v: (() => void) | undefined); ++ get onPlay(): (() => void) | (() => void) | undefined; ++ set onPlay(v: (() => void) | (() => void) | undefined); ++ get onEnd(): (() => void) | (() => void) | undefined; ++ set onEnd(v: (() => void) | (() => void) | undefined); + private constructor(); + play(): void; + stop(): void; +@@ -29,8 +29,6 @@ export declare class AudioPlayer { + set volume(val: number); + get duration(): number; + get currentTime(): number; +- get sampleRate(): number; +- getPCMData(channelIndex: number): AudioPCMDataView | undefined; + seek(time: number): Promise; + play(): Promise; + pause(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/audio/web/player.js b/node_modules/@cocos/engine-pal/dist/audio/web/player.js +index b7539ac..bb99f87 100644 +--- a/node_modules/@cocos/engine-pal/dist/audio/web/player.js ++++ b/node_modules/@cocos/engine-pal/dist/audio/web/player.js +@@ -3,6 +3,6 @@ import { AudioType } from '../type.js'; + import { AudioPlayerDOM } from './player-dom.js'; + import { AudioContextAgent, AudioPlayerWeb } from './player-web.js'; + +-class OneShotAudio{_ccprivate$_audio;get onPlay(){return this._ccprivate$_audio.onPlay}set onPlay(v){this._ccprivate$_audio.onPlay=v;}get onEnd(){return this._ccprivate$_audio.onEnd}set onEnd(v){this._ccprivate$_audio.onEnd=v;}constructor(audio){this._ccprivate$_audio=audio;}play(){this._ccprivate$_audio.play();}stop(){this._ccprivate$_audio.stop();}}class AudioPlayer{_ccprivate$_player;constructor(player){this._ccprivate$_player=player;}static load(url,opts){return new Promise((resolve,reject)=>{if(opts?.audioLoadMode===AudioType.DOM_AUDIO||!AudioContextAgent.support){if(!AudioContextAgent.support){warnID(5201);}AudioPlayerDOM.load(url).then(domPlayer=>{resolve(new AudioPlayer(domPlayer));}).catch(reject);}else {AudioPlayerWeb.load(url).then(webPlayer=>{resolve(new AudioPlayer(webPlayer));}).catch(reject);}})}destroy(){this._ccprivate$_player.destroy();}static loadNative(url,opts){if(opts?.audioLoadMode===AudioType.DOM_AUDIO||!AudioContextAgent.support){if(!AudioContextAgent.support){warnID(5201);}return AudioPlayerDOM.loadNative(url)}return AudioPlayerWeb.loadNative(url)}static loadOneShotAudio(url,volume,opts){return new Promise((resolve,reject)=>{if(opts?.audioLoadMode===AudioType.DOM_AUDIO||!AudioContextAgent.support){if(!AudioContextAgent.support){warnID(5201);}AudioPlayerDOM.loadOneShotAudio(url,volume).then(oneShotAudioDOM=>{resolve(new OneShotAudio(oneShotAudioDOM));}).catch(reject);}else {AudioPlayerWeb.loadOneShotAudio(url,volume).then(oneShotAudioWeb=>{resolve(new OneShotAudio(oneShotAudioWeb));}).catch(reject);}})}static maxAudioChannel=24;get src(){return this._ccprivate$_player.src}get type(){return this._ccprivate$_player.type}get state(){return this._ccprivate$_player.state}get loop(){return this._ccprivate$_player.loop}set loop(val){this._ccprivate$_player.loop=val;}get volume(){return this._ccprivate$_player.volume}set volume(val){this._ccprivate$_player.volume=val;}get duration(){return this._ccprivate$_player.duration}get currentTime(){return this._ccprivate$_player.currentTime}get sampleRate(){return this._ccprivate$_player.sampleRate}getPCMData(channelIndex){return this._ccprivate$_player.getPCMData(channelIndex)}seek(time){return this._ccprivate$_player.seek(time)}play(){return this._ccprivate$_player.play()}pause(){return this._ccprivate$_player.pause()}stop(){return this._ccprivate$_player.stop()}onInterruptionBegin(cb){this._ccprivate$_player.onInterruptionBegin(cb);}offInterruptionBegin(cb){this._ccprivate$_player.offInterruptionBegin(cb);}onInterruptionEnd(cb){this._ccprivate$_player.onInterruptionEnd(cb);}offInterruptionEnd(cb){this._ccprivate$_player.offInterruptionEnd(cb);}onEnded(cb){this._ccprivate$_player.onEnded(cb);}offEnded(cb){this._ccprivate$_player.offEnded(cb);}} ++class OneShotAudio{_ccprivate$_audio;get onPlay(){return this._ccprivate$_audio.onPlay}set onPlay(v){this._ccprivate$_audio.onPlay=v;}get onEnd(){return this._ccprivate$_audio.onEnd}set onEnd(v){this._ccprivate$_audio.onEnd=v;}constructor(audio){this._ccprivate$_audio=audio;}play(){this._ccprivate$_audio.play();}stop(){this._ccprivate$_audio.stop();}}class AudioPlayer{_ccprivate$_player;constructor(player){this._ccprivate$_player=player;}static load(url,opts){return new Promise(resolve=>{if(opts?.audioLoadMode===AudioType.DOM_AUDIO||!AudioContextAgent.support){if(!AudioContextAgent.support){warnID(5201);}AudioPlayerDOM.load(url).then(domPlayer=>{resolve(new AudioPlayer(domPlayer));}).catch(e=>{});}else {AudioPlayerWeb.load(url).then(webPlayer=>{resolve(new AudioPlayer(webPlayer));}).catch(e=>{});}})}destroy(){this._ccprivate$_player.destroy();}static loadNative(url,opts){if(opts?.audioLoadMode===AudioType.DOM_AUDIO||!AudioContextAgent.support){if(!AudioContextAgent.support){warnID(5201);}return AudioPlayerDOM.loadNative(url)}return AudioPlayerWeb.loadNative(url)}static loadOneShotAudio(url,volume,opts){return new Promise((resolve,reject)=>{if(opts?.audioLoadMode===AudioType.DOM_AUDIO||!AudioContextAgent.support){if(!AudioContextAgent.support){warnID(5201);}AudioPlayerDOM.loadOneShotAudio(url,volume).then(oneShotAudioDOM=>{resolve(new OneShotAudio(oneShotAudioDOM));}).catch(reject);}else {AudioPlayerWeb.loadOneShotAudio(url,volume).then(oneShotAudioWeb=>{resolve(new OneShotAudio(oneShotAudioWeb));}).catch(reject);}})}static maxAudioChannel=24;get src(){return this._ccprivate$_player.src}get type(){return this._ccprivate$_player.type}get state(){return this._ccprivate$_player.state}get loop(){return this._ccprivate$_player.loop}set loop(val){this._ccprivate$_player.loop=val;}get volume(){return this._ccprivate$_player.volume}set volume(val){this._ccprivate$_player.volume=val;}get duration(){return this._ccprivate$_player.duration}get currentTime(){return this._ccprivate$_player.currentTime}seek(time){return this._ccprivate$_player.seek(time)}play(){return this._ccprivate$_player.play()}pause(){return this._ccprivate$_player.pause()}stop(){return this._ccprivate$_player.stop()}onInterruptionBegin(cb){this._ccprivate$_player.onInterruptionBegin(cb);}offInterruptionBegin(cb){this._ccprivate$_player.offInterruptionBegin(cb);}onInterruptionEnd(cb){this._ccprivate$_player.onInterruptionEnd(cb);}offInterruptionEnd(cb){this._ccprivate$_player.offInterruptionEnd(cb);}onEnded(cb){this._ccprivate$_player.onEnded(cb);}offEnded(cb){this._ccprivate$_player.offEnded(cb);}} + + export { AudioPlayer, OneShotAudio }; +diff --git a/node_modules/@cocos/engine-pal/dist/env/minigame/env.d.ts b/node_modules/@cocos/engine-pal/dist/env/minigame/env.d.ts +deleted file mode 100644 +index 78129be..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/minigame/env.d.ts ++++ /dev/null +@@ -1,6 +0,0 @@ +-export declare function findCanvas(): { +- frame: HTMLDivElement; +- container: HTMLDivElement; +- canvas: HTMLCanvasElement; +-}; +-export declare function loadJsFile(path: string): any; +diff --git a/node_modules/@cocos/engine-pal/dist/env/minigame/env.js b/node_modules/@cocos/engine-pal/dist/env/minigame/env.js +deleted file mode 100644 +index 37459f5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/minigame/env.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { XIAOMI, WECHAT, WECHAT_MINI_PROGRAM, TAOBAO_MINIGAME, TAOBAO } from 'internal:constants'; +- +-function findCanvas(){const container=document.createElement("div");return {frame:container,canvas:window.canvas,container}}function loadJsFile(path){if(XIAOMI){return require(`../../${path}`)}if(WECHAT||WECHAT_MINI_PROGRAM){return __wxRequire(path)}if(TAOBAO_MINIGAME){return globalThis.__taobaoRequire(path)}if(TAOBAO){return undefined}return require(`../${path}`)} +- +-export { findCanvas, loadJsFile }; +diff --git a/node_modules/@cocos/engine-pal/dist/env/native/env.d.ts b/node_modules/@cocos/engine-pal/dist/env/native/env.d.ts +deleted file mode 100644 +index 70ec6de..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/native/env.d.ts ++++ /dev/null +@@ -1,6 +0,0 @@ +-export declare function findCanvas(): { +- frame: HTMLDivElement; +- container: HTMLDivElement; +- canvas: HTMLCanvasElement; +-}; +-export declare function loadJsFile(path: string): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/env/native/env.js b/node_modules/@cocos/engine-pal/dist/env/native/env.js +deleted file mode 100644 +index b055701..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/native/env.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { NATIVE, PREVIEW } from 'internal:constants'; +- +-const ccwindow=typeof globalThis.jsb!=="undefined"?typeof jsb.window!=="undefined"?jsb.window:window:window;const ccdocument=ccwindow.document;function findCanvas(){const container=ccdocument.createElement("div");const frame=ccdocument.documentElement;const canvas=ccwindow.__canvas;return {frame,canvas,container}}function loadJsFile(path){if(NATIVE&&window.oh&&window.scriptEngineType==="napi"){window.oh.loadModule(path);return Promise.resolve()}else {if(PREVIEW){return new Promise((resolve,reject)=>{const sourceURL=window.location.href+path;const xhr=new XMLHttpRequest;xhr.onload=()=>{if(xhr.status!==200){reject(new Error(`load js file failed: ${sourceURL}, error status: ${xhr.status}`));return}window.eval(`${xhr.response}\n//# sourceURL=${sourceURL}`);resolve();};xhr.onerror=()=>{reject(new Error(`load js file failed: ${sourceURL}`));};xhr.open("GET",sourceURL,true);xhr.send(null);})}return require(`${path}`)}} +- +-export { findCanvas, loadJsFile }; +diff --git a/node_modules/@cocos/engine-pal/dist/env/nodejs/env.d.ts b/node_modules/@cocos/engine-pal/dist/env/nodejs/env.d.ts +deleted file mode 100644 +index 70ec6de..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/nodejs/env.d.ts ++++ /dev/null +@@ -1,6 +0,0 @@ +-export declare function findCanvas(): { +- frame: HTMLDivElement; +- container: HTMLDivElement; +- canvas: HTMLCanvasElement; +-}; +-export declare function loadJsFile(path: string): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/env/nodejs/env.js b/node_modules/@cocos/engine-pal/dist/env/nodejs/env.js +deleted file mode 100644 +index 0eacbd6..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/nodejs/env.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-function findCanvas(){const frame=document.querySelector("#GameDiv");const container=document.querySelector("#Cocos3dGameContainer");const canvas=document.querySelector("#GameCanvas");return {frame,container,canvas}}function loadJsFile(path){return globalThis.nodeEnv.require(`${path}`)} +- +-export { findCanvas, loadJsFile }; +diff --git a/node_modules/@cocos/engine-pal/dist/env/runtime/env.d.ts b/node_modules/@cocos/engine-pal/dist/env/runtime/env.d.ts +deleted file mode 100644 +index 70ec6de..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/runtime/env.d.ts ++++ /dev/null +@@ -1,6 +0,0 @@ +-export declare function findCanvas(): { +- frame: HTMLDivElement; +- container: HTMLDivElement; +- canvas: HTMLCanvasElement; +-}; +-export declare function loadJsFile(path: string): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/env/runtime/env.js b/node_modules/@cocos/engine-pal/dist/env/runtime/env.js +deleted file mode 100644 +index 1eb3865..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/runtime/env.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { VIVO } from 'internal:constants'; +- +-function findCanvas(){const container=document.createElement("div");const frame=container.parentNode===document.body?document.documentElement:container.parentNode;let canvas;if(VIVO){canvas=window.mainCanvas;window.mainCanvas=undefined;}else {canvas=ral.createCanvas();}return {frame,canvas,container}}function loadJsFile(path){return require(`${path}`)} +- +-export { findCanvas, loadJsFile }; +diff --git a/node_modules/@cocos/engine-pal/dist/env/web/env.d.ts b/node_modules/@cocos/engine-pal/dist/env/web/env.d.ts +deleted file mode 100644 +index 70ec6de..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/web/env.d.ts ++++ /dev/null +@@ -1,6 +0,0 @@ +-export declare function findCanvas(): { +- frame: HTMLDivElement; +- container: HTMLDivElement; +- canvas: HTMLCanvasElement; +-}; +-export declare function loadJsFile(path: string): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/env/web/env.js b/node_modules/@cocos/engine-pal/dist/env/web/env.js +deleted file mode 100644 +index fd3c731..0000000 +--- a/node_modules/@cocos/engine-pal/dist/env/web/env.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-function findCanvas(){const frame=document.querySelector("#GameDiv");const container=document.querySelector("#Cocos3dGameContainer");const canvas=document.querySelector("#GameCanvas");return {frame,container,canvas}}function loadJsFile(path){return new Promise((resolve,reject)=>{let err;function windowErrorListener(evt){if(evt.filename===path){err=evt.error;}}window.addEventListener("error",windowErrorListener);const script=document.createElement("script");script.charset="utf-8";script.async=true;script.crossOrigin="anonymous";script.addEventListener("error",()=>{window.removeEventListener("error",windowErrorListener);reject(Error(`Error loading ${path}`));});script.addEventListener("load",()=>{window.removeEventListener("error",windowErrorListener);document.head.removeChild(script);if(err){reject(err);}else {resolve();}});script.src=path.replace("#","%23");document.head.appendChild(script);})} +- +-export { findCanvas, loadJsFile }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/input-source.d.ts b/node_modules/@cocos/engine-pal/dist/input/input-source.d.ts +deleted file mode 100644 +index d7016b8..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/input-source.d.ts ++++ /dev/null +@@ -1,248 +0,0 @@ +-import { Vec2, Vec3, Quat } from '@cocos/engine/cocos/core/math'; +-/** +- * @en The abstract class for input source, which is used to control the input signal of a mono input source +- * @zh InputSource 抽象类,该类用于控制单一输入源的输入信号 +- */ +-export declare abstract class InputSource { +- /** +- * @en Get the signal value of the input source +- * @zh 获取输入源的信号值 +- */ +- abstract getValue(): T; +-} +-/** +- * @en The class for input source of 1D Axis, which is used to control the input signal of a mono input source +- * @zh 1D 轴的 InputSource 类,该类用于控制单一输入源的输入信号 +- */ +-export declare class InputSourceAxis1D extends InputSource { +- /** +- * @en Get the signal value of the input source, ranged from -1 to 1 +- * @zh 获取输入源的信号值,取值范围从 -1 到 1 +- */ +- getValue(): number; +-} +-/** +- * @en The class for input source of 2D Axis, which is used to control the input signal of a mono input source +- * @zh 2D 轴的 InputSource 类,该类用于控制单一输入源的输入信号 +- */ +-export declare class InputSourceAxis2D extends InputSource { +- /** +- * @en Get the signal value of the input source, which returns a Vec2 object. +- * @zh 获取输入源的信号值,该方法返回一个 Vec2 对象 +- */ +- getValue(): Vec2; +-} +-/** +- * @en The class for input source of 3D Axis, which is used to control the input signal of a mono input source +- * @zh 3D 轴的 InputSource 类,该类用于控制单一输入源的输入信号 +- */ +-export declare class InputSourceAxis3D extends InputSource { +- /** +- * @en Get the signal value of the input source, which returns a Vec3 object. +- * @zh 获取输入源的信号值,该方法返回一个 Vec3 对象 +- */ +- getValue(): Vec3; +-} +-/** +- * @en The class for input source of Quaternion, which is used to control the input signal of a mono input source +- * @zh 四元数的 InputSource 类,该类用于控制单一输入源的输入信号 +- */ +-export declare class InputSourceQuat extends InputSource { +- /** +- * @en Get the signal value of the input source, which returns a Quat object. +- * @zh 获取输入源的信号值,该方法返回一个 Quat 对象 +- */ +- getValue(): Quat; +-} +-/** +- * @en The class for input source of 1D Axis, which is used to control the input signal of a composite of multi input source +- * @zh 1D 轴的 InputSource 类,该类用于控制多个输入源组合的输入信号 +- */ +-export declare class CompositeInputSourceAxis1D extends InputSourceAxis1D { +- /** +- * @en The input source object of positive 1D axis +- * @zh 1D 轴的正向的输入源对象 +- */ +- positive: InputSourceButton; +- /** +- * @en The input source object of negative 1D axis +- * @zh 1D 轴的负向的输入源对象 +- */ +- negative: InputSourceButton; +- constructor(options: { +- positive: InputSourceButton; +- negative: InputSourceButton; +- }); +- /** +- * @en Get the signal value of the input source, ranged from -1 to 1. +- * @zh 获取输入源的信号值,取值范围从 -1 到 1 +- */ +- getValue(): number; +-} +-/** +- * @en The class for input source of 2D Axis, which is used to control the input signal of a composite of multi input source +- * @zh 2D 轴的 InputSource 类,该类用于控制多个输入源组合的输入信号 +- */ +-export declare class CompositeInputSourceAxis2D extends InputSourceAxis2D { +- /** +- * @en The input source object of up direction of 2D axis +- * @zh 2D 轴的向上的输入源对象 +- */ +- up: InputSourceButton; +- /** +- * @en The input source object of down direction of 2D axis +- * @zh 2D 轴的向下的输入源对象 +- */ +- down: InputSourceButton; +- /** +- * @en The input source object of left direction of 2D axis +- * @zh 2D 轴的向左的输入源对象 +- */ +- left: InputSourceButton; +- /** +- * @en The input source object of right direction of 2D axis +- * @zh 2D 轴的向右的输入源对象 +- */ +- right: InputSourceButton; +- /** +- * @en The composite input source object on the x axis of 2D axis +- * @zh 2D 轴在 x 轴上的组合输入源对象 +- */ +- xAxis: CompositeInputSourceAxis1D; +- /** +- * @en The composite input source object on the y axis of 2D axis +- * @zh 2D 轴在 y 轴上的组合输入源对象 +- */ +- yAxis: CompositeInputSourceAxis1D; +- constructor(options: { +- up: InputSourceButton; +- down: InputSourceButton; +- left: InputSourceButton; +- right: InputSourceButton; +- }); +- /** +- * @en Get the signal value of the input source, which returns a Vec2 object. +- * @zh 获取输入源的信号值,该方法返回一个 Vec2 对象 +- */ +- getValue(): Vec2; +-} +-/** +- * @en The class for input source of 3D Axis, which is used to control the input signal of a composite of multi input source +- * @zh 3D 轴的 InputSource 类,该类用于控制多个输入源组合的输入信号 +- */ +-export declare class CompositeInputSourceAxis3D extends InputSourceAxis3D { +- /** +- * @en The input source object of up direction of 3D axis +- * @zh 3D 轴的向上的输入源对象 +- */ +- up: InputSourceButton; +- /** +- * @en The input source object of down direction of 3D axis +- * @zh 3D 轴的向下的输入源对象 +- */ +- down: InputSourceButton; +- /** +- * @en The input source object of left direction of 3D axis +- * @zh 3D 轴的向左的输入源对象 +- */ +- left: InputSourceButton; +- /** +- * @en The input source object of right direction of 3D axis +- * @zh 3D 轴的向右的输入源对象 +- */ +- right: InputSourceButton; +- /** +- * @en The input source object of forward direction of 3D axis +- * @zh 3D 轴的向前的输入源对象 +- */ +- forward: InputSourceButton; +- /** +- * @en The input source object of backward direction of 3D axis +- * @zh 3D 轴的向后的输入源对象 +- */ +- backward: InputSourceButton; +- /** +- * @en The composite input source object on the x axis of 3D axis +- * @zh 3D 轴在 x 轴上的组合输入源对象 +- */ +- xAxis: CompositeInputSourceAxis1D; +- /** +- * @en The composite input source object on the y axis of 3D axis +- * @zh 3D 轴在 y 轴上的组合输入源对象 +- */ +- yAxis: CompositeInputSourceAxis1D; +- /** +- * @en The composite input source object on the z axis of 3D axis +- * @zh 3D 轴在 z 轴上的组合输入源对象 +- */ +- zAxis: CompositeInputSourceAxis1D; +- constructor(options: { +- up: InputSourceButton; +- down: InputSourceButton; +- left: InputSourceButton; +- right: InputSourceButton; +- forward: InputSourceButton; +- backward: InputSourceButton; +- }); +- /** +- * @en Get the signal value of the input source, which returns a Vec3 object. +- * @zh 获取输入源的信号值,该方法返回一个 Vec3 对象 +- */ +- getValue(): Vec3; +-} +-/** +- * @en The class for input source of mono button, whose input signal value is ranged from 0 to 1 +- * @zh 单一按键输入源类, 输入信号源的取值范围是 0 到 1 +- */ +-export declare class InputSourceButton extends InputSourceAxis1D { +- /** +- * @en Get the signal value of the input source, ranged from 0 to 1 +- * @zh 获取输入源的信号值,取值范围从 0 到 1 +- */ +- getValue(): number; +-} +-/** +- * @en The class for input source of dpad, whose input signal value a Vec2 object +- * @zh 手柄方向键输入源类, 输入信号源的取值是一个 Vec2 对象 +- */ +-export declare class InputSourceDpad extends CompositeInputSourceAxis2D { +-} +-/** +- * @en The class for input source of stick, whose input signal value a Vec2 object +- * @zh 摇杆输入源类, 输入信号源的取值是一个 Vec2 对象 +- */ +-export declare class InputSourceStick extends CompositeInputSourceAxis2D { +-} +-/** +- * @en The class for input source of orientation, whose input signal value a Quat object +- * @zh 方向输入源类, 输入信号源的取值是一个 Quat 对象 +- */ +-export declare class InputSourceOrientation extends InputSourceQuat { +- /** +- * @en Get the signal value of the input source, which returns a Quat object. +- * @zh 获取输入源的信号值,该方法返回一个 Quat 对象 +- */ +- getValue(): Quat; +-} +-/** +- * @en The class for input source of position, whose input signal value a Vec3 object +- * @zh 坐标输入源类, 输入信号源的取值是一个 Vec3 对象 +- */ +-export declare class InputSourcePosition extends InputSourceAxis3D { +- /** +- * @en Get the signal value of the input source, which returns a Vec3 object. +- * @zh 获取输入源的信号值,该方法返回一个 Vec3 对象 +- */ +- getValue(): Vec3; +-} +-/** +- * @en The class for input source of mono button touch, whose input signal value is ranged from 0 or 1 +- * @zh 单一按键触摸输入源类, 输入信号源的取值范围是 0 或 1 +- */ +-export declare class InputSourceTouch extends InputSourceAxis1D { +- /** +- * @en Get the signal value of the input source, ranged from 0 or 1 +- * @zh 获取输入源的信号值,取值范围从 0 或 1 +- */ +- getValue(): number; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/input-source.js b/node_modules/@cocos/engine-pal/dist/input/input-source.js +deleted file mode 100644 +index 2278b12..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/input-source.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { Vec2, Vec3 } from '@cocos/engine/cocos/core/math'; +- +-class InputSource{}class InputSourceAxis1D extends InputSource{getValue(){throw new Error("Method not implemented.")}}class InputSourceAxis2D extends InputSource{getValue(){throw new Error("Method not implemented.")}}class InputSourceAxis3D extends InputSource{getValue(){throw new Error("Method not implemented.")}}class InputSourceQuat extends InputSource{getValue(){throw new Error("Method not implemented.")}}class CompositeInputSourceAxis1D extends InputSourceAxis1D{constructor(options){super();this.positive=options.positive;this.negative=options.negative;}getValue(){const positiveValue=this.positive.getValue();const negativeValue=this.negative.getValue();if(Math.abs(positiveValue)>Math.abs(negativeValue)){return positiveValue}return -negativeValue}}class CompositeInputSourceAxis2D extends InputSourceAxis2D{constructor(options){super();this.up=options.up;this.down=options.down;this.left=options.left;this.right=options.right;this.xAxis=new CompositeInputSourceAxis1D({positive:this.right,negative:this.left});this.yAxis=new CompositeInputSourceAxis1D({positive:this.up,negative:this.down});}getValue(){return new Vec2(this.xAxis.getValue(),this.yAxis.getValue())}}class CompositeInputSourceAxis3D extends InputSourceAxis3D{constructor(options){super();this.up=options.up;this.down=options.down;this.left=options.left;this.right=options.right;this.forward=options.forward;this.backward=options.backward;this.xAxis=new CompositeInputSourceAxis1D({positive:this.right,negative:this.left});this.yAxis=new CompositeInputSourceAxis1D({positive:this.up,negative:this.down});this.zAxis=new CompositeInputSourceAxis1D({positive:this.forward,negative:this.backward});}getValue(){return new Vec3(this.xAxis.getValue(),this.yAxis.getValue(),this.zAxis.getValue())}}class InputSourceButton extends InputSourceAxis1D{getValue(){return super.getValue()}}class InputSourceDpad extends CompositeInputSourceAxis2D{}class InputSourceStick extends CompositeInputSourceAxis2D{}class InputSourceOrientation extends InputSourceQuat{getValue(){return super.getValue()}}class InputSourcePosition extends InputSourceAxis3D{getValue(){return super.getValue()}}class InputSourceTouch extends InputSourceAxis1D{getValue(){return super.getValue()}} +- +-export { CompositeInputSourceAxis1D, CompositeInputSourceAxis2D, CompositeInputSourceAxis3D, InputSource, InputSourceAxis1D, InputSourceAxis2D, InputSourceAxis3D, InputSourceButton, InputSourceDpad, InputSourceOrientation, InputSourcePosition, InputSourceQuat, InputSourceStick, InputSourceTouch }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/keycodes.d.ts b/node_modules/@cocos/engine-pal/dist/input/keycodes.d.ts +deleted file mode 100644 +index 833e437..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/keycodes.d.ts ++++ /dev/null +@@ -1,2 +0,0 @@ +-import { KeyCode } from '@cocos/engine/cocos/input/types'; +-export declare const code2KeyCode: Record; +diff --git a/node_modules/@cocos/engine-pal/dist/input/keycodes.js b/node_modules/@cocos/engine-pal/dist/input/keycodes.js +deleted file mode 100644 +index e4ddc1c..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/keycodes.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-const code2KeyCode={Backspace:8,Tab:9,Enter:13,ShiftLeft:16,ControlLeft:17,AltLeft:18,ShiftRight:2000,ControlRight:2001,AltRight:2002,Pause:19,CapsLock:20,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Insert:45,Delete:46,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,KeyA:65,KeyB:66,KeyC:67,KeyD:68,KeyE:69,KeyF:70,KeyG:71,KeyH:72,KeyI:73,KeyJ:74,KeyK:75,KeyL:76,KeyM:77,KeyN:78,KeyO:79,KeyP:80,KeyQ:81,KeyR:82,KeyS:83,KeyT:84,KeyU:85,KeyV:86,KeyW:87,KeyX:88,KeyY:89,KeyZ:90,Numpad0:96,Numpad1:97,Numpad2:98,Numpad3:99,Numpad4:100,Numpad5:101,Numpad6:102,Numpad7:103,Numpad8:104,Numpad9:105,NumpadMultiply:106,NumpadAdd:107,NumpadSubtract:109,NumpadDecimal:110,NumpadDivide:111,NumpadEnter:2003,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NumLock:144,ScrollLock:145,Semicolon:186,Equal:187,Comma:188,Minus:189,Period:190,Slash:191,Backquote:192,BracketLeft:219,Backslash:220,BracketRight:221,Quote:222}; +- +-export { code2KeyCode }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer-input.d.ts +deleted file mode 100644 +index 0cef235..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer-input.d.ts ++++ /dev/null +@@ -1,16 +0,0 @@ +-import { AccelerometerCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class AccelerometerInputSource { +- private _isStarted; +- private _accelMode; +- private _eventTarget; +- private _didAccelerateFunc; +- constructor(); +- private _registerEvent; +- private _unregisterEvent; +- private _didAccelerate; +- start(): void; +- stop(): void; +- setInterval(intervalInMileseconds: number): void; +- on(eventType: InputEventType, callback: AccelerometerCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer-input.js +deleted file mode 100644 +index a76467b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer-input.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { Acceleration, EventAcceleration } from '@cocos/engine/cocos/input/types'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { errorID } from '@cocos/engine/cocos/core/platform/debug'; +- +-class AccelerometerInputSource{_ccprivate$_isStarted=false;_ccprivate$_accelMode="normal";_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_didAccelerateFunc=this._ccprivate$_didAccelerate.bind(this);}_ccprivate$_registerEvent(){minigame.onAccelerometerChange(this._ccprivate$_didAccelerateFunc);}_ccprivate$_unregisterEvent(){minigame.offAccelerometerChange(this._ccprivate$_didAccelerateFunc);}_ccprivate$_didAccelerate(event){const timestamp=performance.now();const acceleration=new Acceleration(event.x,event.y,event.z,timestamp);const eventAcceleration=new EventAcceleration(acceleration);this._ccprivate$_eventTarget.emit("devicemotion",eventAcceleration);}start(){this._ccprivate$_registerEvent();minigame.startAccelerometer({interval:this._ccprivate$_accelMode,success:()=>{this._ccprivate$_isStarted=true;}});}stop(){minigame.stopAccelerometer({success:()=>{this._ccprivate$_isStarted=false;},fail(){errorID(16305);}});this._ccprivate$_unregisterEvent();}setInterval(intervalInMileseconds){if(intervalInMileseconds>=200){this._ccprivate$_accelMode="normal";}else if(intervalInMileseconds>=60){this._ccprivate$_accelMode="ui";}else {this._ccprivate$_accelMode="game";}if(this._ccprivate$_isStarted){this.stop();this.start();}}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { AccelerometerInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer.d.ts +new file mode 100644 +index 0000000..133021b +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer.d.ts +@@ -0,0 +1,16 @@ ++import { AccelerometerCallback } from 'pal/input'; ++export declare class AccelerometerInputSource { ++ support: boolean; ++ private _isStarted; ++ private _accelMode; ++ private _eventTarget; ++ private _didAccelerateFunc; ++ constructor(); ++ private _registerEvent; ++ private _unregisterEvent; ++ private _didAccelerate; ++ start(): void; ++ stop(): void; ++ setInterval(intervalInMileseconds: number): void; ++ onChange(cb: AccelerometerCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer.js b/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer.js +new file mode 100644 +index 0000000..9afad30 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/accelerometer.js +@@ -0,0 +1,7 @@ ++import { minigame } from 'pal/minigame'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++ ++class AccelerometerInputSource{support;_ccprivate$_isStarted=false;_ccprivate$_accelMode="normal";_ccprivate$_eventTarget=new EventTarget;_ccprivate$_didAccelerateFunc;constructor(){this.support=true;this._ccprivate$_didAccelerateFunc=this._ccprivate$_didAccelerate.bind(this);}_ccprivate$_registerEvent(){minigame.onAccelerometerChange(this._ccprivate$_didAccelerateFunc);}_ccprivate$_unregisterEvent(){minigame.offAccelerometerChange(this._ccprivate$_didAccelerateFunc);}_ccprivate$_didAccelerate(event){const accelerometer={type:SystemEventType.DEVICEMOTION,x:event.x,y:event.y,z:event.z,timestamp:performance.now()};this._ccprivate$_eventTarget.emit(SystemEventType.DEVICEMOTION,accelerometer);}start(){this._ccprivate$_registerEvent();minigame.startAccelerometer({interval:this._ccprivate$_accelMode,success:()=>{this._ccprivate$_isStarted=true;}});}stop(){minigame.stopAccelerometer({success:()=>{this._ccprivate$_isStarted=false;},fail(){console.error("failed to stop accelerometer");}});this._ccprivate$_unregisterEvent();}setInterval(intervalInMileseconds){if(intervalInMileseconds>=200){this._ccprivate$_accelMode="normal";}else if(intervalInMileseconds>=60){this._ccprivate$_accelMode="ui";}else {this._ccprivate$_accelMode="game";}if(this._ccprivate$_isStarted){this.stop();this.start();}}onChange(cb){this._ccprivate$_eventTarget.on(SystemEventType.DEVICEMOTION,cb);}} ++ ++export { AccelerometerInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad-input.d.ts +deleted file mode 100644 +index 26037d1..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad-input.d.ts ++++ /dev/null +@@ -1,74 +0,0 @@ +-import { GamepadCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourceButton, InputSourceDpad, InputSourceOrientation, InputSourcePosition, InputSourceStick } from '../input-source'; +-export declare class GamepadInputDevice { +- static all: GamepadInputDevice[]; +- static xr: (GamepadInputDevice | null); +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonL1(): InputSourceButton; +- get buttonL2(): InputSourceButton; +- get buttonL3(): InputSourceButton; +- get buttonR1(): InputSourceButton; +- get buttonR2(): InputSourceButton; +- get buttonR3(): InputSourceButton; +- get buttonShare(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get dpad(): InputSourceDpad; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonStart(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get deviceId(): number; +- get connected(): boolean; +- private static _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonL1; +- private _buttonL2; +- private _buttonL3; +- private _buttonR1; +- private _buttonR2; +- private _buttonR3; +- private _buttonShare; +- private _buttonOptions; +- private _dpad; +- private _leftStick; +- private _rightStick; +- private _buttonStart; +- private _gripLeft; +- private _gripRight; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- private _deviceId; +- private _connected; +- constructor(deviceId: number); +- /** +- * @engineInternal +- */ +- static _init(): void; +- /** +- * @engineInternal +- */ +- static _on(eventType: InputEventType, cb: GamepadCallback, target?: any): void; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad-input.js +deleted file mode 100644 +index 487b210..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { InputSourceButton, InputSourceDpad, InputSourceStick, InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Vec3, Quat } from '@cocos/engine/cocos/core'; +- +-class GamepadInputDevice{static all=[];static xr=null;get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonL1(){return this._ccprivate$_buttonL1}get buttonL2(){return this._ccprivate$_buttonL2}get buttonL3(){return this._ccprivate$_buttonL3}get buttonR1(){return this._ccprivate$_buttonR1}get buttonR2(){return this._ccprivate$_buttonR2}get buttonR3(){return this._ccprivate$_buttonR3}get buttonShare(){return this._ccprivate$_buttonShare}get buttonOptions(){return this._ccprivate$_buttonOptions}get dpad(){return this._ccprivate$_dpad}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonStart(){return this._ccprivate$_buttonStart}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get deviceId(){return this._ccprivate$_deviceId}get connected(){return this._ccprivate$_connected}static _ccprivate$_eventTarget=new EventTarget;_ccprivate$_deviceId=-1;_ccprivate$_connected=false;constructor(deviceId){this._ccprivate$_deviceId=deviceId;this._ccprivate$_initInputSource();}static _init(){}static _on(eventType,cb,target){GamepadInputDevice._ccprivate$_eventTarget.on(eventType,cb,target);}_ccprivate$_initInputSource(){const self=this;self._ccprivate$_buttonNorth=new InputSourceButton;self._ccprivate$_buttonNorth.getValue=()=>0;self._ccprivate$_buttonEast=new InputSourceButton;self._ccprivate$_buttonEast.getValue=()=>0;self._ccprivate$_buttonWest=new InputSourceButton;self._ccprivate$_buttonWest.getValue=()=>0;self._ccprivate$_buttonSouth=new InputSourceButton;self._ccprivate$_buttonSouth.getValue=()=>0;self._ccprivate$_buttonL1=new InputSourceButton;self._ccprivate$_buttonL1.getValue=()=>0;self._ccprivate$_buttonL2=new InputSourceButton;self._ccprivate$_buttonL2.getValue=()=>0;self._ccprivate$_buttonL3=new InputSourceButton;self._ccprivate$_buttonL3.getValue=()=>0;self._ccprivate$_buttonR1=new InputSourceButton;self._ccprivate$_buttonR1.getValue=()=>0;self._ccprivate$_buttonR2=new InputSourceButton;self._ccprivate$_buttonR2.getValue=()=>0;self._ccprivate$_buttonR3=new InputSourceButton;self._ccprivate$_buttonR3.getValue=()=>0;self._ccprivate$_buttonShare=new InputSourceButton;self._ccprivate$_buttonShare.getValue=()=>0;self._ccprivate$_buttonOptions=new InputSourceButton;self._ccprivate$_buttonOptions.getValue=()=>0;const dpadUp=new InputSourceButton;dpadUp.getValue=()=>0;const dpadDown=new InputSourceButton;dpadDown.getValue=()=>0;const dpadLeft=new InputSourceButton;dpadLeft.getValue=()=>0;const dpadRight=new InputSourceButton;dpadRight.getValue=()=>0;self._ccprivate$_dpad=new InputSourceDpad({up:dpadUp,down:dpadDown,left:dpadLeft,right:dpadRight});const leftStickUp=new InputSourceButton;leftStickUp.getValue=()=>0;const leftStickDown=new InputSourceButton;leftStickDown.getValue=()=>0;const leftStickLeft=new InputSourceButton;leftStickLeft.getValue=()=>0;const leftStickRight=new InputSourceButton;leftStickRight.getValue=()=>0;self._ccprivate$_leftStick=new InputSourceStick({up:leftStickUp,down:leftStickDown,left:leftStickLeft,right:leftStickRight});const rightStickUp=new InputSourceButton;rightStickUp.getValue=()=>0;const rightStickDown=new InputSourceButton;rightStickDown.getValue=()=>0;const rightStickLeft=new InputSourceButton;rightStickLeft.getValue=()=>0;const rightStickRight=new InputSourceButton;rightStickRight.getValue=()=>0;self._ccprivate$_rightStick=new InputSourceStick({up:rightStickUp,down:rightStickDown,left:rightStickLeft,right:rightStickRight});self._ccprivate$_buttonStart=new InputSourceButton;self._ccprivate$_buttonStart.getValue=()=>0;self._ccprivate$_gripLeft=new InputSourceButton;self._ccprivate$_gripLeft.getValue=()=>0;self._ccprivate$_gripRight=new InputSourceButton;self._ccprivate$_gripRight.getValue=()=>0;self._ccprivate$_handLeftPosition=new InputSourcePosition;self._ccprivate$_handLeftPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_handLeftOrientation=new InputSourceOrientation;self._ccprivate$_handLeftOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_handRightPosition=new InputSourcePosition;self._ccprivate$_handRightPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_handRightOrientation=new InputSourceOrientation;self._ccprivate$_handRightOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_aimLeftPosition=new InputSourcePosition;self._ccprivate$_aimLeftPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_aimLeftOrientation=new InputSourceOrientation;self._ccprivate$_aimLeftOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_aimRightPosition=new InputSourcePosition;self._ccprivate$_aimRightPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_aimRightOrientation=new InputSourceOrientation;self._ccprivate$_aimRightOrientation.getValue=()=>Quat.IDENTITY;}} +- +-export { GamepadInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad.d.ts +new file mode 100644 +index 0000000..9f7a0a4 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad.d.ts +@@ -0,0 +1,4 @@ ++export declare class GamepadInputSource { ++ support: boolean; ++ constructor(); ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad.js b/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad.js +new file mode 100644 +index 0000000..b99ebb0 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/gamepad.js +@@ -0,0 +1,3 @@ ++class GamepadInputSource{support;constructor(){this.support=false;}} ++ ++export { GamepadInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/handheld-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/handheld-input.d.ts +deleted file mode 100644 +index 14d428d..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/handheld-input.d.ts ++++ /dev/null +@@ -1,16 +0,0 @@ +-import { HandheldCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export declare class HandheldInputDevice { +- get handheldPosition(): InputSourcePosition; +- get handheldOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _handheldPosition; +- private _handheldOrientation; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandheldCallback, target?: any): void; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/handheld-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/handheld-input.js +deleted file mode 100644 +index 8803180..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/handheld-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Vec3, Quat } from '@cocos/engine/cocos/core/math'; +- +-class HandheldInputDevice{get handheldPosition(){return this._ccprivate$_handheldPosition}get handheldOrientation(){return this._ccprivate$_handheldOrientation}_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_initInputSource();}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_initInputSource(){this._ccprivate$_handheldPosition=new InputSourcePosition;this._ccprivate$_handheldPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_handheldOrientation=new InputSourceOrientation;this._ccprivate$_handheldOrientation.getValue=()=>Quat.IDENTITY;}} +- +-export { HandheldInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/handle-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/handle-input.d.ts +deleted file mode 100644 +index 7efcab5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/handle-input.d.ts ++++ /dev/null +@@ -1,76 +0,0 @@ +-import { HandleCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source'; +-export declare class HandleInputDevice { +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonTriggerLeft(): InputSourceButton; +- get buttonTriggerRight(): InputSourceButton; +- get triggerLeft(): InputSourceButton; +- get triggerRight(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonLeftStick(): InputSourceButton; +- get buttonRightStick(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get buttonStart(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get touchButtonA(): InputSourceTouch; +- get touchButtonB(): InputSourceTouch; +- get touchButtonX(): InputSourceTouch; +- get touchButtonY(): InputSourceTouch; +- get touchButtonTriggerLeft(): InputSourceTouch; +- get touchButtonTriggerRight(): InputSourceTouch; +- get touchButtonThumbStickLeft(): InputSourceTouch; +- get touchButtonThumbStickRight(): InputSourceTouch; +- private _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonTriggerLeft; +- private _buttonTriggerRight; +- private _triggerLeft; +- private _triggerRight; +- private _gripLeft; +- private _gripRight; +- private _leftStick; +- private _rightStick; +- private _buttonLeftStick; +- private _buttonRightStick; +- private _buttonOptions; +- private _buttonStart; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- private _touchButtonA; +- private _touchButtonB; +- private _touchButtonX; +- private _touchButtonY; +- private _touchButtonTriggerLeft; +- private _touchButtonTriggerRight; +- private _touchButtonThumbStickLeft; +- private _touchButtonThumbStickRight; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandleCallback, target?: any): void; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/handle-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/handle-input.js +deleted file mode 100644 +index e333084..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/handle-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source.js'; +-import { Vec3, Quat } from '@cocos/engine/cocos/core/math'; +- +-class HandleInputDevice{get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonTriggerLeft(){return this._ccprivate$_buttonTriggerLeft}get buttonTriggerRight(){return this._ccprivate$_buttonTriggerRight}get triggerLeft(){return this._ccprivate$_triggerLeft}get triggerRight(){return this._ccprivate$_triggerRight}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonLeftStick(){return this._ccprivate$_buttonLeftStick}get buttonRightStick(){return this._ccprivate$_buttonRightStick}get buttonOptions(){return this._ccprivate$_buttonOptions}get buttonStart(){return this._ccprivate$_buttonStart}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get touchButtonA(){return this._ccprivate$_touchButtonA}get touchButtonB(){return this._ccprivate$_touchButtonB}get touchButtonX(){return this._ccprivate$_touchButtonX}get touchButtonY(){return this._ccprivate$_touchButtonY}get touchButtonTriggerLeft(){return this._ccprivate$_touchButtonTriggerLeft}get touchButtonTriggerRight(){return this._ccprivate$_touchButtonTriggerRight}get touchButtonThumbStickLeft(){return this._ccprivate$_touchButtonThumbStickLeft}get touchButtonThumbStickRight(){return this._ccprivate$_touchButtonThumbStickRight}_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_initInputSource();}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_initInputSource(){const self=this;self._ccprivate$_buttonNorth=new InputSourceButton;self._ccprivate$_buttonNorth.getValue=()=>0;self._ccprivate$_buttonEast=new InputSourceButton;self._ccprivate$_buttonEast.getValue=()=>0;self._ccprivate$_buttonWest=new InputSourceButton;self._ccprivate$_buttonWest.getValue=()=>0;self._ccprivate$_buttonSouth=new InputSourceButton;self._ccprivate$_buttonSouth.getValue=()=>0;self._ccprivate$_buttonTriggerLeft=new InputSourceButton;self._ccprivate$_buttonTriggerLeft.getValue=()=>0;self._ccprivate$_buttonTriggerRight=new InputSourceButton;self._ccprivate$_buttonTriggerRight.getValue=()=>0;self._ccprivate$_triggerLeft=new InputSourceButton;self._ccprivate$_triggerLeft.getValue=()=>0;self._ccprivate$_triggerRight=new InputSourceButton;self._ccprivate$_triggerRight.getValue=()=>0;self._ccprivate$_gripLeft=new InputSourceButton;self._ccprivate$_gripLeft.getValue=()=>0;self._ccprivate$_gripRight=new InputSourceButton;self._ccprivate$_gripRight.getValue=()=>0;self._ccprivate$_buttonLeftStick=new InputSourceButton;self._ccprivate$_buttonLeftStick.getValue=()=>0;const leftStickUp=new InputSourceButton;leftStickUp.getValue=()=>0;const leftStickDown=new InputSourceButton;leftStickDown.getValue=()=>0;const leftStickLeft=new InputSourceButton;leftStickLeft.getValue=()=>0;const leftStickRight=new InputSourceButton;leftStickRight.getValue=()=>0;self._ccprivate$_leftStick=new InputSourceStick({up:leftStickUp,down:leftStickDown,left:leftStickLeft,right:leftStickRight});self._ccprivate$_buttonRightStick=new InputSourceButton;self._ccprivate$_buttonRightStick.getValue=()=>0;const rightStickUp=new InputSourceButton;rightStickUp.getValue=()=>0;const rightStickDown=new InputSourceButton;rightStickDown.getValue=()=>0;const rightStickLeft=new InputSourceButton;rightStickLeft.getValue=()=>0;const rightStickRight=new InputSourceButton;rightStickRight.getValue=()=>0;self._ccprivate$_rightStick=new InputSourceStick({up:rightStickUp,down:rightStickDown,left:rightStickLeft,right:rightStickRight});self._ccprivate$_buttonOptions=new InputSourceButton;self._ccprivate$_buttonOptions.getValue=()=>0;self._ccprivate$_buttonStart=new InputSourceButton;self._ccprivate$_buttonStart.getValue=()=>0;self._ccprivate$_handLeftPosition=new InputSourcePosition;self._ccprivate$_handLeftPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_handLeftOrientation=new InputSourceOrientation;self._ccprivate$_handLeftOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_handRightPosition=new InputSourcePosition;self._ccprivate$_handRightPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_handRightOrientation=new InputSourceOrientation;self._ccprivate$_handRightOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_aimLeftPosition=new InputSourcePosition;self._ccprivate$_aimLeftPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_aimLeftOrientation=new InputSourceOrientation;self._ccprivate$_aimLeftOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_aimRightPosition=new InputSourcePosition;self._ccprivate$_aimRightPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_aimRightOrientation=new InputSourceOrientation;self._ccprivate$_aimRightOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_touchButtonA=new InputSourceTouch;self._ccprivate$_touchButtonA.getValue=()=>0;self._ccprivate$_touchButtonB=new InputSourceTouch;self._ccprivate$_touchButtonB.getValue=()=>0;self._ccprivate$_touchButtonX=new InputSourceTouch;self._ccprivate$_touchButtonX.getValue=()=>0;self._ccprivate$_touchButtonY=new InputSourceTouch;self._ccprivate$_touchButtonY.getValue=()=>0;self._ccprivate$_touchButtonTriggerLeft=new InputSourceTouch;self._ccprivate$_touchButtonTriggerLeft.getValue=()=>0;self._ccprivate$_touchButtonTriggerRight=new InputSourceTouch;self._ccprivate$_touchButtonTriggerRight.getValue=()=>0;self._ccprivate$_touchButtonThumbStickLeft=new InputSourceTouch;self._ccprivate$_touchButtonThumbStickLeft.getValue=()=>0;self._ccprivate$_touchButtonThumbStickRight=new InputSourceTouch;self._ccprivate$_touchButtonThumbStickRight.getValue=()=>0;}} +- +-export { HandleInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/hmd-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/hmd-input.d.ts +deleted file mode 100644 +index a73efda..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/hmd-input.d.ts ++++ /dev/null +@@ -1,24 +0,0 @@ +-import { HMDCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export declare class HMDInputDevice { +- get viewLeftPosition(): InputSourcePosition; +- get viewLeftOrientation(): InputSourceOrientation; +- get viewRightPosition(): InputSourcePosition; +- get viewRightOrientation(): InputSourceOrientation; +- get headMiddlePosition(): InputSourcePosition; +- get headMiddleOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _viewLeftPosition; +- private _viewLeftOrientation; +- private _viewRightPosition; +- private _viewRightOrientation; +- private _headMiddlePosition; +- private _headMiddleOrientation; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HMDCallback, target?: any): void; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/hmd-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/hmd-input.js +deleted file mode 100644 +index fa23b52..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/hmd-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Vec3, Quat } from '@cocos/engine/cocos/core/math'; +- +-class HMDInputDevice{get viewLeftPosition(){return this._ccprivate$_viewLeftPosition}get viewLeftOrientation(){return this._ccprivate$_viewLeftOrientation}get viewRightPosition(){return this._ccprivate$_viewRightPosition}get viewRightOrientation(){return this._ccprivate$_viewRightOrientation}get headMiddlePosition(){return this._ccprivate$_headMiddlePosition}get headMiddleOrientation(){return this._ccprivate$_headMiddleOrientation}_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_initInputSource();}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_initInputSource(){const self=this;self._ccprivate$_viewLeftPosition=new InputSourcePosition;self._ccprivate$_viewLeftPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_viewLeftOrientation=new InputSourceOrientation;self._ccprivate$_viewLeftOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_viewRightPosition=new InputSourcePosition;self._ccprivate$_viewRightPosition.getValue=()=>Vec3.ZERO;self._ccprivate$_viewRightOrientation=new InputSourceOrientation;self._ccprivate$_viewRightOrientation.getValue=()=>Quat.IDENTITY;self._ccprivate$_headMiddlePosition=new InputSourcePosition;self._ccprivate$_headMiddlePosition.getValue=()=>Vec3.ZERO;self._ccprivate$_headMiddleOrientation=new InputSourceOrientation;self._ccprivate$_headMiddleOrientation.getValue=()=>Quat.IDENTITY;}} +- +-export { HMDInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/index.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/index.d.ts +index 61ba7b3..0ac7b57 100644 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/index.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/index.d.ts +@@ -1,8 +1,19 @@ +-export * from './accelerometer-input'; +-export * from './gamepad-input'; +-export * from './handle-input'; +-export * from './hmd-input'; +-export * from './handheld-input'; +-export * from './keyboard-input'; +-export * from './mouse-input'; +-export * from './touch-input'; ++import { BaseInputEvent } from 'pal/input'; ++import { AccelerometerInputSource } from './accelerometer'; ++import { InputBox } from './input-box'; ++import { KeyboardInputSource } from './keyboard'; ++import { MouseInputSource } from './mouse'; ++import { TouchInputSource } from './touch'; ++export declare class Input { ++ _touch: TouchInputSource; ++ _mouse: MouseInputSource; ++ _keyboard: KeyboardInputSource; ++ _accelerometer: AccelerometerInputSource; ++ _inputBox: InputBox; ++ private _inputEventList; ++ constructor(); ++ private _registerEvent; ++ private _pushEvent; ++ pollEvent(): BaseInputEvent | undefined; ++} ++export declare const input: Input; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/index.js b/node_modules/@cocos/engine-pal/dist/input/minigame/index.js +index 9e91fe5..b1fcfe4 100644 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/index.js ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/index.js +@@ -1,8 +1,9 @@ +-export { AccelerometerInputSource } from './accelerometer-input.js'; +-export { GamepadInputDevice } from './gamepad-input.js'; +-export { HandleInputDevice } from './handle-input.js'; +-export { HMDInputDevice } from './hmd-input.js'; +-export { HandheldInputDevice } from './handheld-input.js'; +-export { KeyboardInputSource } from './keyboard-input.js'; +-export { MouseInputSource } from './mouse-input.js'; +-export { TouchInputSource } from './touch-input.js'; ++import { AccelerometerInputSource } from './accelerometer.js'; ++import { InputBox } from './input-box.js'; ++import { KeyboardInputSource } from './keyboard.js'; ++import { MouseInputSource } from './mouse.js'; ++import { TouchInputSource } from './touch.js'; ++ ++class Input{_touch=new TouchInputSource;_mouse=new MouseInputSource;_keyboard=new KeyboardInputSource;_accelerometer=new AccelerometerInputSource;_inputBox=new InputBox;_ccprivate$_inputEventList=[];constructor(){this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){}_ccprivate$_pushEvent(inputEvent){this._ccprivate$_inputEventList.push(inputEvent);}pollEvent(){return this._ccprivate$_inputEventList.shift()}}const input=new Input; ++ ++export { Input, input }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/input-box.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/input-box.d.ts +new file mode 100644 +index 0000000..34267d5 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/input-box.d.ts +@@ -0,0 +1,10 @@ ++export declare class InputBox { ++ support: boolean; ++ constructor(); ++ show(): Promise; ++ hide(): Promise; ++ onChange(): void; ++ onComplete(): void; ++ offChange(): void; ++ offComplete(): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/input-box.js b/node_modules/@cocos/engine-pal/dist/input/minigame/input-box.js +new file mode 100644 +index 0000000..f682450 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/input-box.js +@@ -0,0 +1,3 @@ ++class InputBox{support;constructor(){this.support=true;}show(){throw new Error("Method not implemented.")}hide(){throw new Error("Method not implemented.")}onChange(){throw new Error("Method not implemented.")}onComplete(){throw new Error("Method not implemented.")}offChange(){throw new Error("Method not implemented.")}offComplete(){throw new Error("Method not implemented.")}} ++ ++export { InputBox }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard-input.d.ts +deleted file mode 100644 +index 92f3c64..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard-input.d.ts ++++ /dev/null +@@ -1,10 +0,0 @@ +-import { KeyboardCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class KeyboardInputSource { +- private _eventTarget; +- private _keyStateMap; +- constructor(); +- private _registerEvent; +- private _getInputEvent; +- on(eventType: InputEventType, callback: KeyboardCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard-input.js +deleted file mode 100644 +index 985e1f9..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard-input.js ++++ /dev/null +@@ -1,14 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { systemInfo } from 'pal/system-info'; +-import { EventKeyboard } from '@cocos/engine/cocos/input/types'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +- +-const code2KeyCode={Backspace:8,Tab:9,Enter:13,ShiftLeft:16,ControlLeft:17,AltLeft:18,ShiftRight:2000,ControlRight:2001,AltRight:2002,Pause:19,CapsLock:20,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Insert:45,Delete:46,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,KeyA:65,KeyB:66,KeyC:67,KeyD:68,KeyE:69,KeyF:70,KeyG:71,KeyH:72,KeyI:73,KeyJ:74,KeyK:75,KeyL:76,KeyM:77,KeyN:78,KeyO:79,KeyP:80,KeyQ:81,KeyR:82,KeyS:83,KeyT:84,KeyU:85,KeyV:86,KeyW:87,KeyX:88,KeyY:89,KeyZ:90,Numpad0:96,Numpad1:97,Numpad2:98,Numpad3:99,Numpad4:100,Numpad5:101,Numpad6:102,Numpad7:103,Numpad8:104,Numpad9:105,NumpadMultiply:106,NumpadAdd:107,NumpadSubtract:109,NumpadDecimal:110,NumpadDivide:111,NumpadEnter:2003,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NumLock:144,ScrollLock:145,Semicolon:186,Equal:187,Comma:188,Minus:189,Period:190,Slash:191,Backquote:192,BracketLeft:219,Backslash:220,BracketRight:221,Quote:222};function getKeyCode(code){return code2KeyCode[code]||0}class KeyboardInputSource{_ccprivate$_eventTarget=new EventTarget;_ccprivate$_keyStateMap={};constructor(){if(systemInfo.hasFeature(Feature.EVENT_KEYBOARD)){this._ccprivate$_registerEvent();}}_ccprivate$_registerEvent(){minigame.wx?.onKeyDown?.(res=>{const keyCode=getKeyCode(res.code);if(!this._ccprivate$_keyStateMap[keyCode]){const eventKeyDown=this._ccprivate$_getInputEvent(res,"keydown");this._ccprivate$_eventTarget.emit("keydown",eventKeyDown);}else {const eventKeyPressing=this._ccprivate$_getInputEvent(res,"key-pressing");this._ccprivate$_eventTarget.emit("key-pressing",eventKeyPressing);}this._ccprivate$_keyStateMap[keyCode]=true;});minigame.wx?.onKeyUp?.(res=>{const keyCode=getKeyCode(res.code);const eventKeyUp=this._ccprivate$_getInputEvent(res,"keyup");this._ccprivate$_keyStateMap[keyCode]=false;this._ccprivate$_eventTarget.emit("keyup",eventKeyUp);});}_ccprivate$_getInputEvent(event,eventType){const keyCode=getKeyCode(event.code);const eventKeyboard=new EventKeyboard(keyCode,eventType);return eventKeyboard}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard.d.ts +new file mode 100644 +index 0000000..3de3aca +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard.d.ts +@@ -0,0 +1,8 @@ ++import { KeyboardCallback } from 'pal/input'; ++export declare class KeyboardInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ onDown(cb: KeyboardCallback): void; ++ onUp(cb: KeyboardCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard.js b/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard.js +new file mode 100644 +index 0000000..66b5ba1 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/keyboard.js +@@ -0,0 +1,6 @@ ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++ ++class KeyboardInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=false;}onDown(cb){this._ccprivate$_eventTarget.on(SystemEventType.KEY_DOWN,cb);}onUp(cb){this._ccprivate$_eventTarget.on(SystemEventType.KEY_UP,cb);}} ++ ++export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/mouse-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/mouse-input.d.ts +deleted file mode 100644 +index 028fcc5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/mouse-input.d.ts ++++ /dev/null +@@ -1,14 +0,0 @@ +-import { MouseCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class MouseInputSource { +- private _eventTarget; +- private _isPressed; +- private _preMousePos; +- constructor(); +- private _getLocation; +- private _registerEvent; +- private _createCallback; +- private _handleMouseWheel; +- on(eventType: InputEventType, callback: MouseCallback, target?: any): void; +- dispatchEventsInCache(): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/mouse-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/mouse-input.js +deleted file mode 100644 +index 635ed3a..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/mouse-input.js ++++ /dev/null +@@ -1,16 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { screenAdapter } from 'pal/screen-adapter'; +-import { systemInfo } from 'pal/system-info'; +-import { Vec2 } from '@cocos/engine/cocos/core/math'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { EventMouse } from '@cocos/engine/cocos/input/types'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +- +-class MouseInputSource{_ccprivate$_eventTarget=new EventTarget;_ccprivate$_isPressed=false;_ccprivate$_preMousePos=new Vec2;constructor(){if(systemInfo.hasFeature(Feature.EVENT_MOUSE)){this._ccprivate$_registerEvent();}}_ccprivate$_getLocation(event){const windowSize=screenAdapter.windowSize;const dpr=screenAdapter.devicePixelRatio;const x=event.x*dpr;const y=windowSize.height-event.y*dpr;return new Vec2(x,y)}_ccprivate$_registerEvent(){minigame.wx?.onMouseDown?.(this._ccprivate$_createCallback("mouse-down"));minigame.wx?.onMouseMove?.(this._ccprivate$_createCallback("mouse-move"));minigame.wx?.onMouseUp?.(this._ccprivate$_createCallback("mouse-up"));minigame.wx?.onWheel?.(this._ccprivate$_handleMouseWheel.bind(this));}_ccprivate$_createCallback(eventType){return event=>{const location=this._ccprivate$_getLocation(event);let button=event.button;switch(eventType){case "mouse-down":this._ccprivate$_isPressed=true;break;case "mouse-up":this._ccprivate$_isPressed=false;break;case "mouse-move":if(!this._ccprivate$_isPressed){button=EventMouse.BUTTON_MISSING;}break;}const eventMouse=new EventMouse(eventType,false,this._ccprivate$_preMousePos);eventMouse.setLocation(location.x,location.y);eventMouse.setButton(button);eventMouse.movementX=location.x-this._ccprivate$_preMousePos.x;eventMouse.movementY=this._ccprivate$_preMousePos.y-location.y;this._ccprivate$_preMousePos.set(location.x,location.y);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}}_ccprivate$_handleMouseWheel(event){const eventType="mouse-wheel";const location=this._ccprivate$_getLocation(event);const button=event.button;const eventMouse=new EventMouse(eventType,false,this._ccprivate$_preMousePos);eventMouse.setLocation(location.x,location.y);eventMouse.setButton(button);eventMouse.movementX=location.x-this._ccprivate$_preMousePos.x;eventMouse.movementY=this._ccprivate$_preMousePos.y-location.y;eventMouse.setScrollData(event.deltaX,-event.deltaY);this._ccprivate$_preMousePos.set(location.x,location.y);this._ccprivate$_eventTarget.emit("mouse-wheel",eventMouse);}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}dispatchEventsInCache(){}} +- +-export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/mouse.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/mouse.d.ts +new file mode 100644 +index 0000000..3539eff +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/mouse.d.ts +@@ -0,0 +1,10 @@ ++import { MouseCallback, MouseWheelCallback } from 'pal/input'; ++export declare class MouseInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ onDown(cb: MouseCallback): void; ++ onMove(cb: MouseCallback): void; ++ onUp(cb: MouseCallback): void; ++ onWheel(cb: MouseWheelCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/mouse.js b/node_modules/@cocos/engine-pal/dist/input/minigame/mouse.js +new file mode 100644 +index 0000000..510fe22 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/mouse.js +@@ -0,0 +1,6 @@ ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++ ++class MouseInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=false;}onDown(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_DOWN,cb);}onMove(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_MOVE,cb);}onUp(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_UP,cb);}onWheel(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_WHEEL,cb);}} ++ ++export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/touch-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/touch-input.d.ts +deleted file mode 100644 +index bbd2dbf..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/touch-input.d.ts ++++ /dev/null +@@ -1,11 +0,0 @@ +-import { TouchCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class TouchInputSource { +- private _eventTarget; +- constructor(); +- private _registerEvent; +- private _createCallback; +- private _getLocation; +- on(eventType: InputEventType, callback: TouchCallback, target?: any): void; +- dispatchEventsInCache(): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/touch-input.js b/node_modules/@cocos/engine-pal/dist/input/minigame/touch-input.js +deleted file mode 100644 +index 8b4062b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/minigame/touch-input.js ++++ /dev/null +@@ -1,17 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { screenAdapter } from 'pal/screen-adapter'; +-import { systemInfo } from 'pal/system-info'; +-import { Vec2 } from '@cocos/engine/cocos/core/math'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { EventTouch } from '@cocos/engine/cocos/input/types'; +-import { touchManager } from '../touch-manager.js'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +- +-class TouchInputSource{_ccprivate$_eventTarget=new EventTarget;constructor(){if(systemInfo.hasFeature(Feature.INPUT_TOUCH)){this._ccprivate$_registerEvent();}}_ccprivate$_registerEvent(){minigame.onTouchStart(this._ccprivate$_createCallback("touch-start"));minigame.onTouchMove(this._ccprivate$_createCallback("touch-move"));minigame.onTouchEnd(this._ccprivate$_createCallback("touch-end"));minigame.onTouchCancel(this._ccprivate$_createCallback("touch-cancel"));}_ccprivate$_createCallback(eventType){return event=>{const handleTouches=[];const windowSize=screenAdapter.windowSize;const dpr=screenAdapter.devicePixelRatio;const length=event.changedTouches.length;for(let i=0;i0){const eventTouch=new EventTouch(handleTouches,false,eventType,touchManager.getAllTouches());this._ccprivate$_eventTarget.emit(eventType,eventTouch);}}}_ccprivate$_getLocation(touch,windowSize,dpr){const x=touch.clientX*dpr;const y=windowSize.height-touch.clientY*dpr;return new Vec2(x,y)}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}dispatchEventsInCache(){}} +- +-export { TouchInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/touch.d.ts b/node_modules/@cocos/engine-pal/dist/input/minigame/touch.d.ts +new file mode 100644 +index 0000000..bad8ec8 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/touch.d.ts +@@ -0,0 +1,13 @@ ++import { TouchCallback } from 'pal/input'; ++export declare class TouchInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ private _registerEvent; ++ private _createCallback; ++ private _getLocation; ++ onStart(cb: TouchCallback): void; ++ onMove(cb: TouchCallback): void; ++ onEnd(cb: TouchCallback): void; ++ onCancel(cb: TouchCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/minigame/touch.js b/node_modules/@cocos/engine-pal/dist/input/minigame/touch.js +new file mode 100644 +index 0000000..78801b1 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/minigame/touch.js +@@ -0,0 +1,8 @@ ++import { minigame } from 'pal/minigame'; ++import { Vec2 } from '@cocos/engine/cocos/core/math'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++ ++class TouchInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=true;this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){minigame.onTouchStart(this._ccprivate$_createCallback(SystemEventType.TOUCH_START));minigame.onTouchMove(this._ccprivate$_createCallback(SystemEventType.TOUCH_MOVE));minigame.onTouchEnd(this._ccprivate$_createCallback(SystemEventType.TOUCH_END));minigame.onTouchCancel(this._ccprivate$_createCallback(SystemEventType.TOUCH_CANCEL));}_ccprivate$_createCallback(eventType){return event=>{const sysInfo=minigame.getSystemInfoSync();const touchDataList=[];const length=event.changedTouches.length;for(let i=0;i void; +-export declare class AccelerometerInputSource { +- private _intervalInSeconds; +- private _intervalId?; +- private _isEnabled; +- private _eventTarget; +- private _didAccelerateFunc; +- constructor(); +- private _didAccelerate; +- start(): void; +- stop(): void; +- setInterval(intervalInMileseconds: number): void; +- on(eventType: InputEventType, callback: AccelerometerCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/accelerometer-input.js b/node_modules/@cocos/engine-pal/dist/input/native/accelerometer-input.js +deleted file mode 100644 +index e9ab24a..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/accelerometer-input.js ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { systemInfo } from 'pal/system-info'; +-import { screenAdapter } from 'pal/screen-adapter'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import { OS } from '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +-import { Orientation } from '../../screen-adapter/enum-type/orientation.js'; +-import { Acceleration, EventAcceleration } from '@cocos/engine/cocos/input/types'; +- +-class AccelerometerInputSource{_ccprivate$_intervalInSeconds=0.2;_ccprivate$_intervalId;_ccprivate$_isEnabled=false;_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_didAccelerateFunc=this._ccprivate$_didAccelerate.bind(this);}_ccprivate$_didAccelerate(){const deviceMotionValue=jsb.device.getDeviceMotionValue();let x=deviceMotionValue[3]*0.1;let y=deviceMotionValue[4]*0.1;const z=deviceMotionValue[5]*0.1;const orientation=screenAdapter.orientation;const tmpX=x;if(orientation===Orientation.LANDSCAPE_RIGHT){x=-y;y=tmpX;}else if(orientation===Orientation.LANDSCAPE_LEFT){x=y;y=-tmpX;}else if(orientation===Orientation.PORTRAIT_UPSIDE_DOWN){x=-x;y=-y;}if(systemInfo.os===OS.ANDROID||systemInfo.os===OS.OHOS||systemInfo.os===OS.OPENHARMONY){x=-x;y=-y;}const timestamp=performance.now();const acceleration=new Acceleration(x,y,z,timestamp);const eventAcceleration=new EventAcceleration(acceleration);this._ccprivate$_eventTarget.emit("devicemotion",eventAcceleration);}start(){if(this._ccprivate$_intervalId){clearInterval(this._ccprivate$_intervalId);}this._ccprivate$_intervalId=setInterval(this._ccprivate$_didAccelerateFunc,this._ccprivate$_intervalInSeconds*1000);jsb.device.setAccelerometerInterval(this._ccprivate$_intervalInSeconds);jsb.device.setAccelerometerEnabled(true);this._ccprivate$_isEnabled=true;}stop(){if(this._ccprivate$_intervalId){clearInterval(this._ccprivate$_intervalId);this._ccprivate$_intervalId=undefined;}jsb.device.setAccelerometerEnabled(false);this._ccprivate$_isEnabled=false;}setInterval(intervalInMileseconds){this._ccprivate$_intervalInSeconds=intervalInMileseconds/1000;jsb.device.setAccelerometerInterval(this._ccprivate$_intervalInSeconds);if(this._ccprivate$_isEnabled){jsb.device.setAccelerometerEnabled(false);jsb.device.setAccelerometerEnabled(true);}}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { AccelerometerInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/accelerometer.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/accelerometer.d.ts +new file mode 100644 +index 0000000..8ca4203 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/accelerometer.d.ts +@@ -0,0 +1,15 @@ ++import { AccelerometerCallback } from 'pal/input'; ++export declare class AccelerometerInputSource { ++ support: boolean; ++ private _intervalInSeconds; ++ private _intervalId?; ++ private _isEnabled; ++ private _eventTarget; ++ private _didAccelerateFunc; ++ constructor(); ++ private _didAccelerate; ++ start(): void; ++ stop(): void; ++ setInterval(intervalInMileseconds: number): void; ++ onChange(cb: AccelerometerCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/accelerometer.js b/node_modules/@cocos/engine-pal/dist/input/native/accelerometer.js +new file mode 100644 +index 0000000..d511589 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/accelerometer.js +@@ -0,0 +1,14 @@ ++import { system } from 'pal/system'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import '../../system/enum-type/browser-type.js'; ++import '../../system/enum-type/event.js'; ++import '../../system/enum-type/language.js'; ++import '../../system/enum-type/network-type.js'; ++import { OS } from '../../system/enum-type/operating-system.js'; ++import { Orientation } from '../../system/enum-type/orientation.js'; ++import '../../system/enum-type/platform.js'; ++ ++class AccelerometerInputSource{support;_ccprivate$_intervalInSeconds=0.2;_ccprivate$_intervalId;_ccprivate$_isEnabled=false;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_didAccelerateFunc;constructor(){const support=system.isMobile;this.support=support;this._ccprivate$_didAccelerateFunc=this._ccprivate$_didAccelerate.bind(this);}_ccprivate$_didAccelerate(){const deviceMotionValue=jsb.device.getDeviceMotionValue();let x=deviceMotionValue[3]*0.1;let y=deviceMotionValue[4]*0.1;const z=deviceMotionValue[5]*0.1;const orientation=system.getOrientation();const tmpX=x;if(orientation===Orientation.LANDSCAPE_RIGHT){x=-y;y=tmpX;}else if(orientation===Orientation.LANDSCAPE_LEFT){x=y;y=-tmpX;}else if(orientation===Orientation.PORTRAIT_UPSIDE_DOWN){x=-x;y=-y;}if(system.os===OS.ANDROID){x=-x;y=-y;}const accelerometer={type:SystemEventType.DEVICEMOTION,x,y,z,timestamp:performance.now()};this._ccprivate$_eventTarget.emit(SystemEventType.DEVICEMOTION,accelerometer);}start(){if(this._ccprivate$_intervalId){clearInterval(this._ccprivate$_intervalId);}this._ccprivate$_intervalId=setInterval(this._ccprivate$_didAccelerateFunc,this._ccprivate$_intervalInSeconds*1000);jsb.device.setAccelerometerInterval(this._ccprivate$_intervalInSeconds);jsb.device.setAccelerometerEnabled(true);this._ccprivate$_isEnabled=true;}stop(){if(this._ccprivate$_intervalId){clearInterval(this._ccprivate$_intervalId);this._ccprivate$_intervalId=undefined;}jsb.device.setAccelerometerEnabled(false);this._ccprivate$_isEnabled=false;}setInterval(intervalInMileseconds){this._ccprivate$_intervalInSeconds=intervalInMileseconds/1000;jsb.device.setAccelerometerInterval(this._ccprivate$_intervalInSeconds);if(this._ccprivate$_isEnabled){jsb.device.setAccelerometerEnabled(false);jsb.device.setAccelerometerEnabled(true);}}onChange(cb){this._ccprivate$_eventTarget.on(SystemEventType.DEVICEMOTION,cb);}} ++ ++export { AccelerometerInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/gamepad-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/gamepad-input.d.ts +deleted file mode 100644 +index 2f2ce5b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/gamepad-input.d.ts ++++ /dev/null +@@ -1,83 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventGamepad } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceDpad, InputSourceOrientation, InputSourcePosition, InputSourceStick } from '../input-source'; +-export type GamepadCallback = (res: EventGamepad) => void; +-export declare class GamepadInputDevice { +- static all: GamepadInputDevice[]; +- static xr: (GamepadInputDevice | null); +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonL1(): InputSourceButton; +- get buttonL2(): InputSourceButton; +- get buttonL3(): InputSourceButton; +- get buttonR1(): InputSourceButton; +- get buttonR2(): InputSourceButton; +- get buttonR3(): InputSourceButton; +- get buttonShare(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get dpad(): InputSourceDpad; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonStart(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get deviceId(): number; +- get connected(): boolean; +- private static _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonL1; +- private _buttonL2; +- private _buttonL3; +- private _buttonR1; +- private _buttonR2; +- private _buttonR3; +- private _buttonShare; +- private _buttonOptions; +- private _dpad; +- private _leftStick; +- private _rightStick; +- private _buttonStart; +- private _gripLeft; +- private _gripRight; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- private _deviceId; +- private _connected; +- private _nativeButtonState; +- constructor(deviceId: number); +- /** +- * @engineInternal +- */ +- static _init(): void; +- /** +- * @engineInternal +- */ +- static _on(eventType: InputEventType, cb: GamepadCallback, target?: any): void; +- private static _removeInputDevice; +- private static _getInputDevice; +- private static _createInputDevice; +- private static _getOrCreateInputDevice; +- private static _registerEvent; +- private _axisToButtons; +- private _updateNativeButtonState; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/gamepad-input.js b/node_modules/@cocos/engine-pal/dist/input/native/gamepad-input.js +deleted file mode 100644 +index 2dfe237..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/gamepad-input.js ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { systemInfo } from 'pal/system-info'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { EventGamepad } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceDpad, InputSourceStick, InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { js, Vec3, Quat } from '@cocos/engine/cocos/core'; +- +-var Button;(function(Button){Button[Button["BUTTON_SOUTH"]=0]="BUTTON_SOUTH";Button[Button["BUTTON_EAST"]=1]="BUTTON_EAST";Button[Button["BUTTON_WEST"]=2]="BUTTON_WEST";Button[Button["BUTTON_NORTH"]=3]="BUTTON_NORTH";Button[Button["NS_MINUS"]=4]="NS_MINUS";Button[Button["NS_PLUS"]=5]="NS_PLUS";Button[Button["BUTTON_L1"]=6]="BUTTON_L1";Button[Button["BUTTON_L2"]=7]="BUTTON_L2";Button[Button["BUTTON_L3"]=8]="BUTTON_L3";Button[Button["BUTTON_R1"]=9]="BUTTON_R1";Button[Button["BUTTON_R2"]=10]="BUTTON_R2";Button[Button["BUTTON_R3"]=11]="BUTTON_R3";Button[Button["DPAD_UP"]=12]="DPAD_UP";Button[Button["DPAD_DOWN"]=13]="DPAD_DOWN";Button[Button["DPAD_LEFT"]=14]="DPAD_LEFT";Button[Button["DPAD_RIGHT"]=15]="DPAD_RIGHT";Button[Button["LEFT_STICK_UP"]=16]="LEFT_STICK_UP";Button[Button["LEFT_STICK_DOWN"]=17]="LEFT_STICK_DOWN";Button[Button["LEFT_STICK_LEFT"]=18]="LEFT_STICK_LEFT";Button[Button["LEFT_STICK_RIGHT"]=19]="LEFT_STICK_RIGHT";Button[Button["RIGHT_STICK_UP"]=20]="RIGHT_STICK_UP";Button[Button["RIGHT_STICK_DOWN"]=21]="RIGHT_STICK_DOWN";Button[Button["RIGHT_STICK_LEFT"]=22]="RIGHT_STICK_LEFT";Button[Button["RIGHT_STICK_RIGHT"]=23]="RIGHT_STICK_RIGHT";Button[Button["ROKID_MENU"]=24]="ROKID_MENU";Button[Button["ROKID_START"]=25]="ROKID_START";})(Button||(Button={}));const _nativeButtonMap={1:Button.BUTTON_EAST,2:Button.BUTTON_SOUTH,3:Button.BUTTON_NORTH,4:Button.BUTTON_WEST,5:Button.BUTTON_L1,6:Button.BUTTON_R1,7:Button.NS_MINUS,8:Button.NS_PLUS,9:Button.BUTTON_L3,10:Button.BUTTON_R3,11:Button.ROKID_MENU,12:Button.ROKID_START};class GamepadInputDevice{static all=[];static xr=null;get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonL1(){return this._ccprivate$_buttonL1}get buttonL2(){return this._ccprivate$_buttonL2}get buttonL3(){return this._ccprivate$_buttonL3}get buttonR1(){return this._ccprivate$_buttonR1}get buttonR2(){return this._ccprivate$_buttonR2}get buttonR3(){return this._ccprivate$_buttonR3}get buttonShare(){return this._ccprivate$_buttonShare}get buttonOptions(){return this._ccprivate$_buttonOptions}get dpad(){return this._ccprivate$_dpad}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonStart(){return this._ccprivate$_buttonStart}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get deviceId(){return this._ccprivate$_deviceId}get connected(){return this._ccprivate$_connected}static _ccprivate$_eventTarget=new EventTarget;_ccprivate$_deviceId=-1;_ccprivate$_connected=false;_ccprivate$_nativeButtonState={[Button.BUTTON_SOUTH]:0,[Button.BUTTON_EAST]:0,[Button.BUTTON_WEST]:0,[Button.BUTTON_NORTH]:0,[Button.NS_MINUS]:0,[Button.NS_PLUS]:0,[Button.BUTTON_L1]:0,[Button.BUTTON_L2]:0,[Button.BUTTON_L3]:0,[Button.BUTTON_R1]:0,[Button.BUTTON_R2]:0,[Button.BUTTON_R3]:0,[Button.DPAD_UP]:0,[Button.DPAD_DOWN]:0,[Button.DPAD_LEFT]:0,[Button.DPAD_RIGHT]:0,[Button.LEFT_STICK_UP]:0,[Button.LEFT_STICK_DOWN]:0,[Button.LEFT_STICK_LEFT]:0,[Button.LEFT_STICK_RIGHT]:0,[Button.RIGHT_STICK_UP]:0,[Button.RIGHT_STICK_DOWN]:0,[Button.RIGHT_STICK_LEFT]:0,[Button.RIGHT_STICK_RIGHT]:0,[Button.ROKID_MENU]:0,[Button.ROKID_START]:0};constructor(deviceId){this._ccprivate$_deviceId=deviceId;this._ccprivate$_initInputSource();}static _init(){if(!systemInfo.hasFeature(Feature.EVENT_GAMEPAD)){return}GamepadInputDevice._ccprivate$_registerEvent();}static _on(eventType,cb,target){GamepadInputDevice._ccprivate$_eventTarget.on(eventType,cb,target);}static _ccprivate$_removeInputDevice(id){const removeIndex=GamepadInputDevice.all.findIndex(device=>device.deviceId===id);if(removeIndex===-1){return}js.array.fastRemoveAt(GamepadInputDevice.all,removeIndex);}static _ccprivate$_getInputDevice(id){return GamepadInputDevice.all.find(device=>device.deviceId===id)}static _ccprivate$_createInputDevice(id,connected){const device=new GamepadInputDevice(id);device._ccprivate$_connected=connected;GamepadInputDevice.all.push(device);return device}static _ccprivate$_getOrCreateInputDevice(id,connected){let device=GamepadInputDevice._ccprivate$_getInputDevice(id);if(!device){device=GamepadInputDevice._ccprivate$_createInputDevice(id,connected);}device._ccprivate$_connected=connected;return device}static _ccprivate$_registerEvent(){jsb.onControllerInput=infoList=>{for(let i=0;i{for(let i=0;i0){return {negative:0,positive:value}}else if(axisValue<0){return {negative:value,positive:0}}else {return {negative:0,positive:0}}}_ccprivate$_updateNativeButtonState(info){const{buttonInfoList,axisInfoList}=info;for(let i=0;ithis._ccprivate$_nativeButtonState[Button.BUTTON_NORTH];this._ccprivate$_buttonEast=new InputSourceButton;this._ccprivate$_buttonEast.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_EAST];this._ccprivate$_buttonWest=new InputSourceButton;this._ccprivate$_buttonWest.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_WEST];this._ccprivate$_buttonSouth=new InputSourceButton;this._ccprivate$_buttonSouth.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_SOUTH];this._ccprivate$_buttonL1=new InputSourceButton;this._ccprivate$_buttonL1.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_L1];this._ccprivate$_buttonL2=new InputSourceButton;this._ccprivate$_buttonL2.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_L2];this._ccprivate$_buttonL3=new InputSourceButton;this._ccprivate$_buttonL3.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_L3];this._ccprivate$_buttonR1=new InputSourceButton;this._ccprivate$_buttonR1.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_R1];this._ccprivate$_buttonR2=new InputSourceButton;this._ccprivate$_buttonR2.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_R2];this._ccprivate$_buttonR3=new InputSourceButton;this._ccprivate$_buttonR3.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_R3];this._ccprivate$_buttonShare=new InputSourceButton;this._ccprivate$_buttonShare.getValue=()=>this._ccprivate$_nativeButtonState[Button.NS_MINUS];this._ccprivate$_buttonOptions=new InputSourceButton;this._ccprivate$_buttonOptions.getValue=()=>this._ccprivate$_nativeButtonState[Button.NS_PLUS]||this._ccprivate$_nativeButtonState[Button.ROKID_MENU];const dpadUp=new InputSourceButton;dpadUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.DPAD_UP];const dpadDown=new InputSourceButton;dpadDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.DPAD_DOWN];const dpadLeft=new InputSourceButton;dpadLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.DPAD_LEFT];const dpadRight=new InputSourceButton;dpadRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.DPAD_RIGHT];this._ccprivate$_dpad=new InputSourceDpad({up:dpadUp,down:dpadDown,left:dpadLeft,right:dpadRight});const leftStickUp=new InputSourceButton;leftStickUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_UP];const leftStickDown=new InputSourceButton;leftStickDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_DOWN];const leftStickLeft=new InputSourceButton;leftStickLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_LEFT];const leftStickRight=new InputSourceButton;leftStickRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_RIGHT];this._ccprivate$_leftStick=new InputSourceStick({up:leftStickUp,down:leftStickDown,left:leftStickLeft,right:leftStickRight});const rightStickUp=new InputSourceButton;rightStickUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_UP];const rightStickDown=new InputSourceButton;rightStickDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_DOWN];const rightStickLeft=new InputSourceButton;rightStickLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_LEFT];const rightStickRight=new InputSourceButton;rightStickRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_RIGHT];this._ccprivate$_rightStick=new InputSourceStick({up:rightStickUp,down:rightStickDown,left:rightStickLeft,right:rightStickRight});this._ccprivate$_buttonStart=new InputSourceButton;this._ccprivate$_buttonStart.getValue=()=>this._ccprivate$_nativeButtonState[Button.ROKID_START];this._ccprivate$_gripLeft=new InputSourceButton;this._ccprivate$_gripLeft.getValue=()=>0;this._ccprivate$_gripRight=new InputSourceButton;this._ccprivate$_gripRight.getValue=()=>0;this._ccprivate$_handLeftPosition=new InputSourcePosition;this._ccprivate$_handLeftPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_handLeftOrientation=new InputSourceOrientation;this._ccprivate$_handLeftOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_handRightPosition=new InputSourcePosition;this._ccprivate$_handRightPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_handRightOrientation=new InputSourceOrientation;this._ccprivate$_handRightOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_aimLeftPosition=new InputSourcePosition;this._ccprivate$_aimLeftPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_aimLeftOrientation=new InputSourceOrientation;this._ccprivate$_aimLeftOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_aimRightPosition=new InputSourcePosition;this._ccprivate$_aimRightPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_aimRightOrientation=new InputSourceOrientation;this._ccprivate$_aimRightOrientation.getValue=()=>Quat.IDENTITY;}} +- +-export { GamepadInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/gamepad.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/gamepad.d.ts +new file mode 100644 +index 0000000..9f7a0a4 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/gamepad.d.ts +@@ -0,0 +1,4 @@ ++export declare class GamepadInputSource { ++ support: boolean; ++ constructor(); ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/gamepad.js b/node_modules/@cocos/engine-pal/dist/input/native/gamepad.js +new file mode 100644 +index 0000000..b99ebb0 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/gamepad.js +@@ -0,0 +1,3 @@ ++class GamepadInputSource{support;constructor(){this.support=false;}} ++ ++export { GamepadInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/handheld-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/handheld-input.d.ts +deleted file mode 100644 +index 0cc2cf5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/handheld-input.d.ts ++++ /dev/null +@@ -1,20 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventHandheld } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export type HandheldCallback = (res: EventHandheld) => void; +-export declare class HandheldInputDevice { +- get handheldPosition(): InputSourcePosition; +- get handheldOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _handheldPosition; +- private _handheldOrientation; +- private _nativePoseState; +- constructor(); +- private _registerEvent; +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandheldCallback, target?: any): void; +- private _updateNativePoseState; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/handheld-input.js b/node_modules/@cocos/engine-pal/dist/input/native/handheld-input.js +deleted file mode 100644 +index 02b0a7e..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/handheld-input.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { EventHandheld } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Quat, Vec3 } from '@cocos/engine/cocos/core/math'; +- +-var Pose;(function(Pose){Pose[Pose["AR_MOBILE"]=0]="AR_MOBILE";})(Pose||(Pose={}));class HandheldInputDevice{get handheldPosition(){return this._ccprivate$_handheldPosition}get handheldOrientation(){return this._ccprivate$_handheldOrientation}_ccprivate$_eventTarget=new EventTarget;_ccprivate$_nativePoseState={[Pose.AR_MOBILE]:{position:Vec3.ZERO,orientation:Quat.IDENTITY}};constructor(){this._ccprivate$_initInputSource();this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onHandheldPoseInput=infoList=>{for(let i=0;ithis._ccprivate$_nativePoseState[Pose.AR_MOBILE].position;this._ccprivate$_handheldOrientation=new InputSourceOrientation;this._ccprivate$_handheldOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.AR_MOBILE].orientation;}} +- +-export { HandheldInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/handle-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/handle-input.d.ts +deleted file mode 100644 +index cd63f30..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/handle-input.d.ts ++++ /dev/null +@@ -1,84 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventHandle } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source'; +-export type HandleCallback = (res: EventHandle) => void; +-export declare class HandleInputDevice { +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonTriggerLeft(): InputSourceButton; +- get buttonTriggerRight(): InputSourceButton; +- get triggerLeft(): InputSourceButton; +- get triggerRight(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonLeftStick(): InputSourceButton; +- get buttonRightStick(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get buttonStart(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get touchButtonA(): InputSourceTouch; +- get touchButtonB(): InputSourceTouch; +- get touchButtonX(): InputSourceTouch; +- get touchButtonY(): InputSourceTouch; +- get touchButtonTriggerLeft(): InputSourceTouch; +- get touchButtonTriggerRight(): InputSourceTouch; +- get touchButtonThumbStickLeft(): InputSourceTouch; +- get touchButtonThumbStickRight(): InputSourceTouch; +- private _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonTriggerLeft; +- private _buttonTriggerRight; +- private _triggerLeft; +- private _triggerRight; +- private _gripLeft; +- private _gripRight; +- private _leftStick; +- private _rightStick; +- private _buttonLeftStick; +- private _buttonRightStick; +- private _buttonOptions; +- private _buttonStart; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- private _touchButtonA; +- private _touchButtonB; +- private _touchButtonX; +- private _touchButtonY; +- private _touchButtonTriggerLeft; +- private _touchButtonTriggerRight; +- private _touchButtonThumbStickLeft; +- private _touchButtonThumbStickRight; +- private _nativeButtonState; +- private _nativeTouchState; +- private _nativePoseState; +- constructor(); +- private _registerEvent; +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandleCallback, target?: any): void; +- private _axisToButtons; +- private _updateNativeButtonState; +- private _updateNativePoseState; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/handle-input.js b/node_modules/@cocos/engine-pal/dist/input/native/handle-input.js +deleted file mode 100644 +index 521a1bd..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/handle-input.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { EventHandle } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source.js'; +-import { Quat, Vec3 } from '@cocos/engine/cocos/core/math'; +- +-var Button;(function(Button){Button[Button["BUTTON_EAST"]=0]="BUTTON_EAST";Button[Button["BUTTON_SOUTH"]=1]="BUTTON_SOUTH";Button[Button["BUTTON_WEST"]=2]="BUTTON_WEST";Button[Button["BUTTON_NORTH"]=3]="BUTTON_NORTH";Button[Button["BUTTON_TRIGGER_LEFT"]=4]="BUTTON_TRIGGER_LEFT";Button[Button["BUTTON_TRIGGER_RIGHT"]=5]="BUTTON_TRIGGER_RIGHT";Button[Button["TRIGGER_LEFT"]=6]="TRIGGER_LEFT";Button[Button["TRIGGER_RIGHT"]=7]="TRIGGER_RIGHT";Button[Button["GRIP_LEFT"]=8]="GRIP_LEFT";Button[Button["GRIP_RIGHT"]=9]="GRIP_RIGHT";Button[Button["BUTTON_LEFT_STICK"]=10]="BUTTON_LEFT_STICK";Button[Button["LEFT_STICK_UP"]=11]="LEFT_STICK_UP";Button[Button["LEFT_STICK_DOWN"]=12]="LEFT_STICK_DOWN";Button[Button["LEFT_STICK_LEFT"]=13]="LEFT_STICK_LEFT";Button[Button["LEFT_STICK_RIGHT"]=14]="LEFT_STICK_RIGHT";Button[Button["BUTTON_RIGHT_STICK"]=15]="BUTTON_RIGHT_STICK";Button[Button["RIGHT_STICK_UP"]=16]="RIGHT_STICK_UP";Button[Button["RIGHT_STICK_DOWN"]=17]="RIGHT_STICK_DOWN";Button[Button["RIGHT_STICK_LEFT"]=18]="RIGHT_STICK_LEFT";Button[Button["RIGHT_STICK_RIGHT"]=19]="RIGHT_STICK_RIGHT";Button[Button["ROKID_MENU"]=20]="ROKID_MENU";Button[Button["ROKID_START"]=21]="ROKID_START";})(Button||(Button={}));var Pose;(function(Pose){Pose[Pose["HAND_LEFT"]=0]="HAND_LEFT";Pose[Pose["HAND_RIGHT"]=1]="HAND_RIGHT";Pose[Pose["AIM_LEFT"]=2]="AIM_LEFT";Pose[Pose["AIM_RIGHT"]=3]="AIM_RIGHT";})(Pose||(Pose={}));var StickKeyCode;(function(StickKeyCode){StickKeyCode[StickKeyCode["UNDEFINE"]=0]="UNDEFINE";StickKeyCode[StickKeyCode["A"]=1]="A";StickKeyCode[StickKeyCode["B"]=2]="B";StickKeyCode[StickKeyCode["X"]=3]="X";StickKeyCode[StickKeyCode["Y"]=4]="Y";StickKeyCode[StickKeyCode["L1"]=5]="L1";StickKeyCode[StickKeyCode["R1"]=6]="R1";StickKeyCode[StickKeyCode["MINUS"]=7]="MINUS";StickKeyCode[StickKeyCode["PLUS"]=8]="PLUS";StickKeyCode[StickKeyCode["L3"]=9]="L3";StickKeyCode[StickKeyCode["R3"]=10]="R3";StickKeyCode[StickKeyCode["MENU"]=11]="MENU";StickKeyCode[StickKeyCode["START"]=12]="START";StickKeyCode[StickKeyCode["TRIGGER_LEFT"]=13]="TRIGGER_LEFT";StickKeyCode[StickKeyCode["TRIGGER_RIGHT"]=14]="TRIGGER_RIGHT";})(StickKeyCode||(StickKeyCode={}));var StickAxisCode;(function(StickAxisCode){StickAxisCode[StickAxisCode["UNDEFINE"]=0]="UNDEFINE";StickAxisCode[StickAxisCode["X"]=1]="X";StickAxisCode[StickAxisCode["Y"]=2]="Y";StickAxisCode[StickAxisCode["LEFT_STICK_X"]=3]="LEFT_STICK_X";StickAxisCode[StickAxisCode["LEFT_STICK_Y"]=4]="LEFT_STICK_Y";StickAxisCode[StickAxisCode["RIGHT_STICK_X"]=5]="RIGHT_STICK_X";StickAxisCode[StickAxisCode["RIGHT_STICK_Y"]=6]="RIGHT_STICK_Y";StickAxisCode[StickAxisCode["L2"]=7]="L2";StickAxisCode[StickAxisCode["R2"]=8]="R2";StickAxisCode[StickAxisCode["LEFT_GRIP"]=9]="LEFT_GRIP";StickAxisCode[StickAxisCode["RIGHT_GRIP"]=10]="RIGHT_GRIP";})(StickAxisCode||(StickAxisCode={}));var StickTouchCode;(function(StickTouchCode){StickTouchCode[StickTouchCode["UNDEFINE"]=0]="UNDEFINE";StickTouchCode[StickTouchCode["A"]=1]="A";StickTouchCode[StickTouchCode["B"]=2]="B";StickTouchCode[StickTouchCode["X"]=3]="X";StickTouchCode[StickTouchCode["Y"]=4]="Y";StickTouchCode[StickTouchCode["LEFT_TRIGGER"]=5]="LEFT_TRIGGER";StickTouchCode[StickTouchCode["RIGHT_TRIGGER"]=6]="RIGHT_TRIGGER";StickTouchCode[StickTouchCode["LEFT_THUMBSTICK"]=7]="LEFT_THUMBSTICK";StickTouchCode[StickTouchCode["RIGHT_THUMBSTICK"]=8]="RIGHT_THUMBSTICK";})(StickTouchCode||(StickTouchCode={}));const _nativeButtonMap={1:Button.BUTTON_EAST,2:Button.BUTTON_SOUTH,3:Button.BUTTON_NORTH,4:Button.BUTTON_WEST,9:Button.BUTTON_LEFT_STICK,10:Button.BUTTON_RIGHT_STICK,11:Button.ROKID_MENU,12:Button.ROKID_START,13:Button.BUTTON_TRIGGER_LEFT,14:Button.BUTTON_TRIGGER_RIGHT};class HandleInputDevice{get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonTriggerLeft(){return this._ccprivate$_buttonTriggerLeft}get buttonTriggerRight(){return this._ccprivate$_buttonTriggerRight}get triggerLeft(){return this._ccprivate$_triggerLeft}get triggerRight(){return this._ccprivate$_triggerRight}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonLeftStick(){return this._ccprivate$_buttonLeftStick}get buttonRightStick(){return this._ccprivate$_buttonRightStick}get buttonOptions(){return this._ccprivate$_buttonOptions}get buttonStart(){return this._ccprivate$_buttonStart}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get touchButtonA(){return this._ccprivate$_touchButtonA}get touchButtonB(){return this._ccprivate$_touchButtonB}get touchButtonX(){return this._ccprivate$_touchButtonX}get touchButtonY(){return this._ccprivate$_touchButtonY}get touchButtonTriggerLeft(){return this._ccprivate$_touchButtonTriggerLeft}get touchButtonTriggerRight(){return this._ccprivate$_touchButtonTriggerRight}get touchButtonThumbStickLeft(){return this._ccprivate$_touchButtonThumbStickLeft}get touchButtonThumbStickRight(){return this._ccprivate$_touchButtonThumbStickRight}_ccprivate$_eventTarget=new EventTarget;_ccprivate$_nativeButtonState={[Button.BUTTON_SOUTH]:0,[Button.BUTTON_EAST]:0,[Button.BUTTON_WEST]:0,[Button.BUTTON_NORTH]:0,[Button.BUTTON_TRIGGER_LEFT]:0,[Button.BUTTON_TRIGGER_RIGHT]:0,[Button.TRIGGER_LEFT]:0,[Button.TRIGGER_RIGHT]:0,[Button.GRIP_LEFT]:0,[Button.GRIP_RIGHT]:0,[Button.LEFT_STICK_UP]:0,[Button.LEFT_STICK_DOWN]:0,[Button.LEFT_STICK_LEFT]:0,[Button.LEFT_STICK_RIGHT]:0,[Button.RIGHT_STICK_UP]:0,[Button.RIGHT_STICK_DOWN]:0,[Button.RIGHT_STICK_LEFT]:0,[Button.RIGHT_STICK_RIGHT]:0,[Button.BUTTON_LEFT_STICK]:0,[Button.BUTTON_RIGHT_STICK]:0,[Button.ROKID_MENU]:0,[Button.ROKID_START]:0};_ccprivate$_nativeTouchState={[StickTouchCode.UNDEFINE]:0,[StickTouchCode.A]:0,[StickTouchCode.B]:0,[StickTouchCode.X]:0,[StickTouchCode.Y]:0,[StickTouchCode.LEFT_TRIGGER]:0,[StickTouchCode.RIGHT_TRIGGER]:0,[StickTouchCode.LEFT_THUMBSTICK]:0,[StickTouchCode.RIGHT_THUMBSTICK]:0};_ccprivate$_nativePoseState={[Pose.HAND_LEFT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.HAND_RIGHT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.AIM_LEFT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.AIM_RIGHT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY}};constructor(){this._ccprivate$_initInputSource();this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onHandleInput=infoList=>{for(let i=0;i{for(let i=0;i0){return {negative:0,positive:value}}else if(axisValue<0){return {negative:value,positive:0}}else {return {negative:0,positive:0}}}_ccprivate$_updateNativeButtonState(info){const{buttonInfoList,axisInfoList,touchInfoList}=info;for(let i=0;ithis._ccprivate$_nativeButtonState[Button.BUTTON_NORTH];this._ccprivate$_buttonEast=new InputSourceButton;this._ccprivate$_buttonEast.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_EAST];this._ccprivate$_buttonWest=new InputSourceButton;this._ccprivate$_buttonWest.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_WEST];this._ccprivate$_buttonSouth=new InputSourceButton;this._ccprivate$_buttonSouth.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_SOUTH];this._ccprivate$_buttonTriggerLeft=new InputSourceButton;this._ccprivate$_buttonTriggerLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_TRIGGER_LEFT];this._ccprivate$_buttonTriggerRight=new InputSourceButton;this._ccprivate$_buttonTriggerRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_TRIGGER_RIGHT];this._ccprivate$_triggerLeft=new InputSourceButton;this._ccprivate$_triggerLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.TRIGGER_LEFT];this._ccprivate$_triggerRight=new InputSourceButton;this._ccprivate$_triggerRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.TRIGGER_RIGHT];this._ccprivate$_gripLeft=new InputSourceButton;this._ccprivate$_gripLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.GRIP_LEFT];this._ccprivate$_gripRight=new InputSourceButton;this._ccprivate$_gripRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.GRIP_RIGHT];this._ccprivate$_buttonLeftStick=new InputSourceButton;this._ccprivate$_buttonLeftStick.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_LEFT_STICK];const leftStickUp=new InputSourceButton;leftStickUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_UP];const leftStickDown=new InputSourceButton;leftStickDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_DOWN];const leftStickLeft=new InputSourceButton;leftStickLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_LEFT];const leftStickRight=new InputSourceButton;leftStickRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_RIGHT];this._ccprivate$_leftStick=new InputSourceStick({up:leftStickUp,down:leftStickDown,left:leftStickLeft,right:leftStickRight});this._ccprivate$_buttonRightStick=new InputSourceButton;this._ccprivate$_buttonRightStick.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_RIGHT_STICK];const rightStickUp=new InputSourceButton;rightStickUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_UP];const rightStickDown=new InputSourceButton;rightStickDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_DOWN];const rightStickLeft=new InputSourceButton;rightStickLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_LEFT];const rightStickRight=new InputSourceButton;rightStickRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_RIGHT];this._ccprivate$_rightStick=new InputSourceStick({up:rightStickUp,down:rightStickDown,left:rightStickLeft,right:rightStickRight});this._ccprivate$_buttonOptions=new InputSourceButton;this._ccprivate$_buttonOptions.getValue=()=>this._ccprivate$_nativeButtonState[Button.ROKID_MENU];this._ccprivate$_buttonStart=new InputSourceButton;this._ccprivate$_buttonStart.getValue=()=>this._ccprivate$_nativeButtonState[Button.ROKID_START];this._ccprivate$_handLeftPosition=new InputSourcePosition;this._ccprivate$_handLeftPosition.getValue=()=>this._ccprivate$_nativePoseState[Pose.HAND_LEFT].position;this._ccprivate$_handLeftOrientation=new InputSourceOrientation;this._ccprivate$_handLeftOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.HAND_LEFT].orientation;this._ccprivate$_handRightPosition=new InputSourcePosition;this._ccprivate$_handRightPosition.getValue=()=>this._ccprivate$_nativePoseState[Pose.HAND_RIGHT].position;this._ccprivate$_handRightOrientation=new InputSourceOrientation;this._ccprivate$_handRightOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.HAND_RIGHT].orientation;this._ccprivate$_aimLeftPosition=new InputSourcePosition;this._ccprivate$_aimLeftPosition.getValue=()=>this._ccprivate$_nativePoseState[Pose.AIM_LEFT].position;this._ccprivate$_aimLeftOrientation=new InputSourceOrientation;this._ccprivate$_aimLeftOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.AIM_LEFT].orientation;this._ccprivate$_aimRightPosition=new InputSourcePosition;this._ccprivate$_aimRightPosition.getValue=()=>this._ccprivate$_nativePoseState[Pose.AIM_RIGHT].position;this._ccprivate$_aimRightOrientation=new InputSourceOrientation;this._ccprivate$_aimRightOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.AIM_RIGHT].orientation;this._ccprivate$_touchButtonA=new InputSourceTouch;this._ccprivate$_touchButtonA.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.A];this._ccprivate$_touchButtonB=new InputSourceTouch;this._ccprivate$_touchButtonB.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.B];this._ccprivate$_touchButtonX=new InputSourceTouch;this._ccprivate$_touchButtonX.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.X];this._ccprivate$_touchButtonY=new InputSourceTouch;this._ccprivate$_touchButtonY.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.Y];this._ccprivate$_touchButtonTriggerLeft=new InputSourceTouch;this._ccprivate$_touchButtonTriggerLeft.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.LEFT_TRIGGER];this._ccprivate$_touchButtonTriggerRight=new InputSourceTouch;this._ccprivate$_touchButtonTriggerRight.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.RIGHT_TRIGGER];this._ccprivate$_touchButtonThumbStickLeft=new InputSourceTouch;this._ccprivate$_touchButtonThumbStickLeft.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.LEFT_THUMBSTICK];this._ccprivate$_touchButtonThumbStickRight=new InputSourceTouch;this._ccprivate$_touchButtonThumbStickRight.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.RIGHT_THUMBSTICK];}} +- +-export { HandleInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/hmd-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/hmd-input.d.ts +deleted file mode 100644 +index 57a2c70..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/hmd-input.d.ts ++++ /dev/null +@@ -1,28 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventHMD } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export type HMDCallback = (res: EventHMD) => void; +-export declare class HMDInputDevice { +- get viewLeftPosition(): InputSourcePosition; +- get viewLeftOrientation(): InputSourceOrientation; +- get viewRightPosition(): InputSourcePosition; +- get viewRightOrientation(): InputSourceOrientation; +- get headMiddlePosition(): InputSourcePosition; +- get headMiddleOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _viewLeftPosition; +- private _viewLeftOrientation; +- private _viewRightPosition; +- private _viewRightOrientation; +- private _headMiddlePosition; +- private _headMiddleOrientation; +- private _nativePoseState; +- constructor(); +- private _registerEvent; +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HMDCallback, target?: any): void; +- private _updateNativePoseState; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/hmd-input.js b/node_modules/@cocos/engine-pal/dist/input/native/hmd-input.js +deleted file mode 100644 +index c8733bc..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/hmd-input.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { EventHMD } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Quat, Vec3 } from '@cocos/engine/cocos/core/math'; +- +-var Pose;(function(Pose){Pose[Pose["VIEW_LEFT"]=0]="VIEW_LEFT";Pose[Pose["VIEW_RIGHT"]=1]="VIEW_RIGHT";Pose[Pose["HEAD_MIDDLE"]=2]="HEAD_MIDDLE";})(Pose||(Pose={}));class HMDInputDevice{get viewLeftPosition(){return this._ccprivate$_viewLeftPosition}get viewLeftOrientation(){return this._ccprivate$_viewLeftOrientation}get viewRightPosition(){return this._ccprivate$_viewRightPosition}get viewRightOrientation(){return this._ccprivate$_viewRightOrientation}get headMiddlePosition(){return this._ccprivate$_headMiddlePosition}get headMiddleOrientation(){return this._ccprivate$_headMiddleOrientation}_ccprivate$_eventTarget=new EventTarget;_ccprivate$_nativePoseState={[Pose.VIEW_LEFT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.VIEW_RIGHT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.HEAD_MIDDLE]:{position:Vec3.ZERO,orientation:Quat.IDENTITY}};constructor(){this._ccprivate$_initInputSource();this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onHMDPoseInput=infoList=>{for(let i=0;ithis._ccprivate$_nativePoseState[Pose.VIEW_LEFT].position;this._ccprivate$_viewLeftOrientation=new InputSourceOrientation;this._ccprivate$_viewLeftOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.VIEW_LEFT].orientation;this._ccprivate$_viewRightPosition=new InputSourcePosition;this._ccprivate$_viewRightPosition.getValue=()=>this._ccprivate$_nativePoseState[Pose.VIEW_RIGHT].position;this._ccprivate$_viewRightOrientation=new InputSourceOrientation;this._ccprivate$_viewRightOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.VIEW_RIGHT].orientation;this._ccprivate$_headMiddlePosition=new InputSourcePosition;this._ccprivate$_headMiddlePosition.getValue=()=>this._ccprivate$_nativePoseState[Pose.HEAD_MIDDLE].position;this._ccprivate$_headMiddleOrientation=new InputSourceOrientation;this._ccprivate$_headMiddleOrientation.getValue=()=>this._ccprivate$_nativePoseState[Pose.HEAD_MIDDLE].orientation;}} +- +-export { HMDInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/index.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/index.d.ts +index 61ba7b3..0ac7b57 100644 +--- a/node_modules/@cocos/engine-pal/dist/input/native/index.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/input/native/index.d.ts +@@ -1,8 +1,19 @@ +-export * from './accelerometer-input'; +-export * from './gamepad-input'; +-export * from './handle-input'; +-export * from './hmd-input'; +-export * from './handheld-input'; +-export * from './keyboard-input'; +-export * from './mouse-input'; +-export * from './touch-input'; ++import { BaseInputEvent } from 'pal/input'; ++import { AccelerometerInputSource } from './accelerometer'; ++import { InputBox } from './input-box'; ++import { KeyboardInputSource } from './keyboard'; ++import { MouseInputSource } from './mouse'; ++import { TouchInputSource } from './touch'; ++export declare class Input { ++ _touch: TouchInputSource; ++ _mouse: MouseInputSource; ++ _keyboard: KeyboardInputSource; ++ _accelerometer: AccelerometerInputSource; ++ _inputBox: InputBox; ++ private _inputEventList; ++ constructor(); ++ private _registerEvent; ++ private _pushEvent; ++ pollEvent(): BaseInputEvent | undefined; ++} ++export declare const input: Input; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/index.js b/node_modules/@cocos/engine-pal/dist/input/native/index.js +index 9e91fe5..b1fcfe4 100644 +--- a/node_modules/@cocos/engine-pal/dist/input/native/index.js ++++ b/node_modules/@cocos/engine-pal/dist/input/native/index.js +@@ -1,8 +1,9 @@ +-export { AccelerometerInputSource } from './accelerometer-input.js'; +-export { GamepadInputDevice } from './gamepad-input.js'; +-export { HandleInputDevice } from './handle-input.js'; +-export { HMDInputDevice } from './hmd-input.js'; +-export { HandheldInputDevice } from './handheld-input.js'; +-export { KeyboardInputSource } from './keyboard-input.js'; +-export { MouseInputSource } from './mouse-input.js'; +-export { TouchInputSource } from './touch-input.js'; ++import { AccelerometerInputSource } from './accelerometer.js'; ++import { InputBox } from './input-box.js'; ++import { KeyboardInputSource } from './keyboard.js'; ++import { MouseInputSource } from './mouse.js'; ++import { TouchInputSource } from './touch.js'; ++ ++class Input{_touch=new TouchInputSource;_mouse=new MouseInputSource;_keyboard=new KeyboardInputSource;_accelerometer=new AccelerometerInputSource;_inputBox=new InputBox;_ccprivate$_inputEventList=[];constructor(){this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){}_ccprivate$_pushEvent(inputEvent){this._ccprivate$_inputEventList.push(inputEvent);}pollEvent(){return this._ccprivate$_inputEventList.shift()}}const input=new Input; ++ ++export { Input, input }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/input-box.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/input-box.d.ts +new file mode 100644 +index 0000000..34267d5 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/input-box.d.ts +@@ -0,0 +1,10 @@ ++export declare class InputBox { ++ support: boolean; ++ constructor(); ++ show(): Promise; ++ hide(): Promise; ++ onChange(): void; ++ onComplete(): void; ++ offChange(): void; ++ offComplete(): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/input-box.js b/node_modules/@cocos/engine-pal/dist/input/native/input-box.js +new file mode 100644 +index 0000000..f682450 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/input-box.js +@@ -0,0 +1,3 @@ ++class InputBox{support;constructor(){this.support=true;}show(){throw new Error("Method not implemented.")}hide(){throw new Error("Method not implemented.")}onChange(){throw new Error("Method not implemented.")}onComplete(){throw new Error("Method not implemented.")}offChange(){throw new Error("Method not implemented.")}offComplete(){throw new Error("Method not implemented.")}} ++ ++export { InputBox }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/keyboard-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/keyboard-input.d.ts +deleted file mode 100644 +index dd85761..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/keyboard-input.d.ts ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { EventKeyboard } from '@cocos/engine/cocos/input/types'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export type KeyboardCallback = (res: EventKeyboard) => void; +-export declare class KeyboardInputSource { +- private _eventTarget; +- private _keyStateMap; +- private _handleKeyboardDown; +- private _handleKeyboardUp; +- constructor(); +- dispatchKeyboardDownEvent(nativeKeyboardEvent: jsb.KeyboardEvent): void; +- dispatchKeyboardUpEvent(nativeKeyboardEvent: jsb.KeyboardEvent): void; +- private _registerEvent; +- private _getInputEvent; +- on(eventType: InputEventType, callback: KeyboardCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/keyboard-input.js b/node_modules/@cocos/engine-pal/dist/input/native/keyboard-input.js +deleted file mode 100644 +index 7ad2504..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/keyboard-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventKeyboard } from '@cocos/engine/cocos/input/types'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { code2KeyCode } from '../keycodes.js'; +- +-const nativeKeyCode2KeyCode={12:144,10048:96,10049:97,10050:98,10051:99,10052:100,10053:101,10054:102,10055:103,10056:104,10057:105,20013:2003,20016:2000,20017:2001,20018:2002};function getKeyCode(event){if(event.code){if(event.code in code2KeyCode){return code2KeyCode[event.code]}else {console.error(`Can not find keyCode for code: ${event.code}`);}}return nativeKeyCode2KeyCode[event.keyCode]||event.keyCode}class KeyboardInputSource{_ccprivate$_eventTarget=new EventTarget;_ccprivate$_keyStateMap={};_ccprivate$_handleKeyboardDown;_ccprivate$_handleKeyboardUp;constructor(){this._ccprivate$_handleKeyboardDown=event=>{const keyCode=getKeyCode(event);if(!this._ccprivate$_keyStateMap[keyCode]){const eventKeyDown=this._ccprivate$_getInputEvent(event,"keydown");this._ccprivate$_eventTarget.emit("keydown",eventKeyDown);}else {const eventKeyPressing=this._ccprivate$_getInputEvent(event,"key-pressing");this._ccprivate$_eventTarget.emit("key-pressing",eventKeyPressing);}this._ccprivate$_keyStateMap[keyCode]=true;};this._ccprivate$_handleKeyboardUp=event=>{const keyCode=getKeyCode(event);const eventKeyUp=this._ccprivate$_getInputEvent(event,"keyup");this._ccprivate$_keyStateMap[keyCode]=false;this._ccprivate$_eventTarget.emit("keyup",eventKeyUp);};this._ccprivate$_registerEvent();}dispatchKeyboardDownEvent(nativeKeyboardEvent){this._ccprivate$_handleKeyboardDown(nativeKeyboardEvent);}dispatchKeyboardUpEvent(nativeKeyboardEvent){this._ccprivate$_handleKeyboardUp(nativeKeyboardEvent);}_ccprivate$_registerEvent(){jsb.onKeyDown=this._ccprivate$_handleKeyboardDown;jsb.onKeyUp=this._ccprivate$_handleKeyboardUp;}_ccprivate$_getInputEvent(event,eventType){const keyCode=getKeyCode(event);const eventKeyboard=new EventKeyboard(keyCode,eventType);eventKeyboard.windowId=event.windowId;return eventKeyboard}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/keyboard.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/keyboard.d.ts +new file mode 100644 +index 0000000..a07e1c9 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/keyboard.d.ts +@@ -0,0 +1,10 @@ ++import { KeyboardCallback } from 'pal/input'; ++export declare class KeyboardInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ private _registerEvent; ++ private _createCallback; ++ onDown(cb: KeyboardCallback): void; ++ onUp(cb: KeyboardCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/keyboard.js b/node_modules/@cocos/engine-pal/dist/input/native/keyboard.js +new file mode 100644 +index 0000000..3f459ed +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/keyboard.js +@@ -0,0 +1,7 @@ ++import { system } from 'pal/system'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++ ++class KeyboardInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=!system.isMobile;this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onKeyDown=this._ccprivate$_createCallback(SystemEventType.KEY_DOWN);jsb.onKeyUp=this._ccprivate$_createCallback(SystemEventType.KEY_UP);}_ccprivate$_createCallback(eventType){return event=>{const inputEvent={type:eventType,code:event.keyCode,timestamp:performance.now()};this._ccprivate$_eventTarget.emit(eventType,inputEvent);}}onDown(cb){this._ccprivate$_eventTarget.on(SystemEventType.KEY_DOWN,cb);}onUp(cb){this._ccprivate$_eventTarget.on(SystemEventType.KEY_UP,cb);}} ++ ++export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/mouse-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/mouse-input.d.ts +deleted file mode 100644 +index 3f759e3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/mouse-input.d.ts ++++ /dev/null +@@ -1,31 +0,0 @@ +-import { EventMouse } from '@cocos/engine/cocos/input/types'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export type MouseCallback = (res: EventMouse) => void; +-export declare class MouseInputSource { +- private _eventTarget; +- private _preMousePos; +- private _isPressed; +- private _windowManager; +- private _pointLocked; +- private _cache; +- private _handleMouseDown; +- private _handleMouseMove; +- private _handleMouseUp; +- private _handleWindowLeave; +- private _handleWindowEnter; +- private _handleMouseWheel; +- constructor(); +- dispatchMouseDownEvent(nativeMouseEvent: any): void; +- dispatchMouseMoveEvent(nativeMouseEvent: any): void; +- dispatchMouseUpEvent(nativeMouseEvent: any): void; +- dispatchScrollEvent(nativeMouseEvent: any): void; +- private _getLocation; +- private _registerEvent; +- private _createEventCacheCallback; +- dispatchEventsInCache(): void; +- private _dispatchEvent; +- private _dispatchMouseWheel; +- on(eventType: InputEventType, callback: MouseCallback, target?: any): void; +- private _dispatchWindowLeave; +- private _dispatchWindowEnter; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/mouse-input.js b/node_modules/@cocos/engine-pal/dist/input/native/mouse-input.js +deleted file mode 100644 +index bd8cae3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/mouse-input.js ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { screenAdapter } from 'pal/screen-adapter'; +-import { systemInfo } from 'pal/system-info'; +-import { EventMouse } from '@cocos/engine/cocos/input/types'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { Vec2 } from '@cocos/engine/cocos/core/math'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import { OS } from '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +- +-class MouseEventElement{type=null;mouseEvent={x:0,y:0,xDelta:0,yDelta:0,button:0,windowId:0,wheelDeltaX:0,wheelDeltaY:0}}class MouseEventCache{_ccprivate$_events=[];_ccprivate$_length=0;push(eventType,mouseEvent){const events=this._ccprivate$_events;const index=this._ccprivate$_length;if(index>=events.length){events.push(new MouseEventElement);}const e=events[index];e.type=eventType;const cachedEvent=e.mouseEvent;if(mouseEvent){Object.assign(cachedEvent,mouseEvent);}else {cachedEvent.x=cachedEvent.y=cachedEvent.xDelta=cachedEvent.yDelta=0;cachedEvent.button=cachedEvent.windowId=cachedEvent.wheelDeltaX=cachedEvent.wheelDeltaY=0;}++this._ccprivate$_length;}clear(){this._ccprivate$_length=0;}forEach(cb){for(let i=0,len=this._ccprivate$_length;i{this._ccprivate$_pointLocked=value;};jsb.onWindowLeave=this._ccprivate$_handleWindowLeave;jsb.onWindowEnter=this._ccprivate$_handleWindowEnter;}_ccprivate$_createEventCacheCallback(eventType){return mouseEvent=>{this._ccprivate$_cache.push(eventType,mouseEvent);}}dispatchEventsInCache(){const cache=this._ccprivate$_cache;cache.forEach(e=>{switch(e.type){case "mouse-leave-window":this._ccprivate$_dispatchWindowLeave();break;case "mouse-enter-window":this._ccprivate$_dispatchWindowEnter();break;case "mouse-wheel":this._ccprivate$_dispatchMouseWheel(e.mouseEvent);break;default:this._ccprivate$_dispatchEvent(e.type,e.mouseEvent);break}});cache.clear();}_ccprivate$_dispatchEvent(eventType,mouseEvent){const location=this._ccprivate$_getLocation(mouseEvent);let button=mouseEvent.button;switch(eventType){case "mouse-down":this._ccprivate$_isPressed=true;break;case "mouse-up":this._ccprivate$_isPressed=false;break;case "mouse-move":if(!this._ccprivate$_isPressed){button=EventMouse.BUTTON_MISSING;}break;}const eventMouse=new EventMouse(eventType,false,this._ccprivate$_preMousePos,mouseEvent.windowId);eventMouse.setLocation(location.x,location.y);eventMouse.setButton(button);const dpr=screenAdapter.devicePixelRatio;eventMouse.movementX=typeof mouseEvent.xDelta==="undefined"?0:mouseEvent.xDelta*dpr;eventMouse.movementY=typeof mouseEvent.yDelta==="undefined"?0:mouseEvent.yDelta*dpr;this._ccprivate$_preMousePos.set(location.x,location.y);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}_ccprivate$_dispatchMouseWheel(mouseEvent){const eventType="mouse-wheel";const location=this._ccprivate$_getLocation(mouseEvent);const button=mouseEvent.button;const eventMouse=new EventMouse(eventType,false,this._ccprivate$_preMousePos,mouseEvent.windowId);eventMouse.setLocation(location.x,location.y);eventMouse.setButton(button);eventMouse.movementX=location.x-this._ccprivate$_preMousePos.x;eventMouse.movementY=this._ccprivate$_preMousePos.y-location.y;let matchStandardFactor=0;if(systemInfo.os===OS.OPENHARMONY){matchStandardFactor=5;eventMouse.setScrollData(mouseEvent.wheelDeltaX,mouseEvent.wheelDeltaY*matchStandardFactor);}else {matchStandardFactor=120;eventMouse.setScrollData(mouseEvent.wheelDeltaX*matchStandardFactor,mouseEvent.wheelDeltaY*matchStandardFactor);}this._ccprivate$_preMousePos.set(location.x,location.y);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_dispatchWindowLeave(){const eventType="mouse-leave-window";const eventMouse=new EventMouse(eventType,false);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}_ccprivate$_dispatchWindowEnter(){const eventType="mouse-enter-window";const eventMouse=new EventMouse(eventType,false);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}} +- +-export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/mouse.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/mouse.d.ts +new file mode 100644 +index 0000000..8923346 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/mouse.d.ts +@@ -0,0 +1,13 @@ ++import { MouseCallback, MouseWheelCallback } from 'pal/input'; ++export declare class MouseInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ private _getLocation; ++ private _registerEvent; ++ private _createCallback; ++ onDown(cb: MouseCallback): void; ++ onMove(cb: MouseCallback): void; ++ onUp(cb: MouseCallback): void; ++ onWheel(cb: MouseWheelCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/mouse.js b/node_modules/@cocos/engine-pal/dist/input/native/mouse.js +new file mode 100644 +index 0000000..4d5902a +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/mouse.js +@@ -0,0 +1,8 @@ ++import { system } from 'pal/system'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { Vec2 } from '@cocos/engine/cocos/core/math'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++ ++class MouseInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=!system.isMobile;this._ccprivate$_registerEvent();}_ccprivate$_getLocation(event){return new Vec2(event.x,event.y)}_ccprivate$_registerEvent(){jsb.onMouseDown=this._ccprivate$_createCallback(SystemEventType.MOUSE_DOWN);jsb.onMouseMove=this._ccprivate$_createCallback(SystemEventType.MOUSE_MOVE);jsb.onMouseUp=this._ccprivate$_createCallback(SystemEventType.MOUSE_UP);jsb.onMouseWheel=event=>{const location=this._ccprivate$_getLocation(event);const viewSize=system.getViewSize();const matchStandardFactor=120;const inputEvent={type:SystemEventType.MOUSE_WHEEL,x:location.x,y:viewSize.height-location.y,button:event.button,deltaX:event.wheelDeltaX*matchStandardFactor,deltaY:event.wheelDeltaY*matchStandardFactor,timestamp:performance.now()};this._ccprivate$_eventTarget.emit(SystemEventType.MOUSE_WHEEL,inputEvent);};}_ccprivate$_createCallback(eventType){return event=>{const location=this._ccprivate$_getLocation(event);const viewSize=system.getViewSize();const inputEvent={type:eventType,x:location.x,y:viewSize.height-location.y,button:event.button,timestamp:performance.now()};this._ccprivate$_eventTarget.emit(eventType,inputEvent);}}onDown(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_DOWN,cb);}onMove(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_MOVE,cb);}onUp(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_UP,cb);}onWheel(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_WHEEL,cb);}} ++ ++export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/touch-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/touch-input.d.ts +deleted file mode 100644 +index 2fb7d26..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/touch-input.d.ts ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { EventTouch } from '@cocos/engine/cocos/input/types'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export type TouchCallback = (res: EventTouch) => void; +-export declare class TouchInputSource { +- private _eventTarget; +- private _windowManager; +- private _cache; +- constructor(); +- private _registerEvent; +- private _createEventCacheCallback; +- dispatchEventsInCache(): void; +- private _dispatchEvent; +- private _getLocation; +- on(eventType: InputEventType, callback: TouchCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/touch-input.js b/node_modules/@cocos/engine-pal/dist/input/native/touch-input.js +deleted file mode 100644 +index 99eb53c..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/native/touch-input.js ++++ /dev/null +@@ -1,9 +0,0 @@ +-import { screenAdapter } from 'pal/screen-adapter'; +-import { Vec2 } from '@cocos/engine/cocos/core/math'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { EventTouch } from '@cocos/engine/cocos/input/types'; +-import { touchManager } from '../touch-manager.js'; +- +-class TouchEventElement{type=null;changedTouches=[];windowId=0}class TouchEventCache{_ccprivate$_events=[];_ccprivate$_length=0;push(eventType,changedTouches,windowId){const events=this._ccprivate$_events;const index=this._ccprivate$_length;if(index>=events.length){events.push(new TouchEventElement);}const e=events[index];const cachedTouches=e.changedTouches;e.type=eventType;cachedTouches.length=changedTouches.length;e.windowId=windowId;for(let i=0,len=changedTouches.length;i{this._ccprivate$_cache.push(eventType,changedTouches,windowId);}}dispatchEventsInCache(){const cache=this._ccprivate$_cache;cache.forEach(e=>{this._ccprivate$_dispatchEvent(e.type,e.changedTouches,e.windowId);});cache.clear();}_ccprivate$_dispatchEvent(eventType,changedTouches,windowId){const handleTouches=[];const length=changedTouches.length;const windowSize=this._ccprivate$_windowManager.getWindow(windowId).getViewSize();for(let i=0;i0){const eventTouch=new EventTouch(handleTouches,false,eventType,touchManager.getAllTouches());eventTouch.windowId=windowId;this._ccprivate$_eventTarget.emit(eventType,eventTouch);}}_ccprivate$_getLocation(touch,windowSize){const dpr=screenAdapter.devicePixelRatio;const x=touch.clientX*dpr;const y=windowSize.height-touch.clientY*dpr;return new Vec2(x,y)}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { TouchInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/touch.d.ts b/node_modules/@cocos/engine-pal/dist/input/native/touch.d.ts +new file mode 100644 +index 0000000..bad8ec8 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/touch.d.ts +@@ -0,0 +1,13 @@ ++import { TouchCallback } from 'pal/input'; ++export declare class TouchInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ private _registerEvent; ++ private _createCallback; ++ private _getLocation; ++ onStart(cb: TouchCallback): void; ++ onMove(cb: TouchCallback): void; ++ onEnd(cb: TouchCallback): void; ++ onCancel(cb: TouchCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/native/touch.js b/node_modules/@cocos/engine-pal/dist/input/native/touch.js +new file mode 100644 +index 0000000..ed35aa4 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/native/touch.js +@@ -0,0 +1,8 @@ ++import { system } from 'pal/system'; ++import { Vec2 } from '@cocos/engine/cocos/core/math'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++ ++class TouchInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=true;this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onTouchStart=this._ccprivate$_createCallback(SystemEventType.TOUCH_START);jsb.onTouchMove=this._ccprivate$_createCallback(SystemEventType.TOUCH_MOVE);jsb.onTouchEnd=this._ccprivate$_createCallback(SystemEventType.TOUCH_END);jsb.onTouchCancel=this._ccprivate$_createCallback(SystemEventType.TOUCH_CANCEL);}_ccprivate$_createCallback(eventType){return touchList=>{const touchDataList=[];const length=touchList.length;const viewSize=system.getViewSize();for(let i=0;i void; +-export declare class AccelerometerInputSource { +- constructor(); +- start(): void; +- stop(): void; +- setInterval(intervalInMileseconds: number): void; +- on(eventType: InputEventType, callback: AccelerometerCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/accelerometer-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/accelerometer-input.js +deleted file mode 100644 +index 7c1d57b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/accelerometer-input.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-class AccelerometerInputSource{constructor(){}start(){}stop(){}setInterval(intervalInMileseconds){}on(eventType,callback,target){}} +- +-export { AccelerometerInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/gamepad-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/gamepad-input.d.ts +deleted file mode 100644 +index 61e2b0a..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/gamepad-input.d.ts ++++ /dev/null +@@ -1,72 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventGamepad } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceDpad, InputSourceOrientation, InputSourcePosition, InputSourceStick } from '../input-source'; +-export type GamepadCallback = (res: EventGamepad) => void; +-export declare class GamepadInputDevice { +- static all: GamepadInputDevice[]; +- static xr: (GamepadInputDevice | null); +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonL1(): InputSourceButton; +- get buttonL2(): InputSourceButton; +- get buttonL3(): InputSourceButton; +- get buttonR1(): InputSourceButton; +- get buttonR2(): InputSourceButton; +- get buttonR3(): InputSourceButton; +- get buttonShare(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get dpad(): InputSourceDpad; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonStart(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get deviceId(): number; +- get connected(): boolean; +- private static _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonL1; +- private _buttonL2; +- private _buttonL3; +- private _buttonR1; +- private _buttonR2; +- private _buttonR3; +- private _buttonShare; +- private _buttonOptions; +- private _dpad; +- private _leftStick; +- private _rightStick; +- private _buttonStart; +- private _gripLeft; +- private _gripRight; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- constructor(deviceId: number); +- /** +- * @engineInternal +- */ +- static _init(): void; +- /** +- * @engineInternal +- */ +- static _on(eventType: InputEventType, cb: GamepadCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/gamepad-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/gamepad-input.js +deleted file mode 100644 +index e829838..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/gamepad-input.js ++++ /dev/null +@@ -1,12 +0,0 @@ +-import { systemInfo } from 'pal/system-info'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +- +-class GamepadInputDevice{static all=[];static xr=null;get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonL1(){return this._ccprivate$_buttonL1}get buttonL2(){return this._ccprivate$_buttonL2}get buttonL3(){return this._ccprivate$_buttonL3}get buttonR1(){return this._ccprivate$_buttonR1}get buttonR2(){return this._ccprivate$_buttonR2}get buttonR3(){return this._ccprivate$_buttonR3}get buttonShare(){return this._ccprivate$_buttonShare}get buttonOptions(){return this._ccprivate$_buttonOptions}get dpad(){return this._ccprivate$_dpad}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonStart(){return this._ccprivate$_buttonStart}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get deviceId(){return 0}get connected(){return false}static _ccprivate$_eventTarget=new EventTarget;constructor(deviceId){}static _init(){if(!systemInfo.hasFeature(Feature.EVENT_GAMEPAD)){return}}static _on(eventType,cb,target){GamepadInputDevice._ccprivate$_eventTarget.on(eventType,cb,target);}} +- +-export { GamepadInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/handheld-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/handheld-input.d.ts +deleted file mode 100644 +index dc54f7e..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/handheld-input.d.ts ++++ /dev/null +@@ -1,16 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventHandheld } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export type HandheldCallback = (res: EventHandheld) => void; +-export declare class HandheldInputDevice { +- get handheldPosition(): InputSourcePosition; +- get handheldOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _handheldPosition; +- private _handheldOrientation; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandheldCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/handheld-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/handheld-input.js +deleted file mode 100644 +index 9382c69..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/handheld-input.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +- +-class HandheldInputDevice{get handheldPosition(){return this._ccprivate$_handheldPosition}get handheldOrientation(){return this._ccprivate$_handheldOrientation}_ccprivate$_eventTarget=new EventTarget;constructor(){}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { HandheldInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/handle-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/handle-input.d.ts +deleted file mode 100644 +index 31b5dff..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/handle-input.d.ts ++++ /dev/null +@@ -1,76 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventHandle } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source'; +-export type HandleCallback = (res: EventHandle) => void; +-export declare class HandleInputDevice { +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonTriggerLeft(): InputSourceButton; +- get buttonTriggerRight(): InputSourceButton; +- get triggerLeft(): InputSourceButton; +- get triggerRight(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonLeftStick(): InputSourceButton; +- get buttonRightStick(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get buttonStart(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get touchButtonA(): InputSourceTouch; +- get touchButtonB(): InputSourceTouch; +- get touchButtonX(): InputSourceTouch; +- get touchButtonY(): InputSourceTouch; +- get touchButtonTriggerLeft(): InputSourceTouch; +- get touchButtonTriggerRight(): InputSourceTouch; +- get touchButtonThumbStickLeft(): InputSourceTouch; +- get touchButtonThumbStickRight(): InputSourceTouch; +- private _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonTriggerLeft; +- private _buttonTriggerRight; +- private _triggerLeft; +- private _triggerRight; +- private _gripLeft; +- private _gripRight; +- private _leftStick; +- private _rightStick; +- private _buttonLeftStick; +- private _buttonRightStick; +- private _buttonOptions; +- private _buttonStart; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- private _touchButtonA; +- private _touchButtonB; +- private _touchButtonX; +- private _touchButtonY; +- private _touchButtonTriggerLeft; +- private _touchButtonTriggerRight; +- private _touchButtonThumbStickLeft; +- private _touchButtonThumbStickRight; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandleCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/handle-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/handle-input.js +deleted file mode 100644 +index 11cd03a..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/handle-input.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +- +-class HandleInputDevice{get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonTriggerLeft(){return this._ccprivate$_buttonTriggerLeft}get buttonTriggerRight(){return this._ccprivate$_buttonTriggerRight}get triggerLeft(){return this._ccprivate$_triggerLeft}get triggerRight(){return this._ccprivate$_triggerRight}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonLeftStick(){return this._ccprivate$_buttonLeftStick}get buttonRightStick(){return this._ccprivate$_buttonRightStick}get buttonOptions(){return this._ccprivate$_buttonOptions}get buttonStart(){return this._ccprivate$_buttonStart}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get touchButtonA(){return this._ccprivate$_touchButtonA}get touchButtonB(){return this._ccprivate$_touchButtonB}get touchButtonX(){return this._ccprivate$_touchButtonX}get touchButtonY(){return this._ccprivate$_touchButtonY}get touchButtonTriggerLeft(){return this._ccprivate$_touchButtonTriggerLeft}get touchButtonTriggerRight(){return this._ccprivate$_touchButtonTriggerRight}get touchButtonThumbStickLeft(){return this._ccprivate$_touchButtonThumbStickLeft}get touchButtonThumbStickRight(){return this._ccprivate$_touchButtonThumbStickRight}_ccprivate$_eventTarget=new EventTarget;constructor(){}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { HandleInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/hmd-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/hmd-input.d.ts +deleted file mode 100644 +index 820dca6..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/hmd-input.d.ts ++++ /dev/null +@@ -1,24 +0,0 @@ +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { EventHMD } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export type HMDCallback = (res: EventHMD) => void; +-export declare class HMDInputDevice { +- get viewLeftPosition(): InputSourcePosition; +- get viewLeftOrientation(): InputSourceOrientation; +- get viewRightPosition(): InputSourcePosition; +- get viewRightOrientation(): InputSourceOrientation; +- get headMiddlePosition(): InputSourcePosition; +- get headMiddleOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _viewLeftPosition; +- private _viewLeftOrientation; +- private _viewRightPosition; +- private _viewRightOrientation; +- private _headMiddlePosition; +- private _headMiddleOrientation; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HMDCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/hmd-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/hmd-input.js +deleted file mode 100644 +index 130bd3f..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/hmd-input.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +- +-var Pose;(function(Pose){Pose[Pose["VIEW_LEFT"]=0]="VIEW_LEFT";Pose[Pose["VIEW_RIGHT"]=1]="VIEW_RIGHT";Pose[Pose["HEAD_MIDDLE"]=2]="HEAD_MIDDLE";})(Pose||(Pose={}));class HMDInputDevice{get viewLeftPosition(){return this._ccprivate$_viewLeftPosition}get viewLeftOrientation(){return this._ccprivate$_viewLeftOrientation}get viewRightPosition(){return this._ccprivate$_viewRightPosition}get viewRightOrientation(){return this._ccprivate$_viewRightOrientation}get headMiddlePosition(){return this._ccprivate$_headMiddlePosition}get headMiddleOrientation(){return this._ccprivate$_headMiddleOrientation}_ccprivate$_eventTarget=new EventTarget;constructor(){}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { HMDInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/index.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/index.d.ts +deleted file mode 100644 +index 61ba7b3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/index.d.ts ++++ /dev/null +@@ -1,8 +0,0 @@ +-export * from './accelerometer-input'; +-export * from './gamepad-input'; +-export * from './handle-input'; +-export * from './hmd-input'; +-export * from './handheld-input'; +-export * from './keyboard-input'; +-export * from './mouse-input'; +-export * from './touch-input'; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/index.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/index.js +deleted file mode 100644 +index 9e91fe5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/index.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-export { AccelerometerInputSource } from './accelerometer-input.js'; +-export { GamepadInputDevice } from './gamepad-input.js'; +-export { HandleInputDevice } from './handle-input.js'; +-export { HMDInputDevice } from './hmd-input.js'; +-export { HandheldInputDevice } from './handheld-input.js'; +-export { KeyboardInputSource } from './keyboard-input.js'; +-export { MouseInputSource } from './mouse-input.js'; +-export { TouchInputSource } from './touch-input.js'; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/keyboard-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/keyboard-input.d.ts +deleted file mode 100644 +index 5de42c6..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/keyboard-input.d.ts ++++ /dev/null +@@ -1,10 +0,0 @@ +-import { EventKeyboard } from '@cocos/engine/cocos/input/types'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export type KeyboardCallback = (res: EventKeyboard) => void; +-export declare class KeyboardInputSource { +- private _eventTarget; +- constructor(); +- dispatchKeyboardDownEvent(nativeKeyboardEvent: jsb.KeyboardEvent): void; +- dispatchKeyboardUpEvent(nativeKeyboardEvent: jsb.KeyboardEvent): void; +- on(eventType: InputEventType, callback: KeyboardCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/keyboard-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/keyboard-input.js +deleted file mode 100644 +index bb5a879..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/keyboard-input.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +- +-class KeyboardInputSource{_ccprivate$_eventTarget=new EventTarget;constructor(){}dispatchKeyboardDownEvent(nativeKeyboardEvent){}dispatchKeyboardUpEvent(nativeKeyboardEvent){}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/mouse-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/mouse-input.d.ts +deleted file mode 100644 +index eb2caa4..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/mouse-input.d.ts ++++ /dev/null +@@ -1,13 +0,0 @@ +-import { EventMouse } from '@cocos/engine/cocos/input/types'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export type MouseCallback = (res: EventMouse) => void; +-export declare class MouseInputSource { +- private _eventTarget; +- constructor(); +- dispatchMouseDownEvent(nativeMouseEvent: any): void; +- dispatchMouseMoveEvent(nativeMouseEvent: any): void; +- dispatchMouseUpEvent(nativeMouseEvent: any): void; +- dispatchScrollEvent(nativeMouseEvent: any): void; +- dispatchEventsInCache(): void; +- on(eventType: InputEventType, callback: MouseCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/mouse-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/mouse-input.js +deleted file mode 100644 +index b39fa67..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/mouse-input.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +- +-class MouseInputSource{_ccprivate$_eventTarget=new EventTarget;constructor(){}dispatchMouseDownEvent(nativeMouseEvent){}dispatchMouseMoveEvent(nativeMouseEvent){}dispatchMouseUpEvent(nativeMouseEvent){}dispatchScrollEvent(nativeMouseEvent){}dispatchEventsInCache(){}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/touch-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/nodejs/touch-input.d.ts +deleted file mode 100644 +index c4c3c42..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/touch-input.d.ts ++++ /dev/null +@@ -1,9 +0,0 @@ +-import { EventTouch } from '@cocos/engine/cocos/input/types'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export type TouchCallback = (res: EventTouch) => void; +-export declare class TouchInputSource { +- private _eventTarget; +- constructor(); +- dispatchEventsInCache(): void; +- on(eventType: InputEventType, callback: TouchCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/nodejs/touch-input.js b/node_modules/@cocos/engine-pal/dist/input/nodejs/touch-input.js +deleted file mode 100644 +index 7b2852d..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/nodejs/touch-input.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +- +-class TouchInputSource{_ccprivate$_eventTarget=new EventTarget;constructor(){}dispatchEventsInCache(){}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { TouchInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/touch-manager.d.ts b/node_modules/@cocos/engine-pal/dist/input/touch-manager.d.ts +deleted file mode 100644 +index 505e6ee..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/touch-manager.d.ts ++++ /dev/null +@@ -1,58 +0,0 @@ +-import { Touch } from '@cocos/engine/cocos/input/types'; +-declare class TouchManager { +- /** +- * A map from touch ID to touch object. +- */ +- private _touchMap; +- private readonly _maxTouches; +- constructor(); +- /** +- * Create the touch object at the touch start event callback. +- * we have some policy to create the touch object: +- * - If the number of touches doesn't exceed the max count, we create a touch object. +- * - If the number of touches exceeds the max count, we discard the timeout touch to create a new one. +- * - If the number of touches exceeds the max count and there is no timeout touch, we can't create any touch object. +- * @param touchID The touch identifier +- * @param x The x-axis coordinate of the current touch point. +- * @param y The y-axis coordinate of the current touch point. +- * @return The Touch instance or undefined. +- */ +- private _createTouch; +- /** +- * Release the touch object at the touch end or touch cancel event callback. +- * @param touchID +- * @returns +- */ +- releaseTouch(touchID: number): void; +- /** +- * Get touch object by touch ID. +- * @param touchID +- * @returns +- */ +- getTouch(touchID: number): Touch | undefined; +- /** +- * Get or create touch object by touch ID. +- * @param touchID +- * @returns +- */ +- getOrCreateTouch(touchID: number, x: number, y: number): Touch | undefined; +- /** +- * Get all the current touches objects. +- * @returns +- */ +- getAllTouches(): Touch[]; +- /** +- * Get the number of touches. +- */ +- getTouchCount(): number; +- /** +- * Update the location and previous location of current touch ID. +- * @param touchID +- * @param x The current location X +- * @param y The current location Y +- */ +- private _updateTouch; +- private _checkTouchMapSizeMoreThanMax; +-} +-export declare const touchManager: TouchManager; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/input/touch-manager.js b/node_modules/@cocos/engine-pal/dist/input/touch-manager.js +deleted file mode 100644 +index 5fa8f14..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/touch-manager.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { Vec2 } from '@cocos/engine/cocos/core/math/vec2'; +-import { logID } from '@cocos/engine/cocos/core/platform/debug'; +-import { macro } from '@cocos/engine/cocos/core/platform/macro'; +-import { Touch } from '@cocos/engine/cocos/input/types'; +- +-const tempVec2=new Vec2;class TouchManager{_ccprivate$_touchMap=new Map;_ccprivate$_maxTouches=8;constructor(){}_ccprivate$_createTouch(touchID,x,y){if(this._ccprivate$_touchMap.has(touchID)){logID(2301);return undefined}const checkResult=this._ccprivate$_checkTouchMapSizeMoreThanMax(touchID);if(checkResult){logID(2300);return undefined}const touch=new Touch(x,y,touchID);this._ccprivate$_touchMap.set(touchID,touch);this._ccprivate$_updateTouch(touch,x,y);return touch}releaseTouch(touchID){if(!this._ccprivate$_touchMap.has(touchID)){return}this._ccprivate$_touchMap.delete(touchID);}getTouch(touchID){return this._ccprivate$_touchMap.get(touchID)}getOrCreateTouch(touchID,x,y){let touch=this.getTouch(touchID);if(!touch){touch=this._ccprivate$_createTouch(touchID,x,y);}else {this._ccprivate$_updateTouch(touch,x,y);}return touch}getAllTouches(){const touches=[];this._ccprivate$_touchMap.forEach(touch=>{if(touch){touches.push(touch);}});return touches}getTouchCount(){return this._ccprivate$_touchMap.size}_ccprivate$_updateTouch(touch,x,y){touch.getLocation(tempVec2);touch.setPrevPoint(tempVec2);touch.setPoint(x,y);}_ccprivate$_checkTouchMapSizeMoreThanMax(touchID){if(this._ccprivate$_touchMap.has(touchID)){return false}const maxSize=macro.ENABLE_MULTI_TOUCH?this._ccprivate$_maxTouches:1;if(this._ccprivate$_touchMap.size{if(now-touch.lastModified>macro.TOUCH_TIMEOUT){logID(2302,touch.getID());this.releaseTouch(touch.getID());}});return maxSize>=this._ccprivate$_touchMap.size}}const touchManager=new TouchManager; +- +-export { touchManager }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/accelerometer-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/accelerometer-input.d.ts +deleted file mode 100644 +index 3f5e606..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/accelerometer-input.d.ts ++++ /dev/null +@@ -1,18 +0,0 @@ +-import { AccelerometerCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class AccelerometerInputSource { +- private _intervalInMileSeconds; +- private _accelTimer; +- private _eventTarget; +- private _deviceEventName; +- private _globalEventClass; +- private _didAccelerateFunc; +- constructor(); +- private _registerEvent; +- private _unregisterEvent; +- private _didAccelerate; +- start(): void; +- stop(): void; +- setInterval(intervalInMileSeconds: number): void; +- on(eventType: InputEventType, callback: AccelerometerCallback, target?: any): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/accelerometer-input.js b/node_modules/@cocos/engine-pal/dist/input/web/accelerometer-input.js +deleted file mode 100644 +index bcd67e7..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/accelerometer-input.js ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { systemInfo } from 'pal/system-info'; +-import { screenAdapter } from 'pal/screen-adapter'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { BrowserType } from '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import { OS } from '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +-import { Acceleration, EventAcceleration } from '@cocos/engine/cocos/input/types'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; +- +-class AccelerometerInputSource{_ccprivate$_intervalInMileSeconds=200;_ccprivate$_accelTimer=0;_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_globalEventClass=window.DeviceMotionEvent||window.DeviceOrientationEvent;if(systemInfo.browserType===BrowserType.MOBILE_QQ){this._ccprivate$_globalEventClass=window.DeviceOrientationEvent;}this._ccprivate$_deviceEventName=this._ccprivate$_globalEventClass===window.DeviceMotionEvent?"devicemotion":"deviceorientation";this._ccprivate$_didAccelerateFunc=this._ccprivate$_didAccelerate.bind(this);}_ccprivate$_registerEvent(){this._ccprivate$_accelTimer=performance.now();window.addEventListener(this._ccprivate$_deviceEventName,this._ccprivate$_didAccelerateFunc,false);}_ccprivate$_unregisterEvent(){this._ccprivate$_accelTimer=0;window.removeEventListener(this._ccprivate$_deviceEventName,this._ccprivate$_didAccelerateFunc,false);}_ccprivate$_didAccelerate(event){const now=performance.now();if(now-this._ccprivate$_accelTimer{if(response==="granted"){this._ccprivate$_registerEvent();}}).catch(e=>{warn(e);});}else {this._ccprivate$_registerEvent();}}stop(){this._ccprivate$_unregisterEvent();}setInterval(intervalInMileSeconds){this._ccprivate$_intervalInMileSeconds=intervalInMileSeconds;}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}} +- +-export { AccelerometerInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/accelerometer.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/accelerometer.d.ts +new file mode 100644 +index 0000000..1a7656a +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/accelerometer.d.ts +@@ -0,0 +1,18 @@ ++import { AccelerometerCallback } from 'pal/input'; ++export declare class AccelerometerInputSource { ++ support: boolean; ++ private _intervalInMileseconds; ++ private _accelTimer; ++ private _eventTarget; ++ private _deviceEventName; ++ private _globalEventClass; ++ private _didAccelerateFunc; ++ constructor(); ++ private _registerEvent; ++ private _unregisterEvent; ++ private _didAccelerate; ++ start(): void; ++ stop(): void; ++ setInterval(intervalInMileseconds: number): void; ++ onChange(cb: AccelerometerCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/accelerometer.js b/node_modules/@cocos/engine-pal/dist/input/web/accelerometer.js +new file mode 100644 +index 0000000..ea347f9 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/accelerometer.js +@@ -0,0 +1,15 @@ ++import { system } from 'pal/system'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { BrowserType } from '../../system/enum-type/browser-type.js'; ++import '../../system/enum-type/event.js'; ++import '../../system/enum-type/language.js'; ++import '../../system/enum-type/network-type.js'; ++import { OS } from '../../system/enum-type/operating-system.js'; ++import '../../system/enum-type/orientation.js'; ++import '../../system/enum-type/platform.js'; ++import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; ++ ++class AccelerometerInputSource{support;_ccprivate$_intervalInMileseconds=200;_ccprivate$_accelTimer=0;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_deviceEventName;_ccprivate$_globalEventClass;_ccprivate$_didAccelerateFunc;constructor(){this.support=true;this._ccprivate$_globalEventClass=window.DeviceMotionEvent||window.DeviceOrientationEvent;if(system.browserType===BrowserType.QQ){this._ccprivate$_globalEventClass=window.DeviceOrientationEvent;}this._ccprivate$_deviceEventName=this._ccprivate$_globalEventClass===window.DeviceMotionEvent?"devicemotion":"deviceorientation";this._ccprivate$_didAccelerateFunc=this._ccprivate$_didAccelerate.bind(this);}_ccprivate$_registerEvent(){this._ccprivate$_accelTimer=performance.now();window.addEventListener(this._ccprivate$_deviceEventName,this._ccprivate$_didAccelerateFunc,false);}_ccprivate$_unregisterEvent(){this._ccprivate$_accelTimer=0;window.removeEventListener(this._ccprivate$_deviceEventName,this._ccprivate$_didAccelerateFunc,false);}_ccprivate$_didAccelerate(event){const now=performance.now();if(now-this._ccprivate$_accelTimerdevice.deviceId===id);if(removeIndex===-1){return}js.array.fastRemoveAt(GamepadInputDevice.all,removeIndex);}static _ccprivate$_getOrCreateInputDevice(id,connected){let device=GamepadInputDevice.all.find(device=>device.deviceId===id);if(!device){device=new GamepadInputDevice(id);GamepadInputDevice.all.push(device);}device._ccprivate$_connected=connected;return device}static _ccprivate$_ensureDirectorDefined(callback){GamepadInputDevice._ccprivate$_intervalId=setInterval(()=>{if(legacyCC.director&&legacyCC.Director){clearInterval(GamepadInputDevice._ccprivate$_intervalId);GamepadInputDevice._ccprivate$_intervalId=-1;callback();}},50);}static _ccprivate$_totalGamepadCnt=0;static _ccprivate$_updateGamepadCnt(){let cnt=0;for(let i=0,l=GamepadInputDevice._ccprivate$_cachedWebGamepads.length;i{GamepadInputDevice._ccprivate$_cachedWebGamepads=GamepadInputDevice._ccprivate$_getWebGamePads();GamepadInputDevice._ccprivate$_updateGamepadCnt();legacyCC.director.on(legacyCC.Director.EVENT_BEGIN_FRAME,GamepadInputDevice._ccprivate$_scanGamepads);});window.addEventListener("gamepadconnected",e=>{GamepadInputDevice._ccprivate$_cachedWebGamepads[e.gamepad.index]=e.gamepad;GamepadInputDevice._ccprivate$_updateGamepadCnt();const device=GamepadInputDevice._ccprivate$_getOrCreateInputDevice(e.gamepad.index,true);GamepadInputDevice._ccprivate$_eventTarget.emit("gamepad-change",new EventGamepad("gamepad-change",device));});window.addEventListener("gamepaddisconnected",e=>{GamepadInputDevice._ccprivate$_cachedWebGamepads[e.gamepad.index]=null;GamepadInputDevice._ccprivate$_updateGamepadCnt();const device=GamepadInputDevice._ccprivate$_getOrCreateInputDevice(e.gamepad.index,false);GamepadInputDevice._ccprivate$_removeInputDevice(e.gamepad.index);GamepadInputDevice._ccprivate$_eventTarget.emit("gamepad-change",new EventGamepad("gamepad-change",device));});}static _ccprivate$_scanWebGamepads(devices){const allDisconnected=GamepadInputDevice._ccprivate$_totalGamepadCnt===0;if(allDisconnected)return;const webGamepads=GamepadInputDevice._ccprivate$_getWebGamePads();if(!webGamepads){return}for(let i=0;iEPSILON){device=GamepadInputDevice._ccprivate$_getOrCreateInputDevice(webGamepad.index,true);break}}if(device){devices.push(device);continue}const cachedAxes=cachedWebGamepad.axes;for(let j=0;jEPSILON){device=GamepadInputDevice._ccprivate$_getOrCreateInputDevice(webGamepad.index,true);break}}if(device){devices.push(device);continue}}}GamepadInputDevice._ccprivate$_cachedWebGamepads=webGamepads;}static _ccprivate$_scanGamepads(){devicesTmp.length=0;GamepadInputDevice._ccprivate$_scanWebGamepads(devicesTmp);GamepadInputDevice._ccprivate$_scanWebXRGamepads(devicesTmp);for(let i=0;i0){return {negative:0,positive:value}}else if(axisValue<0){return {negative:value,positive:0}}else {return {negative:0,positive:0}}}_ccprivate$_updateWebPoseState(info){if(info.code!==Pose.HAND_LEFT&&info.code!==Pose.AIM_LEFT&&info.code!==Pose.HAND_RIGHT&&info.code!==Pose.AIM_RIGHT){return}this._ccprivate$_webPoseState[info.code]={position:new Vec3(info.position.x,info.position.y,info.position.z),orientation:new Quat(info.orientation.x,info.orientation.y,info.orientation.z,info.orientation.w)};}_ccprivate$_initInputSource(){this._ccprivate$_buttonNorth=new InputSourceButton;this._ccprivate$_buttonNorth.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_BUTTON_2){return webxrGamepad.buttons[XR_BUTTON_2].value}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_NORTH].value}return 0};this._ccprivate$_buttonEast=new InputSourceButton;this._ccprivate$_buttonEast.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_BUTTON_2){return webxrGamepad.buttons[XR_BUTTON_2].value}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_EAST].value}return 0};this._ccprivate$_buttonWest=new InputSourceButton;this._ccprivate$_buttonWest.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_BUTTON_1){return webxrGamepad.buttons[XR_BUTTON_1].value}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_WEST].value}return 0};this._ccprivate$_buttonSouth=new InputSourceButton;this._ccprivate$_buttonSouth.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_BUTTON_1){return webxrGamepad.buttons[XR_BUTTON_1].value}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_SOUTH].value}return 0};this._ccprivate$_buttonL1=new InputSourceButton;this._ccprivate$_buttonL1.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_L1].value}return 0};this._ccprivate$_buttonL2=new InputSourceButton;this._ccprivate$_buttonL2.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_TRIGGER){return webxrGamepad.buttons[XR_TRIGGER].value}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_L2].value}return 0};this._ccprivate$_buttonL3=new InputSourceButton;this._ccprivate$_buttonL3.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad){if(webxrGamepad.buttons.length>XR_STICK&&webxrGamepad.buttons[XR_STICK].value!==0){return webxrGamepad.buttons[XR_STICK].value}else if(webxrGamepad.buttons.length>XR_TOUCHPAD&&webxrGamepad.buttons[XR_TOUCHPAD].value!==0){return webxrGamepad.buttons[XR_TOUCHPAD].value}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_L3].value}return 0};this._ccprivate$_buttonR1=new InputSourceButton;this._ccprivate$_buttonR1.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_R1].value}return 0};this._ccprivate$_buttonR2=new InputSourceButton;this._ccprivate$_buttonR2.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_TRIGGER){return webxrGamepad.buttons[XR_TRIGGER].value}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_R2].value}return 0};this._ccprivate$_buttonR3=new InputSourceButton;this._ccprivate$_buttonR3.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad){if(webxrGamepad.buttons.length>XR_STICK&&webxrGamepad.buttons[XR_STICK].value!==0){return webxrGamepad.buttons[XR_STICK].value}else if(webxrGamepad.buttons.length>XR_TOUCHPAD&&webxrGamepad.buttons[XR_TOUCHPAD].value!==0){return webxrGamepad.buttons[XR_TOUCHPAD].value}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_R3].value}return 0};this._ccprivate$_buttonShare=new InputSourceButton;this._ccprivate$_buttonShare.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_SHARE].value}return 0};this._ccprivate$_buttonOptions=new InputSourceButton;this._ccprivate$_buttonOptions.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_OPTIONS].value}return 0};const dpadUp=new InputSourceButton;dpadUp.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_DPAD_UP].value}return 0};const dpadDown=new InputSourceButton;dpadDown.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_DPAD_DOWN].value}return 0};const dpadLeft=new InputSourceButton;dpadLeft.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_DPAD_LEFT].value}return 0};const dpadRight=new InputSourceButton;dpadRight.getValue=()=>{const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return webGamepad.buttons[BUTTON_DPAD_RIGHT].value}return 0};this._ccprivate$_dpad=new InputSourceDpad({up:dpadUp,down:dpadDown,left:dpadLeft,right:dpadRight});const leftStickUp=new InputSourceButton;leftStickUp.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_Y&&webxrGamepad.axes[XR_AXIS_STICK_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_Y]).negative}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_Y&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]).negative}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_LEFT_STICK_Y]).negative}return 0};const leftStickDown=new InputSourceButton;leftStickDown.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_Y&&webxrGamepad.axes[XR_AXIS_STICK_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_Y]).positive}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_Y&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]).positive}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_LEFT_STICK_Y]).positive}return 0};const leftStickLeft=new InputSourceButton;leftStickLeft.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_X&&webxrGamepad.axes[XR_AXIS_STICK_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_X]).negative}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_X&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]).negative}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_LEFT_STICK_X]).negative}return 0};const leftStickRight=new InputSourceButton;leftStickRight.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_X&&webxrGamepad.axes[XR_AXIS_STICK_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_X]).positive}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_X&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]).positive}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_LEFT_STICK_X]).positive}return 0};this._ccprivate$_leftStick=new InputSourceStick({up:leftStickUp,down:leftStickDown,left:leftStickLeft,right:leftStickRight});const rightStickUp=new InputSourceButton;rightStickUp.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_Y&&webxrGamepad.axes[XR_AXIS_STICK_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_Y]).negative}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_Y&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]).negative}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_RIGHT_STICK_Y]).negative}return 0};const rightStickDown=new InputSourceButton;rightStickDown.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_Y&&webxrGamepad.axes[XR_AXIS_STICK_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_Y]).positive}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_Y&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_Y]).positive}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_RIGHT_STICK_Y]).positive}return 0};const rightStickLeft=new InputSourceButton;rightStickLeft.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_X&&webxrGamepad.axes[XR_AXIS_STICK_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_X]).negative}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_X&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]).negative}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_RIGHT_STICK_X]).negative}return 0};const rightStickRight=new InputSourceButton;rightStickRight.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad){if(webxrGamepad.axes.length>XR_AXIS_STICK_X&&webxrGamepad.axes[XR_AXIS_STICK_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_STICK_X]).positive}else if(webxrGamepad.axes.length>XR_AXIS_TOUCHPAD_X&&webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]!==0){return this._ccprivate$_axisToButtons(webxrGamepad.axes[XR_AXIS_TOUCHPAD_X]).positive}}}return 0}const webGamepad=GamepadInputDevice._ccprivate$_getWebGamepad(this.deviceId);if(webGamepad){return this._ccprivate$_axisToButtons(webGamepad.axes[AXIS_RIGHT_STICK_X]).positive}return 0};this._ccprivate$_rightStick=new InputSourceStick({up:rightStickUp,down:rightStickDown,left:rightStickLeft,right:rightStickRight});this._ccprivate$_buttonStart=new InputSourceButton;this._ccprivate$_buttonStart.getValue=()=>0;this._ccprivate$_gripLeft=new InputSourceButton;this._ccprivate$_gripLeft.getValue=()=>{if(this.deviceId===-1){if(USE_XR){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRLeftHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_GRIP){return webxrGamepad.buttons[XR_GRIP].value}}}return 0};this._ccprivate$_gripRight=new InputSourceButton;this._ccprivate$_gripRight.getValue=()=>{if(this.deviceId===-1){const webxrGamepad=GamepadInputDevice._ccprivate$_getWebXRGamepadMap()?.get(XRRightHandedness);if(webxrGamepad&&webxrGamepad.buttons.length>XR_GRIP){return webxrGamepad.buttons[XR_GRIP].value}}return 0};this._ccprivate$_handLeftPosition=new InputSourcePosition;this._ccprivate$_handLeftPosition.getValue=()=>this._ccprivate$_webPoseState[Pose.HAND_LEFT].position;this._ccprivate$_handLeftOrientation=new InputSourceOrientation;this._ccprivate$_handLeftOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.HAND_LEFT].orientation;this._ccprivate$_handRightPosition=new InputSourcePosition;this._ccprivate$_handRightPosition.getValue=()=>this._ccprivate$_webPoseState[Pose.HAND_RIGHT].position;this._ccprivate$_handRightOrientation=new InputSourceOrientation;this._ccprivate$_handRightOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.HAND_RIGHT].orientation;this._ccprivate$_aimLeftPosition=new InputSourcePosition;this._ccprivate$_aimLeftPosition.getValue=()=>this._ccprivate$_webPoseState[Pose.AIM_LEFT].position;this._ccprivate$_aimLeftOrientation=new InputSourceOrientation;this._ccprivate$_aimLeftOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.AIM_LEFT].orientation;this._ccprivate$_aimRightPosition=new InputSourcePosition;this._ccprivate$_aimRightPosition.getValue=()=>this._ccprivate$_webPoseState[Pose.AIM_RIGHT].position;this._ccprivate$_aimRightOrientation=new InputSourceOrientation;this._ccprivate$_aimRightOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.AIM_RIGHT].orientation;}} +- +-export { GamepadInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/gamepad.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/gamepad.d.ts +new file mode 100644 +index 0000000..9f7a0a4 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/gamepad.d.ts +@@ -0,0 +1,4 @@ ++export declare class GamepadInputSource { ++ support: boolean; ++ constructor(); ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/gamepad.js b/node_modules/@cocos/engine-pal/dist/input/web/gamepad.js +new file mode 100644 +index 0000000..b99ebb0 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/gamepad.js +@@ -0,0 +1,3 @@ ++class GamepadInputSource{support;constructor(){this.support=false;}} ++ ++export { GamepadInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/handheld-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/handheld-input.d.ts +deleted file mode 100644 +index 14d428d..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/handheld-input.d.ts ++++ /dev/null +@@ -1,16 +0,0 @@ +-import { HandheldCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export declare class HandheldInputDevice { +- get handheldPosition(): InputSourcePosition; +- get handheldOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _handheldPosition; +- private _handheldOrientation; +- constructor(); +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandheldCallback, target?: any): void; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/handheld-input.js b/node_modules/@cocos/engine-pal/dist/input/web/handheld-input.js +deleted file mode 100644 +index 8803180..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/handheld-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Vec3, Quat } from '@cocos/engine/cocos/core/math'; +- +-class HandheldInputDevice{get handheldPosition(){return this._ccprivate$_handheldPosition}get handheldOrientation(){return this._ccprivate$_handheldOrientation}_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_initInputSource();}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_initInputSource(){this._ccprivate$_handheldPosition=new InputSourcePosition;this._ccprivate$_handheldPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_handheldOrientation=new InputSourceOrientation;this._ccprivate$_handheldOrientation.getValue=()=>Quat.IDENTITY;}} +- +-export { HandheldInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/handle-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/handle-input.d.ts +deleted file mode 100644 +index 3118a0c..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/handle-input.d.ts ++++ /dev/null +@@ -1,85 +0,0 @@ +-import { HandleCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source'; +-export declare enum KeyEventType { +- KET_CLICK = 0, +- KET_STICK = 1, +- KET_GRAB = 2, +- KET_TOUCH = 3 +-} +-export declare class HandleInputDevice { +- get buttonNorth(): InputSourceButton; +- get buttonEast(): InputSourceButton; +- get buttonWest(): InputSourceButton; +- get buttonSouth(): InputSourceButton; +- get buttonTriggerLeft(): InputSourceButton; +- get buttonTriggerRight(): InputSourceButton; +- get triggerLeft(): InputSourceButton; +- get triggerRight(): InputSourceButton; +- get gripLeft(): InputSourceButton; +- get gripRight(): InputSourceButton; +- get leftStick(): InputSourceStick; +- get rightStick(): InputSourceStick; +- get buttonLeftStick(): InputSourceButton; +- get buttonRightStick(): InputSourceButton; +- get buttonOptions(): InputSourceButton; +- get buttonStart(): InputSourceButton; +- get handLeftPosition(): InputSourcePosition; +- get handLeftOrientation(): InputSourceOrientation; +- get handRightPosition(): InputSourcePosition; +- get handRightOrientation(): InputSourceOrientation; +- get aimLeftPosition(): InputSourcePosition; +- get aimLeftOrientation(): InputSourceOrientation; +- get aimRightPosition(): InputSourcePosition; +- get aimRightOrientation(): InputSourceOrientation; +- get touchButtonA(): InputSourceTouch; +- get touchButtonB(): InputSourceTouch; +- get touchButtonX(): InputSourceTouch; +- get touchButtonY(): InputSourceTouch; +- get touchButtonTriggerLeft(): InputSourceTouch; +- get touchButtonTriggerRight(): InputSourceTouch; +- get touchButtonThumbStickLeft(): InputSourceTouch; +- get touchButtonThumbStickRight(): InputSourceTouch; +- private _eventTarget; +- private _buttonNorth; +- private _buttonEast; +- private _buttonWest; +- private _buttonSouth; +- private _buttonTriggerLeft; +- private _buttonTriggerRight; +- private _triggerLeft; +- private _triggerRight; +- private _gripLeft; +- private _gripRight; +- private _leftStick; +- private _rightStick; +- private _buttonLeftStick; +- private _buttonRightStick; +- private _buttonOptions; +- private _buttonStart; +- private _handLeftPosition; +- private _handLeftOrientation; +- private _handRightPosition; +- private _handRightOrientation; +- private _aimLeftPosition; +- private _aimLeftOrientation; +- private _aimRightPosition; +- private _aimRightOrientation; +- private _touchButtonA; +- private _touchButtonB; +- private _touchButtonX; +- private _touchButtonY; +- private _touchButtonTriggerLeft; +- private _touchButtonTriggerRight; +- private _touchButtonThumbStickLeft; +- private _touchButtonThumbStickRight; +- private _nativeButtonState; +- private _nativeTouchState; +- constructor(); +- private _axisToButtons; +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HandleCallback, target?: any): void; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/handle-input.js b/node_modules/@cocos/engine-pal/dist/input/web/handle-input.js +deleted file mode 100644 +index 0e87a47..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/handle-input.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { EventHandle } from '@cocos/engine/cocos/input/types'; +-import { InputSourceButton, InputSourceStick, InputSourcePosition, InputSourceOrientation, InputSourceTouch } from '../input-source.js'; +-import { Vec3, Quat } from '@cocos/engine/cocos/core/math'; +- +-var Button;(function(Button){Button[Button["BUTTON_EAST"]=0]="BUTTON_EAST";Button[Button["BUTTON_SOUTH"]=1]="BUTTON_SOUTH";Button[Button["BUTTON_WEST"]=2]="BUTTON_WEST";Button[Button["BUTTON_NORTH"]=3]="BUTTON_NORTH";Button[Button["BUTTON_TRIGGER_LEFT"]=4]="BUTTON_TRIGGER_LEFT";Button[Button["BUTTON_TRIGGER_RIGHT"]=5]="BUTTON_TRIGGER_RIGHT";Button[Button["TRIGGER_LEFT"]=6]="TRIGGER_LEFT";Button[Button["TRIGGER_RIGHT"]=7]="TRIGGER_RIGHT";Button[Button["GRIP_LEFT"]=8]="GRIP_LEFT";Button[Button["GRIP_RIGHT"]=9]="GRIP_RIGHT";Button[Button["BUTTON_LEFT_STICK"]=10]="BUTTON_LEFT_STICK";Button[Button["LEFT_STICK_UP"]=11]="LEFT_STICK_UP";Button[Button["LEFT_STICK_DOWN"]=12]="LEFT_STICK_DOWN";Button[Button["LEFT_STICK_LEFT"]=13]="LEFT_STICK_LEFT";Button[Button["LEFT_STICK_RIGHT"]=14]="LEFT_STICK_RIGHT";Button[Button["BUTTON_RIGHT_STICK"]=15]="BUTTON_RIGHT_STICK";Button[Button["RIGHT_STICK_UP"]=16]="RIGHT_STICK_UP";Button[Button["RIGHT_STICK_DOWN"]=17]="RIGHT_STICK_DOWN";Button[Button["RIGHT_STICK_LEFT"]=18]="RIGHT_STICK_LEFT";Button[Button["RIGHT_STICK_RIGHT"]=19]="RIGHT_STICK_RIGHT";Button[Button["ROKID_MENU"]=20]="ROKID_MENU";Button[Button["ROKID_START"]=21]="ROKID_START";})(Button||(Button={}));let KeyEventType;(function(KeyEventType){KeyEventType[KeyEventType["KET_CLICK"]=0]="KET_CLICK";KeyEventType[KeyEventType["KET_STICK"]=1]="KET_STICK";KeyEventType[KeyEventType["KET_GRAB"]=2]="KET_GRAB";KeyEventType[KeyEventType["KET_TOUCH"]=3]="KET_TOUCH";})(KeyEventType||(KeyEventType={}));var StickKeyCode;(function(StickKeyCode){StickKeyCode[StickKeyCode["UNDEFINE"]=0]="UNDEFINE";StickKeyCode[StickKeyCode["A"]=1]="A";StickKeyCode[StickKeyCode["B"]=2]="B";StickKeyCode[StickKeyCode["X"]=3]="X";StickKeyCode[StickKeyCode["Y"]=4]="Y";StickKeyCode[StickKeyCode["L1"]=5]="L1";StickKeyCode[StickKeyCode["R1"]=6]="R1";StickKeyCode[StickKeyCode["MINUS"]=7]="MINUS";StickKeyCode[StickKeyCode["PLUS"]=8]="PLUS";StickKeyCode[StickKeyCode["L3"]=9]="L3";StickKeyCode[StickKeyCode["R3"]=10]="R3";StickKeyCode[StickKeyCode["MENU"]=11]="MENU";StickKeyCode[StickKeyCode["START"]=12]="START";StickKeyCode[StickKeyCode["TRIGGER_LEFT"]=13]="TRIGGER_LEFT";StickKeyCode[StickKeyCode["TRIGGER_RIGHT"]=14]="TRIGGER_RIGHT";})(StickKeyCode||(StickKeyCode={}));var StickAxisCode;(function(StickAxisCode){StickAxisCode[StickAxisCode["UNDEFINE"]=0]="UNDEFINE";StickAxisCode[StickAxisCode["X"]=1]="X";StickAxisCode[StickAxisCode["Y"]=2]="Y";StickAxisCode[StickAxisCode["LEFT_STICK_X"]=3]="LEFT_STICK_X";StickAxisCode[StickAxisCode["LEFT_STICK_Y"]=4]="LEFT_STICK_Y";StickAxisCode[StickAxisCode["RIGHT_STICK_X"]=5]="RIGHT_STICK_X";StickAxisCode[StickAxisCode["RIGHT_STICK_Y"]=6]="RIGHT_STICK_Y";StickAxisCode[StickAxisCode["L2"]=7]="L2";StickAxisCode[StickAxisCode["R2"]=8]="R2";StickAxisCode[StickAxisCode["LEFT_GRIP"]=9]="LEFT_GRIP";StickAxisCode[StickAxisCode["RIGHT_GRIP"]=10]="RIGHT_GRIP";})(StickAxisCode||(StickAxisCode={}));var StickTouchCode;(function(StickTouchCode){StickTouchCode[StickTouchCode["UNDEFINE"]=0]="UNDEFINE";StickTouchCode[StickTouchCode["A"]=1]="A";StickTouchCode[StickTouchCode["B"]=2]="B";StickTouchCode[StickTouchCode["X"]=3]="X";StickTouchCode[StickTouchCode["Y"]=4]="Y";StickTouchCode[StickTouchCode["LEFT_TRIGGER"]=5]="LEFT_TRIGGER";StickTouchCode[StickTouchCode["RIGHT_TRIGGER"]=6]="RIGHT_TRIGGER";StickTouchCode[StickTouchCode["LEFT_THUMBSTICK"]=7]="LEFT_THUMBSTICK";StickTouchCode[StickTouchCode["RIGHT_THUMBSTICK"]=8]="RIGHT_THUMBSTICK";})(StickTouchCode||(StickTouchCode={}));const _nativeButtonMap={1:Button.BUTTON_EAST,2:Button.BUTTON_SOUTH,3:Button.BUTTON_NORTH,4:Button.BUTTON_WEST,9:Button.BUTTON_LEFT_STICK,10:Button.BUTTON_RIGHT_STICK,11:Button.ROKID_MENU,12:Button.ROKID_START,13:Button.BUTTON_TRIGGER_LEFT,14:Button.BUTTON_TRIGGER_RIGHT};class HandleInputDevice{get buttonNorth(){return this._ccprivate$_buttonNorth}get buttonEast(){return this._ccprivate$_buttonEast}get buttonWest(){return this._ccprivate$_buttonWest}get buttonSouth(){return this._ccprivate$_buttonSouth}get buttonTriggerLeft(){return this._ccprivate$_buttonTriggerLeft}get buttonTriggerRight(){return this._ccprivate$_buttonTriggerRight}get triggerLeft(){return this._ccprivate$_triggerLeft}get triggerRight(){return this._ccprivate$_triggerRight}get gripLeft(){return this._ccprivate$_gripLeft}get gripRight(){return this._ccprivate$_gripRight}get leftStick(){return this._ccprivate$_leftStick}get rightStick(){return this._ccprivate$_rightStick}get buttonLeftStick(){return this._ccprivate$_buttonLeftStick}get buttonRightStick(){return this._ccprivate$_buttonRightStick}get buttonOptions(){return this._ccprivate$_buttonOptions}get buttonStart(){return this._ccprivate$_buttonStart}get handLeftPosition(){return this._ccprivate$_handLeftPosition}get handLeftOrientation(){return this._ccprivate$_handLeftOrientation}get handRightPosition(){return this._ccprivate$_handRightPosition}get handRightOrientation(){return this._ccprivate$_handRightOrientation}get aimLeftPosition(){return this._ccprivate$_aimLeftPosition}get aimLeftOrientation(){return this._ccprivate$_aimLeftOrientation}get aimRightPosition(){return this._ccprivate$_aimRightPosition}get aimRightOrientation(){return this._ccprivate$_aimRightOrientation}get touchButtonA(){return this._ccprivate$_touchButtonA}get touchButtonB(){return this._ccprivate$_touchButtonB}get touchButtonX(){return this._ccprivate$_touchButtonX}get touchButtonY(){return this._ccprivate$_touchButtonY}get touchButtonTriggerLeft(){return this._ccprivate$_touchButtonTriggerLeft}get touchButtonTriggerRight(){return this._ccprivate$_touchButtonTriggerRight}get touchButtonThumbStickLeft(){return this._ccprivate$_touchButtonThumbStickLeft}get touchButtonThumbStickRight(){return this._ccprivate$_touchButtonThumbStickRight}_ccprivate$_eventTarget=new EventTarget;_ccprivate$_nativeButtonState={[Button.BUTTON_SOUTH]:0,[Button.BUTTON_EAST]:0,[Button.BUTTON_WEST]:0,[Button.BUTTON_NORTH]:0,[Button.BUTTON_TRIGGER_LEFT]:0,[Button.BUTTON_TRIGGER_RIGHT]:0,[Button.TRIGGER_LEFT]:0,[Button.TRIGGER_RIGHT]:0,[Button.GRIP_LEFT]:0,[Button.GRIP_RIGHT]:0,[Button.LEFT_STICK_UP]:0,[Button.LEFT_STICK_DOWN]:0,[Button.LEFT_STICK_LEFT]:0,[Button.LEFT_STICK_RIGHT]:0,[Button.RIGHT_STICK_UP]:0,[Button.RIGHT_STICK_DOWN]:0,[Button.RIGHT_STICK_LEFT]:0,[Button.RIGHT_STICK_RIGHT]:0,[Button.BUTTON_LEFT_STICK]:0,[Button.BUTTON_RIGHT_STICK]:0,[Button.ROKID_MENU]:0,[Button.ROKID_START]:0};_ccprivate$_nativeTouchState={[StickTouchCode.UNDEFINE]:0,[StickTouchCode.A]:0,[StickTouchCode.B]:0,[StickTouchCode.X]:0,[StickTouchCode.Y]:0,[StickTouchCode.LEFT_TRIGGER]:0,[StickTouchCode.RIGHT_TRIGGER]:0,[StickTouchCode.LEFT_THUMBSTICK]:0,[StickTouchCode.RIGHT_THUMBSTICK]:0};constructor(){this._ccprivate$_initInputSource();window.addEventListener("xr-remote-input",evt=>{const remoteInputEvent=evt;const keyEventType=remoteInputEvent.detail.keyEventType;const stickAxisCode=remoteInputEvent.detail.stickAxisCode;const stickAxisValue=remoteInputEvent.detail.stickAxisValue;const stickKeyCode=remoteInputEvent.detail.stickKeyCode;const isButtonPressed=remoteInputEvent.detail.isButtonPressed;const touchCode=remoteInputEvent.detail.touchCode;const touchValue=remoteInputEvent.detail.touchValue;if(keyEventType===KeyEventType.KET_CLICK){const button=_nativeButtonMap[stickKeyCode];this._ccprivate$_nativeButtonState[button]=isButtonPressed?1:0;}else if(keyEventType===KeyEventType.KET_STICK||keyEventType===KeyEventType.KET_GRAB){let negativeButton;let positiveButton;let axisValue;switch(stickAxisCode){case StickAxisCode.LEFT_STICK_X:negativeButton=Button.LEFT_STICK_LEFT;positiveButton=Button.LEFT_STICK_RIGHT;axisValue=this._ccprivate$_axisToButtons(stickAxisValue);break;case StickAxisCode.LEFT_STICK_Y:negativeButton=Button.LEFT_STICK_DOWN;positiveButton=Button.LEFT_STICK_UP;axisValue=this._ccprivate$_axisToButtons(stickAxisValue);break;case StickAxisCode.RIGHT_STICK_X:negativeButton=Button.RIGHT_STICK_LEFT;positiveButton=Button.RIGHT_STICK_RIGHT;axisValue=this._ccprivate$_axisToButtons(stickAxisValue);break;case StickAxisCode.RIGHT_STICK_Y:negativeButton=Button.RIGHT_STICK_DOWN;positiveButton=Button.RIGHT_STICK_UP;axisValue=this._ccprivate$_axisToButtons(stickAxisValue);break;case StickAxisCode.L2:this._ccprivate$_nativeButtonState[Button.TRIGGER_LEFT]=stickAxisValue;break;case StickAxisCode.R2:this._ccprivate$_nativeButtonState[Button.TRIGGER_RIGHT]=stickAxisValue;break;case StickAxisCode.LEFT_GRIP:this._ccprivate$_nativeButtonState[Button.GRIP_LEFT]=stickAxisValue;break;case StickAxisCode.RIGHT_GRIP:this._ccprivate$_nativeButtonState[Button.GRIP_RIGHT]=stickAxisValue;break;}if(negativeButton&&positiveButton&&axisValue){this._ccprivate$_nativeButtonState[negativeButton]=axisValue.negative;this._ccprivate$_nativeButtonState[positiveButton]=axisValue.positive;}}else if(keyEventType===KeyEventType.KET_TOUCH){switch(touchCode){case StickTouchCode.A:case StickTouchCode.B:case StickTouchCode.X:case StickTouchCode.Y:case StickTouchCode.LEFT_TRIGGER:case StickTouchCode.RIGHT_TRIGGER:case StickTouchCode.LEFT_THUMBSTICK:case StickTouchCode.RIGHT_THUMBSTICK:this._ccprivate$_nativeTouchState[touchCode]=touchValue;break;}}this._ccprivate$_eventTarget.emit("handle-input",new EventHandle("handle-input",this));});}_ccprivate$_axisToButtons(axisValue){const value=Math.abs(axisValue);if(axisValue>0){return {negative:0,positive:value}}else if(axisValue<0){return {negative:value,positive:0}}else {return {negative:0,positive:0}}}_on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_initInputSource(){this._ccprivate$_buttonNorth=new InputSourceButton;this._ccprivate$_buttonNorth.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_NORTH];this._ccprivate$_buttonEast=new InputSourceButton;this._ccprivate$_buttonEast.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_EAST];this._ccprivate$_buttonWest=new InputSourceButton;this._ccprivate$_buttonWest.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_WEST];this._ccprivate$_buttonSouth=new InputSourceButton;this._ccprivate$_buttonSouth.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_SOUTH];this._ccprivate$_buttonTriggerLeft=new InputSourceButton;this._ccprivate$_buttonTriggerLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_TRIGGER_LEFT];this._ccprivate$_buttonTriggerRight=new InputSourceButton;this._ccprivate$_buttonTriggerRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_TRIGGER_RIGHT];this._ccprivate$_triggerLeft=new InputSourceButton;this._ccprivate$_triggerLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.TRIGGER_LEFT];this._ccprivate$_triggerRight=new InputSourceButton;this._ccprivate$_triggerRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.TRIGGER_RIGHT];this._ccprivate$_gripLeft=new InputSourceButton;this._ccprivate$_gripLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.GRIP_LEFT];this._ccprivate$_gripRight=new InputSourceButton;this._ccprivate$_gripRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.GRIP_RIGHT];this._ccprivate$_buttonLeftStick=new InputSourceButton;this._ccprivate$_buttonLeftStick.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_LEFT_STICK];const leftStickUp=new InputSourceButton;leftStickUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_UP];const leftStickDown=new InputSourceButton;leftStickDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_DOWN];const leftStickLeft=new InputSourceButton;leftStickLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_LEFT];const leftStickRight=new InputSourceButton;leftStickRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.LEFT_STICK_RIGHT];this._ccprivate$_leftStick=new InputSourceStick({up:leftStickUp,down:leftStickDown,left:leftStickLeft,right:leftStickRight});this._ccprivate$_buttonRightStick=new InputSourceButton;this._ccprivate$_buttonRightStick.getValue=()=>this._ccprivate$_nativeButtonState[Button.BUTTON_RIGHT_STICK];const rightStickUp=new InputSourceButton;rightStickUp.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_UP];const rightStickDown=new InputSourceButton;rightStickDown.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_DOWN];const rightStickLeft=new InputSourceButton;rightStickLeft.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_LEFT];const rightStickRight=new InputSourceButton;rightStickRight.getValue=()=>this._ccprivate$_nativeButtonState[Button.RIGHT_STICK_RIGHT];this._ccprivate$_rightStick=new InputSourceStick({up:rightStickUp,down:rightStickDown,left:rightStickLeft,right:rightStickRight});this._ccprivate$_buttonOptions=new InputSourceButton;this._ccprivate$_buttonOptions.getValue=()=>this._ccprivate$_nativeButtonState[Button.ROKID_MENU];this._ccprivate$_buttonStart=new InputSourceButton;this._ccprivate$_buttonStart.getValue=()=>this._ccprivate$_nativeButtonState[Button.ROKID_START];this._ccprivate$_handLeftPosition=new InputSourcePosition;this._ccprivate$_handLeftPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_handLeftOrientation=new InputSourceOrientation;this._ccprivate$_handLeftOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_handRightPosition=new InputSourcePosition;this._ccprivate$_handRightPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_handRightOrientation=new InputSourceOrientation;this._ccprivate$_handRightOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_aimLeftPosition=new InputSourcePosition;this._ccprivate$_aimLeftPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_aimLeftOrientation=new InputSourceOrientation;this._ccprivate$_aimLeftOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_aimRightPosition=new InputSourcePosition;this._ccprivate$_aimRightPosition.getValue=()=>Vec3.ZERO;this._ccprivate$_aimRightOrientation=new InputSourceOrientation;this._ccprivate$_aimRightOrientation.getValue=()=>Quat.IDENTITY;this._ccprivate$_touchButtonA=new InputSourceTouch;this._ccprivate$_touchButtonA.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.A];this._ccprivate$_touchButtonB=new InputSourceTouch;this._ccprivate$_touchButtonB.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.B];this._ccprivate$_touchButtonX=new InputSourceTouch;this._ccprivate$_touchButtonX.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.X];this._ccprivate$_touchButtonY=new InputSourceTouch;this._ccprivate$_touchButtonY.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.Y];this._ccprivate$_touchButtonTriggerLeft=new InputSourceTouch;this._ccprivate$_touchButtonTriggerLeft.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.LEFT_TRIGGER];this._ccprivate$_touchButtonTriggerRight=new InputSourceTouch;this._ccprivate$_touchButtonTriggerRight.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.RIGHT_TRIGGER];this._ccprivate$_touchButtonThumbStickLeft=new InputSourceTouch;this._ccprivate$_touchButtonThumbStickLeft.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.LEFT_THUMBSTICK];this._ccprivate$_touchButtonThumbStickRight=new InputSourceTouch;this._ccprivate$_touchButtonThumbStickRight.getValue=()=>this._ccprivate$_nativeTouchState[StickTouchCode.RIGHT_THUMBSTICK];}} +- +-export { HandleInputDevice, KeyEventType }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/hmd-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/hmd-input.d.ts +deleted file mode 100644 +index dcb2a5d..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/hmd-input.d.ts ++++ /dev/null +@@ -1,30 +0,0 @@ +-import { HMDCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source'; +-export declare class HMDInputDevice { +- get viewLeftPosition(): InputSourcePosition; +- get viewLeftOrientation(): InputSourceOrientation; +- get viewRightPosition(): InputSourcePosition; +- get viewRightOrientation(): InputSourceOrientation; +- get headMiddlePosition(): InputSourcePosition; +- get headMiddleOrientation(): InputSourceOrientation; +- private _eventTarget; +- private _intervalId; +- private _viewLeftPosition; +- private _viewLeftOrientation; +- private _viewRightPosition; +- private _viewRightOrientation; +- private _headMiddlePosition; +- private _headMiddleOrientation; +- private _webPoseState; +- constructor(); +- private _ensureDirectorDefined; +- private _registerEvent; +- private _scanHmd; +- /** +- * @engineInternal +- */ +- _on(eventType: InputEventType, callback: HMDCallback, target?: any): void; +- private _updateWebPoseState; +- private _initInputSource; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/hmd-input.js b/node_modules/@cocos/engine-pal/dist/input/web/hmd-input.js +deleted file mode 100644 +index fe81609..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/hmd-input.js ++++ /dev/null +@@ -1,9 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { EventHMD } from '@cocos/engine/cocos/input/types'; +-import { InputSourcePosition, InputSourceOrientation } from '../input-source.js'; +-import { Quat, Vec3 } from '@cocos/engine/cocos/core/math'; +-import legacyCC from '@cocos/engine/predefine'; +- +-var Pose;(function(Pose){Pose[Pose["VIEW_LEFT"]=0]="VIEW_LEFT";Pose[Pose["VIEW_RIGHT"]=3]="VIEW_RIGHT";Pose[Pose["HEAD_MIDDLE"]=6]="HEAD_MIDDLE";})(Pose||(Pose={}));class HMDInputDevice{get viewLeftPosition(){return this._ccprivate$_viewLeftPosition}get viewLeftOrientation(){return this._ccprivate$_viewLeftOrientation}get viewRightPosition(){return this._ccprivate$_viewRightPosition}get viewRightOrientation(){return this._ccprivate$_viewRightOrientation}get headMiddlePosition(){return this._ccprivate$_headMiddlePosition}get headMiddleOrientation(){return this._ccprivate$_headMiddleOrientation}_ccprivate$_eventTarget=new EventTarget;_ccprivate$_intervalId=-1;_ccprivate$_webPoseState={[Pose.VIEW_LEFT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.VIEW_RIGHT]:{position:Vec3.ZERO,orientation:Quat.IDENTITY},[Pose.HEAD_MIDDLE]:{position:Vec3.ZERO,orientation:Quat.IDENTITY}};constructor(){this._ccprivate$_initInputSource();this._ccprivate$_registerEvent();}_ccprivate$_ensureDirectorDefined(){return new Promise(resolve=>{this._ccprivate$_intervalId=setInterval(()=>{if(legacyCC.director&&legacyCC.Director){clearInterval(this._ccprivate$_intervalId);this._ccprivate$_intervalId=-1;resolve();}},50);})}_ccprivate$_registerEvent(){this._ccprivate$_ensureDirectorDefined().then(()=>{legacyCC.director.on(legacyCC.Director.EVENT_BEGIN_FRAME,this._ccprivate$_scanHmd,this);}).catch(e=>{});}_ccprivate$_scanHmd(){const infoList=globalThis.__globalXR?.webxrHmdPoseInfos;if(!infoList){return}for(let i=0;ithis._ccprivate$_webPoseState[Pose.VIEW_LEFT].position;this._ccprivate$_viewLeftOrientation=new InputSourceOrientation;this._ccprivate$_viewLeftOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.VIEW_LEFT].orientation;this._ccprivate$_viewRightPosition=new InputSourcePosition;this._ccprivate$_viewRightPosition.getValue=()=>this._ccprivate$_webPoseState[Pose.VIEW_RIGHT].position;this._ccprivate$_viewRightOrientation=new InputSourceOrientation;this._ccprivate$_viewRightOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.VIEW_RIGHT].orientation;this._ccprivate$_headMiddlePosition=new InputSourcePosition;this._ccprivate$_headMiddlePosition.getValue=()=>this._ccprivate$_webPoseState[Pose.HEAD_MIDDLE].position;this._ccprivate$_headMiddleOrientation=new InputSourceOrientation;this._ccprivate$_headMiddleOrientation.getValue=()=>this._ccprivate$_webPoseState[Pose.HEAD_MIDDLE].orientation;}} +- +-export { HMDInputDevice }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/index.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/index.d.ts +index 61ba7b3..0ac7b57 100644 +--- a/node_modules/@cocos/engine-pal/dist/input/web/index.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/input/web/index.d.ts +@@ -1,8 +1,19 @@ +-export * from './accelerometer-input'; +-export * from './gamepad-input'; +-export * from './handle-input'; +-export * from './hmd-input'; +-export * from './handheld-input'; +-export * from './keyboard-input'; +-export * from './mouse-input'; +-export * from './touch-input'; ++import { BaseInputEvent } from 'pal/input'; ++import { AccelerometerInputSource } from './accelerometer'; ++import { InputBox } from './input-box'; ++import { KeyboardInputSource } from './keyboard'; ++import { MouseInputSource } from './mouse'; ++import { TouchInputSource } from './touch'; ++export declare class Input { ++ _touch: TouchInputSource; ++ _mouse: MouseInputSource; ++ _keyboard: KeyboardInputSource; ++ _accelerometer: AccelerometerInputSource; ++ _inputBox: InputBox; ++ private _inputEventList; ++ constructor(); ++ private _registerEvent; ++ private _pushEvent; ++ pollEvent(): BaseInputEvent | undefined; ++} ++export declare const input: Input; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/index.js b/node_modules/@cocos/engine-pal/dist/input/web/index.js +index 548fb01..b1fcfe4 100644 +--- a/node_modules/@cocos/engine-pal/dist/input/web/index.js ++++ b/node_modules/@cocos/engine-pal/dist/input/web/index.js +@@ -1,8 +1,9 @@ +-export { AccelerometerInputSource } from './accelerometer-input.js'; +-export { GamepadInputDevice } from './gamepad-input.js'; +-export { HandleInputDevice, KeyEventType } from './handle-input.js'; +-export { HMDInputDevice } from './hmd-input.js'; +-export { HandheldInputDevice } from './handheld-input.js'; +-export { KeyboardInputSource } from './keyboard-input.js'; +-export { MouseInputSource } from './mouse-input.js'; +-export { TouchInputSource } from './touch-input.js'; ++import { AccelerometerInputSource } from './accelerometer.js'; ++import { InputBox } from './input-box.js'; ++import { KeyboardInputSource } from './keyboard.js'; ++import { MouseInputSource } from './mouse.js'; ++import { TouchInputSource } from './touch.js'; ++ ++class Input{_touch=new TouchInputSource;_mouse=new MouseInputSource;_keyboard=new KeyboardInputSource;_accelerometer=new AccelerometerInputSource;_inputBox=new InputBox;_ccprivate$_inputEventList=[];constructor(){this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){}_ccprivate$_pushEvent(inputEvent){this._ccprivate$_inputEventList.push(inputEvent);}pollEvent(){return this._ccprivate$_inputEventList.shift()}}const input=new Input; ++ ++export { Input, input }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/input-box.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/input-box.d.ts +new file mode 100644 +index 0000000..34267d5 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/input-box.d.ts +@@ -0,0 +1,10 @@ ++export declare class InputBox { ++ support: boolean; ++ constructor(); ++ show(): Promise; ++ hide(): Promise; ++ onChange(): void; ++ onComplete(): void; ++ offChange(): void; ++ offComplete(): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/input-box.js b/node_modules/@cocos/engine-pal/dist/input/web/input-box.js +new file mode 100644 +index 0000000..f682450 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/input-box.js +@@ -0,0 +1,3 @@ ++class InputBox{support;constructor(){this.support=true;}show(){throw new Error("Method not implemented.")}hide(){throw new Error("Method not implemented.")}onChange(){throw new Error("Method not implemented.")}onComplete(){throw new Error("Method not implemented.")}offChange(){throw new Error("Method not implemented.")}offComplete(){throw new Error("Method not implemented.")}} ++ ++export { InputBox }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/keyboard-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/keyboard-input.d.ts +deleted file mode 100644 +index c8619a1..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/keyboard-input.d.ts ++++ /dev/null +@@ -1,13 +0,0 @@ +-import { KeyboardCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class KeyboardInputSource { +- private _eventTarget; +- constructor(); +- dispatchKeyboardDownEvent(nativeKeyboardEvent: KeyboardEvent): void; +- dispatchKeyboardUpEvent(nativeKeyboardEvent: KeyboardEvent): void; +- on(eventType: InputEventType, callback: KeyboardCallback, target?: any): void; +- private _registerEvent; +- private _getInputEvent; +- private _handleKeyboardDown; +- private _handleKeyboardUp; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/keyboard-input.js b/node_modules/@cocos/engine-pal/dist/input/web/keyboard-input.js +deleted file mode 100644 +index b7ac018..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/keyboard-input.js ++++ /dev/null +@@ -1,7 +0,0 @@ +-import { EventKeyboard } from '@cocos/engine/cocos/input/types'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { code2KeyCode } from '../keycodes.js'; +- +-function getKeyCode(code){return code2KeyCode[code]||0}class KeyboardInputSource{_ccprivate$_eventTarget=new EventTarget;constructor(){this._ccprivate$_registerEvent();}dispatchKeyboardDownEvent(nativeKeyboardEvent){this._ccprivate$_handleKeyboardDown(nativeKeyboardEvent);}dispatchKeyboardUpEvent(nativeKeyboardEvent){this._ccprivate$_handleKeyboardUp(nativeKeyboardEvent);}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_registerEvent(){const canvas=document.getElementById("GameCanvas");canvas?.addEventListener("keydown",this._ccprivate$_handleKeyboardDown.bind(this));canvas?.addEventListener("keyup",this._ccprivate$_handleKeyboardUp.bind(this));}_ccprivate$_getInputEvent(event,eventType){const keyCode=getKeyCode(event.code);const eventKeyboard=new EventKeyboard(keyCode,eventType);return eventKeyboard}_ccprivate$_handleKeyboardDown(event){event.stopPropagation();event.preventDefault();if(!event.repeat){const keyDownInputEvent=this._ccprivate$_getInputEvent(event,"keydown");this._ccprivate$_eventTarget.emit("keydown",keyDownInputEvent);}else {const keyPressingInputEvent=this._ccprivate$_getInputEvent(event,"key-pressing");this._ccprivate$_eventTarget.emit("key-pressing",keyPressingInputEvent);}}_ccprivate$_handleKeyboardUp(event){const inputEvent=this._ccprivate$_getInputEvent(event,"keyup");event.stopPropagation();event.preventDefault();this._ccprivate$_eventTarget.emit("keyup",inputEvent);}} +- +-export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/keyboard.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/keyboard.d.ts +new file mode 100644 +index 0000000..a07e1c9 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/keyboard.d.ts +@@ -0,0 +1,10 @@ ++import { KeyboardCallback } from 'pal/input'; ++export declare class KeyboardInputSource { ++ support: boolean; ++ private _eventTarget; ++ constructor(); ++ private _registerEvent; ++ private _createCallback; ++ onDown(cb: KeyboardCallback): void; ++ onUp(cb: KeyboardCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/keyboard.js b/node_modules/@cocos/engine-pal/dist/input/web/keyboard.js +new file mode 100644 +index 0000000..189677c +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/keyboard.js +@@ -0,0 +1,7 @@ ++import { system } from 'pal/system'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++ ++class KeyboardInputSource{support;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=!system.isMobile;this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){const canvas=document.getElementById("GameCanvas");canvas?.addEventListener("keydown",this._ccprivate$_createCallback(SystemEventType.KEY_DOWN));canvas?.addEventListener("keyup",this._ccprivate$_createCallback(SystemEventType.KEY_UP));}_ccprivate$_createCallback(eventType){return event=>{const inputEvent={type:eventType,code:event.keyCode,timestamp:performance.now()};event.stopPropagation();event.preventDefault();this._ccprivate$_eventTarget.emit(eventType,inputEvent);}}onDown(cb){this._ccprivate$_eventTarget.on(SystemEventType.KEY_DOWN,cb);}onUp(cb){this._ccprivate$_eventTarget.on(SystemEventType.KEY_UP,cb);}} ++ ++export { KeyboardInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/mouse-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/mouse-input.d.ts +deleted file mode 100644 +index c0a18d9..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/mouse-input.d.ts ++++ /dev/null +@@ -1,27 +0,0 @@ +-import { MouseCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class MouseInputSource { +- private _canvas?; +- private _eventTarget; +- private _pointLocked; +- private _isPressed; +- private _preMousePos; +- private _handleMouseDown; +- private _handleMouseMove; +- private _handleMouseUp; +- constructor(); +- dispatchMouseDownEvent(nativeMouseEvent: any): void; +- dispatchMouseMoveEvent(nativeMouseEvent: any): void; +- dispatchMouseUpEvent(nativeMouseEvent: any): void; +- dispatchScrollEvent(nativeMouseEvent: WheelEvent): void; +- on(eventType: InputEventType, callback: MouseCallback, target?: any): void; +- private _getCanvasRect; +- private _getLocation; +- private _registerEvent; +- private _registerPointerLockEvent; +- private _createCallback; +- private _handleMouseWheel; +- private _handleMouseLeave; +- private _handleMouseEnter; +- dispatchEventsInCache(): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/mouse-input.js b/node_modules/@cocos/engine-pal/dist/input/web/mouse-input.js +deleted file mode 100644 +index 48cfa2e..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/mouse-input.js ++++ /dev/null +@@ -1,17 +0,0 @@ +-import { TEST, EDITOR } from 'internal:constants'; +-import { systemInfo } from 'pal/system-info'; +-import { screenAdapter } from 'pal/screen-adapter'; +-import { EventMouse } from '@cocos/engine/cocos/input/types'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { Vec2, Rect } from '@cocos/engine/cocos/core/math'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; +- +-class MouseInputSource{_ccprivate$_canvas;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_pointLocked=false;_ccprivate$_isPressed=false;_ccprivate$_preMousePos=new Vec2;_ccprivate$_handleMouseDown;_ccprivate$_handleMouseMove;_ccprivate$_handleMouseUp;constructor(){if(systemInfo.hasFeature(Feature.EVENT_MOUSE)){this._ccprivate$_canvas=document.getElementById("GameCanvas");if(!this._ccprivate$_canvas&&!TEST&&!EDITOR){warn("failed to access canvas");}this._ccprivate$_handleMouseDown=this._ccprivate$_createCallback("mouse-down");this._ccprivate$_handleMouseMove=this._ccprivate$_createCallback("mouse-move");this._ccprivate$_handleMouseUp=this._ccprivate$_createCallback("mouse-up");if(!EDITOR){this._ccprivate$_registerEvent();}}}dispatchMouseDownEvent(nativeMouseEvent){this._ccprivate$_handleMouseDown(nativeMouseEvent);}dispatchMouseMoveEvent(nativeMouseEvent){this._ccprivate$_handleMouseMove(nativeMouseEvent);}dispatchMouseUpEvent(nativeMouseEvent){this._ccprivate$_handleMouseUp(nativeMouseEvent);}dispatchScrollEvent(nativeMouseEvent){this._ccprivate$_handleMouseWheel(nativeMouseEvent);}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}_ccprivate$_getCanvasRect(){const canvas=this._ccprivate$_canvas;const box=canvas?.getBoundingClientRect();if(box){return new Rect(box.x,box.y,box.width,box.height)}return new Rect(0,0,0,0)}_ccprivate$_getLocation(mouseEvent){const canvasRect=this._ccprivate$_getCanvasRect();const dpr=screenAdapter.devicePixelRatio;let x=this._ccprivate$_pointLocked?this._ccprivate$_preMousePos.x/dpr+mouseEvent.movementX:mouseEvent.clientX-canvasRect.x;let y=this._ccprivate$_pointLocked?this._ccprivate$_preMousePos.y/dpr-mouseEvent.movementY:canvasRect.y+canvasRect.height-mouseEvent.clientY;x*=dpr;y*=dpr;return new Vec2(x,y)}_ccprivate$_registerEvent(){window.addEventListener("mousedown",()=>{this._ccprivate$_isPressed=true;});this._ccprivate$_canvas?.addEventListener("mousedown",this._ccprivate$_handleMouseDown);this._ccprivate$_canvas?.addEventListener("mousemove",this._ccprivate$_handleMouseMove);window.addEventListener("mouseup",this._ccprivate$_handleMouseUp);this._ccprivate$_canvas?.addEventListener("mouseup",this._ccprivate$_handleMouseUp);this._ccprivate$_canvas?.addEventListener("wheel",this._ccprivate$_handleMouseWheel.bind(this));this._ccprivate$_registerPointerLockEvent();this._ccprivate$_canvas?.addEventListener("mouseleave",this._ccprivate$_handleMouseLeave.bind(this));this._ccprivate$_canvas?.addEventListener("mouseenter",this._ccprivate$_handleMouseEnter.bind(this));}_ccprivate$_registerPointerLockEvent(){const lockChangeAlert=()=>{const canvas=this._ccprivate$_canvas;if(document.pointerLockElement===canvas||document.mozPointerLockElement===canvas){this._ccprivate$_pointLocked=true;}else {this._ccprivate$_pointLocked=false;}};if("onpointerlockchange"in document){document.addEventListener("pointerlockchange",lockChangeAlert,false);}else if("onmozpointerlockchange"in document){document.addEventListener("mozpointerlockchange",lockChangeAlert,false);}}_ccprivate$_createCallback(eventType){return mouseEvent=>{const location=this._ccprivate$_getLocation(mouseEvent);const{button,buttons}=mouseEvent;let targetButton=button;switch(eventType){case "mouse-down":this._ccprivate$_canvas?.focus();this._ccprivate$_isPressed=true;break;case "mouse-up":this._ccprivate$_isPressed=false;break;case "mouse-move":if(1&buttons){targetButton=EventMouse.BUTTON_LEFT;}else if(2&buttons){targetButton=EventMouse.BUTTON_RIGHT;}else if(4&buttons){targetButton=EventMouse.BUTTON_MIDDLE;}else {targetButton=EventMouse.BUTTON_MISSING;}break;}const eventMouse=new EventMouse(eventType,false,this._ccprivate$_preMousePos);eventMouse.setLocation(location.x,location.y);eventMouse.setButton(targetButton);eventMouse.movementX=mouseEvent.movementX;eventMouse.movementY=mouseEvent.movementY;this._ccprivate$_preMousePos.set(location.x,location.y);mouseEvent.stopPropagation();if(mouseEvent.target===this._ccprivate$_canvas){mouseEvent.preventDefault();}this._ccprivate$_eventTarget.emit(eventType,eventMouse);}}_ccprivate$_handleMouseWheel(mouseEvent){const eventType="mouse-wheel";const location=this._ccprivate$_getLocation(mouseEvent);const button=mouseEvent.button;const eventMouse=new EventMouse(eventType,false,this._ccprivate$_preMousePos);eventMouse.setLocation(location.x,location.y);eventMouse.setButton(button);eventMouse.movementX=mouseEvent.movementX;eventMouse.movementY=mouseEvent.movementY;const wheelSensitivityFactor=5;eventMouse.setScrollData(mouseEvent.deltaX*wheelSensitivityFactor,-mouseEvent.deltaY*wheelSensitivityFactor);this._ccprivate$_preMousePos.set(location.x,location.y);mouseEvent.stopPropagation();if(mouseEvent.target===this._ccprivate$_canvas){mouseEvent.preventDefault();}this._ccprivate$_eventTarget.emit(eventType,eventMouse);}_ccprivate$_handleMouseLeave(mouseEvent){const eventType="mouse-leave-window";const eventMouse=new EventMouse(eventType,false);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}_ccprivate$_handleMouseEnter(mouseEvent){const eventType="mouse-enter-window";const eventMouse=new EventMouse(eventType,false);this._ccprivate$_eventTarget.emit(eventType,eventMouse);}dispatchEventsInCache(){}} +- +-export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/mouse.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/mouse.d.ts +new file mode 100644 +index 0000000..c6c9694 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/mouse.d.ts +@@ -0,0 +1,19 @@ ++import { MouseCallback, MouseWheelCallback } from 'pal/input'; ++export declare class MouseInputSource { ++ support: boolean; ++ private _canvas?; ++ private _eventTarget; ++ private _pointLocked; ++ private _isPressed; ++ private _preMousePos; ++ constructor(); ++ private _getCanvasRect; ++ private _getLocation; ++ private _registerEvent; ++ private _registerPointerLockEvent; ++ private _createCallback; ++ onDown(cb: MouseCallback): void; ++ onMove(cb: MouseCallback): void; ++ onUp(cb: MouseCallback): void; ++ onWheel(cb: MouseWheelCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/mouse.js b/node_modules/@cocos/engine-pal/dist/input/web/mouse.js +new file mode 100644 +index 0000000..e0616a9 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/mouse.js +@@ -0,0 +1,9 @@ ++import { EDITOR, DEBUG } from 'internal:constants'; ++import { system } from 'pal/system'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { Vec2, Rect } from '@cocos/engine/cocos/core/math'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++ ++class MouseInputSource{support;_ccprivate$_canvas;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_pointLocked=false;_ccprivate$_isPressed=false;_ccprivate$_preMousePos=new Vec2;constructor(){this.support=!system.isMobile&&!EDITOR;if(this.support){this._ccprivate$_canvas=document.getElementById("GameCanvas");if(!this._ccprivate$_canvas&&DEBUG){console.warn("failed to access canvas");}this._ccprivate$_registerEvent();}}_ccprivate$_getCanvasRect(){const canvas=this._ccprivate$_canvas;const box=canvas?.getBoundingClientRect();if(box){return new Rect(box.x,box.y,box.width,box.height)}return new Rect(0,0,0,0)}_ccprivate$_getLocation(event){return new Vec2(event.clientX,event.clientY)}_ccprivate$_registerEvent(){window.addEventListener("mousedown",()=>{this._ccprivate$_isPressed=true;});this._ccprivate$_canvas?.addEventListener("mousedown",this._ccprivate$_createCallback(SystemEventType.MOUSE_DOWN));this._ccprivate$_canvas?.addEventListener("mousemove",this._ccprivate$_createCallback(SystemEventType.MOUSE_MOVE));window.addEventListener("mouseup",this._ccprivate$_createCallback(SystemEventType.MOUSE_UP));this._ccprivate$_canvas?.addEventListener("mouseup",this._ccprivate$_createCallback(SystemEventType.MOUSE_UP));this._ccprivate$_canvas?.addEventListener("wheel",event=>{const canvasRect=this._ccprivate$_getCanvasRect();const location=this._ccprivate$_getLocation(event);const wheelSensitivityFactor=5;const inputEvent={type:SystemEventType.MOUSE_WHEEL,x:location.x-canvasRect.x,y:canvasRect.y+canvasRect.height-location.y,button:event.button,deltaX:event.deltaX*wheelSensitivityFactor,deltaY:-event.deltaY*wheelSensitivityFactor,timestamp:performance.now(),movementX:event.movementX,movementY:event.movementY};event.stopPropagation();event.preventDefault();this._ccprivate$_eventTarget.emit(SystemEventType.MOUSE_WHEEL,inputEvent);});this._ccprivate$_registerPointerLockEvent();}_ccprivate$_registerPointerLockEvent(){const lockChangeAlert=()=>{const canvas=this._ccprivate$_canvas;if(document.pointerLockElement===canvas||document.mozPointerLockElement===canvas){this._ccprivate$_pointLocked=true;}else {this._ccprivate$_pointLocked=false;}};if("onpointerlockchange"in document){document.addEventListener("pointerlockchange",lockChangeAlert,false);}else if("onmozpointerlockchange"in document){document.addEventListener("mozpointerlockchange",lockChangeAlert,false);}}_ccprivate$_createCallback(eventType){return event=>{const canvasRect=this._ccprivate$_getCanvasRect();const location=this._ccprivate$_getLocation(event);let button=event.button;switch(event.type){case "mousedown":this._ccprivate$_canvas?.focus();this._ccprivate$_isPressed=true;break;case "mouseup":this._ccprivate$_isPressed=false;break;case "mousemove":if(!this._ccprivate$_isPressed){button=-1;}break;}const inputEvent={type:eventType,x:this._ccprivate$_pointLocked?this._ccprivate$_preMousePos.x+event.movementX:location.x-canvasRect.x,y:this._ccprivate$_pointLocked?this._ccprivate$_preMousePos.y-event.movementY:canvasRect.y+canvasRect.height-location.y,button,timestamp:performance.now(),movementX:event.movementX,movementY:event.movementY};this._ccprivate$_preMousePos.set(inputEvent.x,inputEvent.y);event.stopPropagation();if(event.target===this._ccprivate$_canvas){event.preventDefault();}this._ccprivate$_eventTarget.emit(eventType,inputEvent);}}onDown(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_DOWN,cb);}onMove(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_MOVE,cb);}onUp(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_UP,cb);}onWheel(cb){this._ccprivate$_eventTarget.on(SystemEventType.MOUSE_WHEEL,cb);}} ++ ++export { MouseInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/touch-input.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/touch-input.d.ts +deleted file mode 100644 +index 7823aeb..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/touch-input.d.ts ++++ /dev/null +@@ -1,13 +0,0 @@ +-import { TouchCallback } from 'pal/input'; +-import { InputEventType } from '@cocos/engine/cocos/input/types/event-enum'; +-export declare class TouchInputSource { +- private _canvas?; +- private _eventTarget; +- constructor(); +- private _registerEvent; +- private _createCallback; +- private _getCanvasRect; +- private _getLocation; +- on(eventType: InputEventType, callback: TouchCallback, target?: any): void; +- dispatchEventsInCache(): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/touch-input.js b/node_modules/@cocos/engine-pal/dist/input/web/touch-input.js +deleted file mode 100644 +index b8ba9c3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/input/web/touch-input.js ++++ /dev/null +@@ -1,18 +0,0 @@ +-import { TEST, EDITOR, USE_XR } from 'internal:constants'; +-import { systemInfo } from 'pal/system-info'; +-import { screenAdapter } from 'pal/screen-adapter'; +-import { Rect, Vec2 } from '@cocos/engine/cocos/core/math'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { EventTouch } from '@cocos/engine/cocos/input/types'; +-import { touchManager } from '../touch-manager.js'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import { Feature } from '../../system-info/enum-type/feature.js'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; +- +-class TouchInputSource{_ccprivate$_canvas;_ccprivate$_eventTarget=new EventTarget;constructor(){if(systemInfo.hasFeature(Feature.INPUT_TOUCH)){this._ccprivate$_canvas=document.getElementById("GameCanvas");if(!this._ccprivate$_canvas&&!TEST&&!EDITOR){warn("failed to access canvas");}if(!EDITOR){this._ccprivate$_registerEvent();}}}_ccprivate$_registerEvent(){this._ccprivate$_canvas?.addEventListener("touchstart",this._ccprivate$_createCallback("touch-start"));this._ccprivate$_canvas?.addEventListener("touchmove",this._ccprivate$_createCallback("touch-move"));this._ccprivate$_canvas?.addEventListener("touchend",this._ccprivate$_createCallback("touch-end"));this._ccprivate$_canvas?.addEventListener("touchcancel",this._ccprivate$_createCallback("touch-cancel"));}_ccprivate$_createCallback(eventType){return event=>{const canvasRect=this._ccprivate$_getCanvasRect();const handleTouches=[];const length=event.changedTouches.length;for(let i=0;i0){const eventTouch=new EventTouch(handleTouches,false,eventType,touchManager.getAllTouches());this._ccprivate$_eventTarget.emit(eventType,eventTouch);}}}_ccprivate$_getCanvasRect(){const canvas=this._ccprivate$_canvas;const box=canvas?.getBoundingClientRect();if(box){return new Rect(box.x,box.y,box.width,box.height)}return new Rect(0,0,0,0)}_ccprivate$_getLocation(touch,canvasRect){if(USE_XR&&globalThis.__globalXR&&globalThis.__globalXR.ar&&globalThis.__globalXR.ar.isWebXR()){return new Vec2(touch.clientX,touch.clientY)}let x=touch.clientX-canvasRect.x;let y=canvasRect.y+canvasRect.height-touch.clientY;if(screenAdapter.isFrameRotated){const tmp=x;x=canvasRect.height-y;y=tmp;}const dpr=screenAdapter.devicePixelRatio;x*=dpr;y*=dpr;return new Vec2(x,y)}on(eventType,callback,target){this._ccprivate$_eventTarget.on(eventType,callback,target);}dispatchEventsInCache(){}} +- +-export { TouchInputSource }; +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/touch.d.ts b/node_modules/@cocos/engine-pal/dist/input/web/touch.d.ts +new file mode 100644 +index 0000000..3e665fd +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/touch.d.ts +@@ -0,0 +1,15 @@ ++import { TouchCallback } from 'pal/input'; ++export declare class TouchInputSource { ++ support: boolean; ++ private _canvas?; ++ private _eventTarget; ++ constructor(); ++ private _registerEvent; ++ private _createCallback; ++ private _getCanvasRect; ++ private _getLocation; ++ onStart(cb: TouchCallback): void; ++ onMove(cb: TouchCallback): void; ++ onEnd(cb: TouchCallback): void; ++ onCancel(cb: TouchCallback): void; ++} +diff --git a/node_modules/@cocos/engine-pal/dist/input/web/touch.js b/node_modules/@cocos/engine-pal/dist/input/web/touch.js +new file mode 100644 +index 0000000..cf1ab92 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/input/web/touch.js +@@ -0,0 +1,10 @@ ++import { system } from 'pal/system'; ++import { DEBUG } from 'internal:constants'; ++import { Rect, Vec2 } from '@cocos/engine/cocos/core/math'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { legacyCC } from '@cocos/engine/cocos/core/global-exports'; ++import { SystemEventType } from '@cocos/engine/cocos/core/platform/event-manager/event-enum'; ++ ++class TouchInputSource{support;_ccprivate$_canvas;_ccprivate$_eventTarget=new EventTarget;constructor(){this.support=system.isMobile;if(this.support){this._ccprivate$_canvas=document.getElementById("GameCanvas");if(!this._ccprivate$_canvas&&DEBUG){console.warn("failed to access canvas");}this._ccprivate$_registerEvent();}}_ccprivate$_registerEvent(){this._ccprivate$_canvas?.addEventListener("touchstart",this._ccprivate$_createCallback(SystemEventType.TOUCH_START));this._ccprivate$_canvas?.addEventListener("touchmove",this._ccprivate$_createCallback(SystemEventType.TOUCH_MOVE));this._ccprivate$_canvas?.addEventListener("touchend",this._ccprivate$_createCallback(SystemEventType.TOUCH_END));this._ccprivate$_canvas?.addEventListener("touchcancel",this._ccprivate$_createCallback(SystemEventType.TOUCH_CANCEL));}_ccprivate$_createCallback(eventType){return event=>{const canvasRect=this._ccprivate$_getCanvasRect();const touchDataList=[];const length=event.changedTouches.length;for(let i=0;i( +- * withImpl()); +- * ``` +- * +- * you will receive a compilation error +- * if your implementation module is not fulfil the interface module. +- * +- * @note This function should be easily tree-shaken. +- */ +-export declare function checkPalIntegrity(impl: T & Guard): void; +-/** +- * Utility function, see example of `checkPalIntegrity()`. +- * +- */ +-export declare function withImpl(): T & Guard; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/integrity-check.js b/node_modules/@cocos/engine-pal/dist/integrity-check.js +deleted file mode 100644 +index 6239cb5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/integrity-check.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-function checkPalIntegrity(impl){}function withImpl(){return 0} +- +-export { checkPalIntegrity, withImpl }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/alipay.js b/node_modules/@cocos/engine-pal/dist/minigame/alipay.js +index 2a076b0..01d029d 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/alipay.js ++++ b/node_modules/@cocos/engine-pal/dist/minigame/alipay.js +@@ -1,6 +1,6 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; +-import { cloneObject, createInnerAudioContextPolyfill } from '../utils.js'; ++import { Orientation } from '../system/enum-type/orientation.js'; ++import { cloneObject } from '../utils.js'; + +-const minigame={};cloneObject(minigame,my);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=window.navigator&&/AlipayIDE/.test(window.navigator.userAgent);minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});minigame.onTouchStart=function(cb){window.canvas.addEventListener("touchstart",res=>{cb&&cb(res);});};minigame.onTouchMove=function(cb){window.canvas.addEventListener("touchmove",res=>{cb&&cb(res);});};minigame.onTouchEnd=function(cb){window.canvas.addEventListener("touchend",res=>{cb&&cb(res);});};minigame.onTouchCancel=function(cb){window.canvas.addEventListener("touchcancel",res=>{cb&&cb(res);});};const polyfilledCreateInnerAudio=createInnerAudioContextPolyfill(my,{onPlay:true,onPause:true,onStop:false,onSeek:false},true);minigame.createInnerAudioContext=function(){const audio=polyfilledCreateInnerAudio();if(audio.onCanPlay){audio.onCanplay=audio.onCanPlay.bind(audio);delete audio.onCanPlay;}if(audio.offCanPlay){audio.offCanplay=audio.offCanPlay.bind(audio);delete audio.offCanPlay;}return audio};let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){my.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){my.onAccelerometerChange(_accelerometerCb);}else {console.error("minigame.onAccelerometerChange() should be invoked before minigame.startAccelerometer() on alipay platform");}};minigame.stopAccelerometer=function(res){minigame.offAccelerometerChange();};minigame.getSafeArea=function(){if(typeof minigame.getWindowInfo==="function"){const windowInfo=minigame.getWindowInfo();return windowInfo.safeArea}console.warn("getSafeArea is not supported on this platform");const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.windowHeight,right:systemInfo.windowWidth,width:systemInfo.windowWidth,height:systemInfo.windowHeight}}; ++const minigame={};cloneObject(minigame,my);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=window.navigator&&/AlipayIDE/.test(window.navigator.userAgent);minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});minigame.onTouchStart=function(cb){window.canvas.addEventListener("touchstart",res=>{cb&&cb(res);});};minigame.onTouchMove=function(cb){window.canvas.addEventListener("touchmove",res=>{cb&&cb(res);});};minigame.onTouchEnd=function(cb){window.canvas.addEventListener("touchend",res=>{cb&&cb(res);});};minigame.onTouchCancel=function(cb){window.canvas.addEventListener("touchcancel",res=>{cb&&cb(res);});};minigame.createInnerAudioContext=function(){const audio=my.createInnerAudioContext();audio.onCanplay=audio.onCanPlay.bind(audio);audio.offCanplay=audio.offCanPlay.bind(audio);delete audio.onCanPlay;delete audio.offCanPlay;return audio};minigame.loadFont=function(url){return "Arial"};let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){my.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){my.onAccelerometerChange(_accelerometerCb);}else {console.error("minigame.onAccelerometerChange() should be invoked before minigame.startAccelerometer() on alipay platform");}};minigame.stopAccelerometer=function(res){minigame.offAccelerometerChange();};minigame.getSafeArea=function(){console.warn("getSafeArea is not supported on this platform");if(minigame.getSystemInfoSync){const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight}}return {top:0,left:0,bottom:0,right:0,width:0,height:0}}; + + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/baidu.js b/node_modules/@cocos/engine-pal/dist/minigame/baidu.js +index 032f808..5857231 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/baidu.js ++++ b/node_modules/@cocos/engine-pal/dist/minigame/baidu.js +@@ -1,6 +1,6 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; ++import { Orientation } from '../system/enum-type/orientation.js'; + import { cloneObject, createInnerAudioContextPolyfill } from '../utils.js'; + +-const minigame={};cloneObject(minigame,swan);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;swan.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _customAccelerometerCb;let _innerAccelerometerCb;minigame.onAccelerometerChange=function(cb){if(!_innerAccelerometerCb){_innerAccelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};_customAccelerometerCb?.(resClone);};swan.onAccelerometerChange(_innerAccelerometerCb);swan.stopAccelerometer({});}_customAccelerometerCb=cb;};minigame.offAccelerometerChange=function(cb){_customAccelerometerCb=undefined;};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(swan,{onPlay:true,onPause:true,onStop:true,onSeek:false});minigame.getSafeArea=function(){console.warn("getSafeArea is not supported on this platform");const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight}}; ++const minigame={};cloneObject(minigame,swan);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;swan.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){swan.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){swan.onAccelerometerChange(_accelerometerCb);}swan.startAccelerometer(res);};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(swan,{onPlay:true,onPause:true,onStop:true,onSeek:false});minigame.getSafeArea=function(){console.warn("getSafeArea is not supported on this platform");if(minigame.getSystemInfoSync){const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight}}return {top:0,left:0,bottom:0,right:0,width:0,height:0}}; + + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/bytedance.js b/node_modules/@cocos/engine-pal/dist/minigame/bytedance.js +index ddd3ec4..1111e9c 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/bytedance.js ++++ b/node_modules/@cocos/engine-pal/dist/minigame/bytedance.js +@@ -1,6 +1,6 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; ++import { Orientation } from '../system/enum-type/orientation.js'; + import { cloneObject, createInnerAudioContextPolyfill } from '../utils.js'; + +-const minigame={};cloneObject(minigame,tt);minigame.tt={};minigame.tt.getAudioContext=tt.getAudioContext?.bind(tt);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;tt.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){tt.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){tt.onAccelerometerChange(_accelerometerCb);}tt.startAccelerometer(res);};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(tt,{onPlay:true,onPause:true,onStop:true,onSeek:true});minigame.getSafeArea=function(){const locSystemInfo=tt.getSystemInfoSync();let{top,left,right}=locSystemInfo.safeArea;const{bottom,width,height}=locSystemInfo.safeArea;if(locSystemInfo.platform==="ios"&&!minigame.isDevTool&&minigame.isLandscape){const tmpTop=top;const tmpLeft=left;const tmpRight=right;top=tmpLeft;left=tmpTop;right=tmpRight-tmpTop;}return {top,left,bottom,right,width,height}}; ++const minigame={};cloneObject(minigame,tt);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;tt.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){tt.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){tt.onAccelerometerChange(_accelerometerCb);}tt.startAccelerometer(res);};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(tt,{onPlay:true,onPause:true,onStop:true,onSeek:true});minigame.getSafeArea=function(){let{top,left,bottom,right,width,height}=systemInfo.safeArea;if(systemInfo.platform==="ios"&&!minigame.isDevTool&&minigame.isLandscape){const tempData=[right,top,left,bottom,width,height];top=tempData[2];left=tempData[1];bottom=tempData[3];right=tempData[0];height=tempData[5];width=tempData[4];}return {top,left,bottom,right,width,height}}; + + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/non-minigame.d.ts b/node_modules/@cocos/engine-pal/dist/minigame/non-minigame.d.ts +index 7022ef5..861da17 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/non-minigame.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/minigame/non-minigame.d.ts +@@ -1,2 +1,3 @@ +-declare const minigame: any; ++import { IMiniGame } from 'pal/minigame'; ++declare const minigame: IMiniGame; + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/runtime.js b/node_modules/@cocos/engine-pal/dist/minigame/runtime.js +index a753c1b..b1b456f 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/runtime.js ++++ b/node_modules/@cocos/engine-pal/dist/minigame/runtime.js +@@ -1,7 +1,7 @@ + import { VIVO } from 'internal:constants'; +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; ++import { Orientation } from '../system/enum-type/orientation.js'; + import { cloneObject, createInnerAudioContextPolyfill } from '../utils.js'; + +-const minigame={};cloneObject(minigame,ral);minigame.ral=ral;const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";Object.defineProperty(minigame,"isLandscape",{get(){if(VIVO){return systemInfo.screenWidth>systemInfo.screenHeight}else {const locSysInfo=minigame.getSystemInfoSync();return locSysInfo.screenWidth>locSysInfo.screenHeight}}});const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _customAccelerometerCb;let _innerAccelerometerCb;let _needHandleAccelerometerCb=false;minigame.onAccelerometerChange=function(cb){if(!_innerAccelerometerCb){_innerAccelerometerCb=res=>{if(!_needHandleAccelerometerCb){return}let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};_customAccelerometerCb?.(resClone);};ral.onAccelerometerChange(_innerAccelerometerCb);}_needHandleAccelerometerCb=true;_customAccelerometerCb=cb;};minigame.offAccelerometerChange=function(cb){_needHandleAccelerometerCb=false;_customAccelerometerCb=undefined;};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(ral,{onPlay:true,onPause:true,onStop:true,onSeek:true});minigame.getSafeArea=function(){const locSystemInfo=ral.getSystemInfoSync();if(locSystemInfo.safeArea){return locSystemInfo.safeArea}else {console.warn("getSafeArea is not supported on this platform");const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight}}}; ++const minigame={};cloneObject(minigame,ral);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";Object.defineProperty(minigame,"isLandscape",{get(){if(VIVO){return systemInfo.screenWidth>systemInfo.screenHeight}else {const locSysInfo=minigame.getSystemInfoSync();return locSysInfo.screenWidth>locSysInfo.screenHeight}}});const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});minigame.onAccelerometerChange=function(cb){ral.onAccelerometerChange(res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);});};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(ral,{onPlay:true,onPause:true,onStop:true,onSeek:true});minigame.getSafeArea=function(){let{top,left,bottom,right,width,height}=systemInfo.safeArea;if(systemInfo.platform==="ios"&&!minigame.isDevTool&&minigame.isLandscape){const tempData=[right,top,left,bottom,width,height];top=systemInfo.screenHeight-tempData[0];left=tempData[1];bottom=systemInfo.screenHeight-tempData[2];right=tempData[3];height=tempData[4];width=tempData[5];}return {top,left,bottom,right,width,height}};if(VIVO){minigame.getSystemInfoSync=function(){const sys=ral.getSystemInfoSync();sys.windowWidth=sys.screenWidth;sys.windowHeight=sys.screenHeight;return sys};} + + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/taobao.d.ts b/node_modules/@cocos/engine-pal/dist/minigame/taobao.d.ts +deleted file mode 100644 +index 861da17..0000000 +--- a/node_modules/@cocos/engine-pal/dist/minigame/taobao.d.ts ++++ /dev/null +@@ -1,3 +0,0 @@ +-import { IMiniGame } from 'pal/minigame'; +-declare const minigame: IMiniGame; +-export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/taobao.js b/node_modules/@cocos/engine-pal/dist/minigame/taobao.js +deleted file mode 100644 +index 31c1b31..0000000 +--- a/node_modules/@cocos/engine-pal/dist/minigame/taobao.js ++++ /dev/null +@@ -1,12 +0,0 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; +-import { cloneObject, createInnerAudioContextPolyfill, versionCompare } from '../utils.js'; +-import '../system-info/enum-type/browser-type.js'; +-import { Language } from '../system-info/enum-type/language.js'; +-import '../system-info/enum-type/network-type.js'; +-import '../system-info/enum-type/operating-system.js'; +-import '../system-info/enum-type/platform.js'; +-import '../system-info/enum-type/feature.js'; +- +-const languageMap={Chinese:Language.CHINESE,cn:Language.CHINESE,zh_CN:Language.CHINESE};const minigame={};cloneObject(minigame,my);const systemInfo=minigame.getSystemInfoSync();systemInfo.language=languageMap[systemInfo.language]||systemInfo.language;minigame.isDevTool=my.isIDE;Object.defineProperty(minigame,"isLandscape",{get(){const locSystemInfo=minigame.getSystemInfoSync();if(typeof locSystemInfo.deviceOrientation==="string"){return locSystemInfo.deviceOrientation.startsWith("landscape")}else {return locSystemInfo.screenWidth>locSystemInfo.screenHeight}}});const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});function detectLandscapeSupport(){const locSysInfo=minigame.getSystemInfoSync();if(typeof locSysInfo.deviceOrientation==="string"&&locSysInfo.deviceOrientation.startsWith("landscape")){if(versionCompare(locSysInfo.version,"10.15.10")<0){console.warn("The current Taobao client version does not support Landscape, the minimum requirement is 10.15.10");}}}detectLandscapeSupport();const polyfilledCreateInnerAudio=createInnerAudioContextPolyfill(my,{onPlay:true,onPause:true,onStop:false,onSeek:false},true);minigame.createInnerAudioContext=function(){const audio=polyfilledCreateInnerAudio();return audio};minigame.loadFont=function(url){return "Arial"};let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;x=-res.y*orientationFactor;y=res.x*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){my.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){my.onAccelerometerChange(_accelerometerCb);}else {console.error("minigame.onAccelerometerChange() should be invoked before minigame.startAccelerometer() on taobao platform");}};minigame.stopAccelerometer=function(res){minigame.offAccelerometerChange();};minigame.getSafeArea=function(){const systemInfo=minigame.getSystemInfoSync();if(typeof systemInfo.safeArea!=="undefined"){return systemInfo.safeArea}console.warn("getSafeArea is not supported on this platform");return {top:0,left:0,bottom:systemInfo.windowHeight,right:systemInfo.windowWidth,width:systemInfo.windowWidth,height:systemInfo.windowHeight}};if(!my.isIDE){const locCanvas=$global.screencanvas;if(locCanvas){const originalGetContext=locCanvas.getContext.bind(locCanvas);locCanvas.getContext=function(name,param){if(typeof name==="string"&&typeof param==="object"&&name.startsWith("webgl")){Object.assign(param,{enable_flip_y_after_read_pixels:false});const gl=originalGetContext(name,param);adapterGL(gl);return gl}return originalGetContext(name,param)};}}let hasAdapter=false;function adapterGL(gl){if(hasAdapter){return}hasAdapter=true;if(!my.isIDE){gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false);if(my.getSystemInfoSync().platform.toLocaleLowerCase()==="ios"){const originalGetUniformLocation=gl.getUniformLocation.bind(gl);gl.getUniformLocation=function(program,name){const glLoc=originalGetUniformLocation(program,name);if(glLoc&&glLoc.ID===-1){return undefined}return originalGetUniformLocation(program,name)};}}} +- +-export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/taobao_minigame.d.ts b/node_modules/@cocos/engine-pal/dist/minigame/taobao_minigame.d.ts +deleted file mode 100644 +index 861da17..0000000 +--- a/node_modules/@cocos/engine-pal/dist/minigame/taobao_minigame.d.ts ++++ /dev/null +@@ -1,3 +0,0 @@ +-import { IMiniGame } from 'pal/minigame'; +-declare const minigame: IMiniGame; +-export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/taobao_minigame.js b/node_modules/@cocos/engine-pal/dist/minigame/taobao_minigame.js +deleted file mode 100644 +index 7999047..0000000 +--- a/node_modules/@cocos/engine-pal/dist/minigame/taobao_minigame.js ++++ /dev/null +@@ -1,12 +0,0 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; +-import { cloneObject, createInnerAudioContextPolyfill, versionCompare } from '../utils.js'; +-import '../system-info/enum-type/browser-type.js'; +-import { Language } from '../system-info/enum-type/language.js'; +-import '../system-info/enum-type/network-type.js'; +-import '../system-info/enum-type/operating-system.js'; +-import '../system-info/enum-type/platform.js'; +-import '../system-info/enum-type/feature.js'; +- +-const languageMap={Chinese:Language.CHINESE,cn:Language.CHINESE,zh_CN:Language.CHINESE};const minigame={};cloneObject(minigame,my);const systemInfo=minigame.getSystemInfoSync();systemInfo.language=languageMap[systemInfo.language]||systemInfo.language;minigame.isDevTool=my.isIDE;Object.defineProperty(minigame,"isLandscape",{get(){const windowInfo=my.getWindowInfoSync();return windowInfo.windowWidth>windowInfo.windowHeight}});const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});function detectLandscapeSupport(){const locSysInfo=minigame.getSystemInfoSync();if(typeof locSysInfo.deviceOrientation==="string"&&locSysInfo.deviceOrientation.startsWith("landscape")){if(versionCompare(locSysInfo.version,"10.15.10")<0){console.warn("The current Taobao client version does not support Landscape, the minimum requirement is 10.15.10");}}}detectLandscapeSupport();const polyfilledCreateInnerAudio=createInnerAudioContextPolyfill(my,{onPlay:true,onPause:true,onStop:false,onSeek:false},true);minigame.createInnerAudioContext=function(){const audio=polyfilledCreateInnerAudio();return audio};minigame.loadFont=function(url){return "Arial"};let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;x=-res.y*orientationFactor;y=res.x*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){my.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){my.onAccelerometerChange(_accelerometerCb);}else {console.error("minigame.onAccelerometerChange() should be invoked before minigame.startAccelerometer() on taobao platform");}};minigame.stopAccelerometer=function(res){minigame.offAccelerometerChange();};minigame.getSafeArea=function(){const systemInfo=my.getWindowInfoSync();if(typeof systemInfo.safeArea!=="undefined"){return systemInfo.safeArea}console.warn("getSafeArea is not supported on this platform");return {top:0,left:0,bottom:systemInfo.windowHeight,right:systemInfo.windowWidth,width:systemInfo.windowWidth,height:systemInfo.windowHeight}};if(!my.isIDE){const locCanvas=$global.screencanvas;if(locCanvas){const originalGetContext=locCanvas.getContext.bind(locCanvas);locCanvas.getContext=function(name,param){if(typeof name==="string"&&typeof param==="object"&&name.startsWith("webgl")){Object.assign(param,{enable_flip_y_after_read_pixels:false});const gl=originalGetContext(name,param);adapterGL(gl);return gl}return originalGetContext(name,param)};}}let hasAdapter=false;function adapterGL(gl){if(hasAdapter){return}hasAdapter=true;if(!my.isIDE){gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false);if(my.getSystemInfoSync().platform.toLocaleLowerCase()==="ios"){const originalGetUniformLocation=gl.getUniformLocation.bind(gl);gl.getUniformLocation=function(program,name){const glLoc=originalGetUniformLocation(program,name);if(glLoc&&glLoc.ID===-1){return undefined}return originalGetUniformLocation(program,name)};}}}minigame.loadSubpackage=my.loadSubPackage.bind(my); +- +-export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/wechat.js b/node_modules/@cocos/engine-pal/dist/minigame/wechat.js +index 4109ce6..bd0f2ad 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/wechat.js ++++ b/node_modules/@cocos/engine-pal/dist/minigame/wechat.js +@@ -1,6 +1,6 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; +-import { cloneObject, createInnerAudioContextPolyfill, versionCompare } from '../utils.js'; ++import { Orientation } from '../system/enum-type/orientation.js'; ++import { cloneObject } from '../utils.js'; + +-const minigame={};cloneObject(minigame,wx);minigame.wx={};minigame.wx.onKeyDown=wx.onKeyDown?.bind(wx);minigame.wx.onKeyUp=wx.onKeyUp?.bind(wx);minigame.wx.onMouseDown=wx.onMouseDown?.bind(wx);minigame.wx.onMouseMove=wx.onMouseMove?.bind(wx);minigame.wx.onMouseUp=wx.onMouseUp?.bind(wx);minigame.wx.onWheel=wx.onWheel?.bind(wx);if(minigame.getSystemSetting===undefined){minigame.getSystemSetting=function(){const systemInfo=minigame.getSystemInfoSync();return {bluetoothEnabled:systemInfo.bluetoothEnabled,locationEnabled:systemInfo.locationEnabled,wifiEnabled:systemInfo.wifiEnabled,deviceOrientation:systemInfo.deviceOrientation}};}if(minigame.getAppAuthorizeSetting===undefined){minigame.getAppAuthorizeSetting=function(){const systemInfo=minigame.getSystemInfoSync();return {albumAuthorized:systemInfo.albumAuthorized===undefined?undefined:systemInfo.albumAuthorized?"authorized":"denied",bluetoothAuthorized:systemInfo.bluetoothAuthorized===undefined?undefined:systemInfo.bluetoothAuthorized?"authorized":"denied",cameraAuthorized:systemInfo.cameraAuthorized===undefined?undefined:systemInfo.cameraAuthorized?"authorized":"denied",locationAuthorized:systemInfo.locationAuthorized===undefined?undefined:systemInfo.locationAuthorized?"authorized":"denied",locationReducedAccuracy:systemInfo.locationReducedAccuracy===undefined?undefined:systemInfo.locationReducedAccuracy,microphoneAuthorized:systemInfo.microphoneAuthorized===undefined?undefined:systemInfo.microphoneAuthorized?"authorized":"denied",notificationAuthorized:systemInfo.notificationAuthorized===undefined?undefined:systemInfo.notificationAuthorized?"authorized":"denied",notificationAlertAuthorized:systemInfo.notificationAlertAuthorized===undefined?undefined:systemInfo.notificationAlertAuthorized?"authorized":"denied",notificationBadgeAuthorized:systemInfo.notificationBadgeAuthorized===undefined?undefined:systemInfo.notificationBadgeAuthorized?"authorized":"denied",notificationSoundAuthorized:systemInfo.notificationSoundAuthorized===undefined?undefined:systemInfo.notificationSoundAuthorized?"authorized":"denied",phoneCalendarAuthorized:systemInfo.phoneCalendarAuthorized===undefined?undefined:systemInfo.phoneCalendarAuthorized?"authorized":"denied"}};}if(minigame.getDeviceInfo===undefined){minigame.getDeviceInfo=function(){const systemInfo=minigame.getSystemInfoSync();return {abi:systemInfo.abi,deviceAbi:systemInfo.deviceAbi,benchmarkLevel:systemInfo.benchmarkLevel,brand:systemInfo.brand,model:systemInfo.model,system:systemInfo.system,platform:systemInfo.platform,cpuType:systemInfo.cpuType,memorySize:systemInfo.memorySize}};}if(minigame.getWindowInfo===undefined){minigame.getWindowInfo=function(){const systemInfo=minigame.getSystemInfoSync();return {pixelRatio:systemInfo.pixelRatio,screenWidth:systemInfo.screenWidth,screenHeight:systemInfo.screenHeight,windowWidth:systemInfo.windowWidth,windowHeight:systemInfo.windowHeight,statusBarHeight:systemInfo.statusBarHeight,safeArea:systemInfo.safeArea,screenTop:systemInfo.screenTop}};}if(minigame.getAppBaseInfo===undefined){minigame.getAppBaseInfo=function(){const systemInfo=minigame.getSystemInfoSync();return {SDKVersion:systemInfo.SDKVersion,enableDebug:systemInfo.enableDebug,host:systemInfo.host,language:systemInfo.language,version:systemInfo.version,theme:systemInfo.theme,mode:systemInfo.mode,fontSizeScaleFactor:systemInfo.fontSizeScaleFactor,fontSizeSetting:systemInfo.fontSizeSetting}};}const devideInfo=minigame.getDeviceInfo();minigame.isDevTool=devideInfo.platform==="devtools";Object.defineProperty(minigame,"isLandscape",{get(){const locSystemInfo=wx.getSystemInfoSync();if(typeof locSystemInfo.deviceOrientation==="string"){return locSystemInfo.deviceOrientation.startsWith("landscape")}else {return locSystemInfo.screenWidth>locSystemInfo.screenHeight}}});let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;if(devideInfo.platform.toLocaleLowerCase()!=="android"){wx.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});}Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){wx.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){wx.onAccelerometerChange(_accelerometerCb);}wx.startAccelerometer(res);};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(wx,{onPlay:true,onPause:true,onStop:true,onSeek:false},true);minigame.getSafeArea=function(){const windowInfo=minigame.getWindowInfo();let safeArea=windowInfo.safeArea;if(!safeArea){safeArea={left:0,top:0,bottom:windowInfo.screenHeight,right:windowInfo.screenWidth,width:windowInfo.screenWidth,height:windowInfo.screenHeight};}return safeArea};const appBaseInfo=minigame.getAppBaseInfo();if(devideInfo.platform==="windows"&&versionCompare(appBaseInfo.SDKVersion,"2.16.0")<0){const locCanvas=canvas;if(locCanvas){const webglRC=locCanvas.getContext("webgl");const originalUseProgram=webglRC.useProgram.bind(webglRC);webglRC.useProgram=function(program){if(program){originalUseProgram(program);}};}} ++const minigame={};cloneObject(minigame,wx);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";Object.defineProperty(minigame,"isLandscape",{get(){return systemInfo.deviceOrientation?systemInfo.deviceOrientation==="landscape":systemInfo.screenWidth>systemInfo.screenHeight}});let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;if(systemInfo.platform.toLocaleLowerCase()!=="android"){wx.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});}Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _accelerometerCb;minigame.onAccelerometerChange=function(cb){minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=function(cb){if(_accelerometerCb){wx.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=function(res){if(_accelerometerCb){wx.onAccelerometerChange(_accelerometerCb);}wx.startAccelerometer(res);};minigame.createInnerAudioContext=function(){const audioContext=wx.createInnerAudioContext();const originalPlay=audioContext.play;let _onPlayCB=null;Object.defineProperty(audioContext,"onPlay",{value(cb){_onPlayCB=cb;}});Object.defineProperty(audioContext,"play",{value(){originalPlay.call(audioContext);if(_onPlayCB){setTimeout(_onPlayCB,0);}}});const originalPause=audioContext.pause;let _onPauseCB=null;Object.defineProperty(audioContext,"onPause",{value(cb){_onPauseCB=cb;}});Object.defineProperty(audioContext,"pause",{value(){originalPause.call(audioContext);if(_onPauseCB){setTimeout(_onPauseCB,0);}}});const originalStop=audioContext.stop;let _onStopCB=null;Object.defineProperty(audioContext,"onStop",{value(cb){_onStopCB=cb;}});Object.defineProperty(audioContext,"stop",{value(){originalStop.call(audioContext);if(_onStopCB){setTimeout(_onStopCB,0);}}});return audioContext};minigame.getSafeArea=function(){let{top,left,bottom,right,width,height}=systemInfo.safeArea;if(systemInfo.platform==="ios"&&!minigame.isDevTool&&minigame.isLandscape){const tempData=[right,top,left,bottom,width,height];top=systemInfo.screenHeight-tempData[0];left=tempData[1];bottom=systemInfo.screenHeight-tempData[2];right=tempData[3];height=tempData[4];width=tempData[5];}return {top,left,bottom,right,width,height}}; + + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/wechat_mini_program.d.ts b/node_modules/@cocos/engine-pal/dist/minigame/wechat_mini_program.d.ts +deleted file mode 100644 +index 861da17..0000000 +--- a/node_modules/@cocos/engine-pal/dist/minigame/wechat_mini_program.d.ts ++++ /dev/null +@@ -1,3 +0,0 @@ +-import { IMiniGame } from 'pal/minigame'; +-declare const minigame: IMiniGame; +-export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/wechat_mini_program.js b/node_modules/@cocos/engine-pal/dist/minigame/wechat_mini_program.js +deleted file mode 100644 +index 3f207a8..0000000 +--- a/node_modules/@cocos/engine-pal/dist/minigame/wechat_mini_program.js ++++ /dev/null +@@ -1,6 +0,0 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; +-import { cloneObject, createInnerAudioContextPolyfill, versionCompare } from '../utils.js'; +- +-const minigame={};cloneObject(minigame,wx);minigame.wx={};minigame.wx.onKeyDown=wx.onKeyDown?.bind(wx);minigame.wx.onKeyUp=wx.onKeyUp?.bind(wx);minigame.wx.onMouseDown=wx.onMouseDown?.bind(wx);minigame.wx.onMouseMove=wx.onMouseMove?.bind(wx);minigame.wx.onMouseUp=wx.onMouseUp?.bind(wx);minigame.wx.onWheel=wx.onWheel?.bind(wx);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=systemInfo.platform==="devtools";Object.defineProperty(minigame,"isLandscape",{get(){const locSystemInfo=wx.getSystemInfoSync();if(typeof locSystemInfo.deviceOrientation==="string"){return locSystemInfo.deviceOrientation.startsWith("landscape")}else {return locSystemInfo.screenWidth>locSystemInfo.screenHeight}}});let landscapeOrientation=Orientation.LANDSCAPE_RIGHT;if(systemInfo.platform.toLocaleLowerCase()!=="android"){wx.onDeviceOrientationChange(res=>{if(res.value==="landscape"){landscapeOrientation=Orientation.LANDSCAPE_RIGHT;}else if(res.value==="landscapeReverse"){landscapeOrientation=Orientation.LANDSCAPE_LEFT;}});}Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});let _accelerometerCb;minigame.onAccelerometerChange=cb=>{minigame.offAccelerometerChange();_accelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const resClone={x,y,z:res.z};cb(resClone);};};minigame.offAccelerometerChange=cb=>{if(_accelerometerCb){wx.offAccelerometerChange(_accelerometerCb);_accelerometerCb=undefined;}};minigame.startAccelerometer=res=>{if(_accelerometerCb){wx.onAccelerometerChange(_accelerometerCb);}wx.startAccelerometer(res);};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(wx,{onPlay:true,onPause:true,onStop:true,onSeek:false},true);minigame.getSafeArea=()=>{const locSystemInfo=wx.getSystemInfoSync();let safeArea=locSystemInfo.safeArea;if(!safeArea){safeArea={left:0,top:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight};}return safeArea};if(systemInfo.platform==="windows"&&versionCompare(systemInfo.SDKVersion,"2.16.0")<0){const locCanvas=canvas;if(locCanvas){const webglRC=locCanvas.getContext("webgl");const originalUseProgram=webglRC.useProgram.bind(webglRC);webglRC.useProgram=program=>{if(program){originalUseProgram(program);}};}}const gl=getApp().GameGlobal.canvas.getContext("webgl");const oldTexSubImage2D=gl.texSubImage2D;gl.texSubImage2D=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(args.length===7){const canvas=args[6];if(typeof canvas.type!=="undefined"&&canvas.type==="canvas"){const ctx=canvas.getContext("2d");const texOffsetX=args[2];const texOffsetY=args[3];const imgData=ctx.getImageData(texOffsetX,texOffsetY,canvas.width,canvas.height);oldTexSubImage2D.call(gl,args[0],args[1],texOffsetX,texOffsetY,canvas.width,canvas.height,args[4],args[5],new Uint8Array(imgData.data));}else {oldTexSubImage2D.apply(gl,args);}}else {oldTexSubImage2D.apply(gl,args);}}; +- +-export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/minigame/xiaomi.js b/node_modules/@cocos/engine-pal/dist/minigame/xiaomi.js +index db38717..44c6c2f 100644 +--- a/node_modules/@cocos/engine-pal/dist/minigame/xiaomi.js ++++ b/node_modules/@cocos/engine-pal/dist/minigame/xiaomi.js +@@ -1,7 +1,6 @@ +-import { Orientation } from '../screen-adapter/enum-type/orientation.js'; ++import { Orientation } from '../system/enum-type/orientation.js'; + import { cloneObject, createInnerAudioContextPolyfill } from '../utils.js'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; + +-const minigame={};cloneObject(minigame,qg);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=false;minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});minigame.onTouchStart=cb=>{window.canvas.ontouchstart=cb;};minigame.onTouchMove=cb=>{window.canvas.ontouchmove=cb;};minigame.onTouchEnd=cb=>{window.canvas.ontouchend=cb;};minigame.onTouchCancel=cb=>{window.canvas.ontouchcancel=cb;};let _customAccelerometerCb;let _innerAccelerometerCb;minigame.onAccelerometerChange=cb=>{if(!_innerAccelerometerCb){_innerAccelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const standardFactor=-0.1;x*=standardFactor;y*=standardFactor;const resClone={x,y,z:res.z};_customAccelerometerCb?.(resClone);};qg.onAccelerometerChange(_innerAccelerometerCb);}_customAccelerometerCb=cb;};minigame.offAccelerometerChange=cb=>{_customAccelerometerCb=undefined;};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(qg,{onPlay:true,onPause:true,onStop:true,onSeek:false});const originalCreateInnerAudioContext=minigame.createInnerAudioContext;minigame.createInnerAudioContext=()=>{const audioContext=originalCreateInnerAudioContext.call(minigame);const originalStop=audioContext.stop;Object.defineProperty(audioContext,"stop",{configurable:true,value(){audioContext.seek(0);originalStop.call(audioContext);}});return audioContext};minigame.getSafeArea=()=>{warn("getSafeArea is not supported on this platform");const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight}}; ++const minigame={};cloneObject(minigame,qg);const systemInfo=minigame.getSystemInfoSync();minigame.isDevTool=false;minigame.isLandscape=systemInfo.screenWidth>systemInfo.screenHeight;const landscapeOrientation=Orientation.LANDSCAPE_RIGHT;Object.defineProperty(minigame,"orientation",{get(){return minigame.isLandscape?landscapeOrientation:Orientation.PORTRAIT}});minigame.onTouchStart=function(cb){window.canvas.ontouchstart=cb;};minigame.onTouchMove=function(cb){window.canvas.ontouchmove=cb;};minigame.onTouchEnd=function(cb){window.canvas.ontouchend=cb;};minigame.onTouchCancel=function(cb){window.canvas.ontouchcancel=cb;};let _customAccelerometerCb;let _innerAccelerometerCb;minigame.onAccelerometerChange=function(cb){if(!_innerAccelerometerCb){_innerAccelerometerCb=res=>{let x=res.x;let y=res.y;if(minigame.isLandscape){const orientationFactor=landscapeOrientation===Orientation.LANDSCAPE_RIGHT?1:-1;const tmp=x;x=-y*orientationFactor;y=tmp*orientationFactor;}const standardFactor=-0.1;x*=standardFactor;y*=standardFactor;const resClone={x,y,z:res.z};_customAccelerometerCb?.(resClone);};qg.onAccelerometerChange(_innerAccelerometerCb);}_customAccelerometerCb=cb;};minigame.offAccelerometerChange=function(cb){_customAccelerometerCb=undefined;};minigame.createInnerAudioContext=createInnerAudioContextPolyfill(qg,{onPlay:true,onPause:true,onStop:true,onSeek:false});minigame.getSafeArea=function(){console.warn("getSafeArea is not supported on this platform");if(minigame.getSystemInfoSync){const systemInfo=minigame.getSystemInfoSync();return {top:0,left:0,bottom:systemInfo.screenHeight,right:systemInfo.screenWidth,width:systemInfo.screenWidth,height:systemInfo.screenHeight}}return {top:0,left:0,bottom:0,right:0,width:0,height:0}}; + + export { minigame }; +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-minigame.d.ts b/node_modules/@cocos/engine-pal/dist/pacer/pacer-minigame.d.ts +deleted file mode 100644 +index 8fed9ee..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-minigame.d.ts ++++ /dev/null +@@ -1,14 +0,0 @@ +-export declare class Pacer { +- private _rafHandle; +- private _onTick; +- private _updateCallback; +- private _targetFrameRate; +- private _isPlaying; +- constructor(); +- get targetFrameRate(): number; +- set targetFrameRate(val: number); +- set onTick(val: (() => void) | null); +- get onTick(): (() => void) | null; +- start(): void; +- stop(): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-minigame.js b/node_modules/@cocos/engine-pal/dist/pacer/pacer-minigame.js +deleted file mode 100644 +index 53c1d68..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-minigame.js ++++ /dev/null +@@ -1,6 +0,0 @@ +-import { minigame } from 'pal/minigame'; +-import { assertIsTrue } from '@cocos/engine/cocos/core/data/utils/asserts'; +- +-class Pacer{_ccprivate$_rafHandle=0;_ccprivate$_onTick=null;_ccprivate$_targetFrameRate=60;_ccprivate$_isPlaying=false;constructor(){this._ccprivate$_updateCallback=()=>{if(this._ccprivate$_isPlaying){this._ccprivate$_rafHandle=requestAnimationFrame(this._ccprivate$_updateCallback);}if(this._ccprivate$_onTick){this._ccprivate$_onTick();}};}get targetFrameRate(){return this._ccprivate$_targetFrameRate}set targetFrameRate(val){if(this._ccprivate$_targetFrameRate!==val){assertIsTrue(val>0);this._ccprivate$_targetFrameRate=val;minigame.setPreferredFramesPerSecond(this._ccprivate$_targetFrameRate);if(this._ccprivate$_isPlaying){this.stop();this.start();}}}set onTick(val){this._ccprivate$_onTick=val;}get onTick(){return this._ccprivate$_onTick}start(){if(this._ccprivate$_isPlaying)return;this._ccprivate$_rafHandle=requestAnimationFrame(this._ccprivate$_updateCallback);this._ccprivate$_isPlaying=true;}stop(){if(!this._ccprivate$_isPlaying)return;cancelAnimationFrame(this._ccprivate$_rafHandle);this._ccprivate$_rafHandle=0;this._ccprivate$_isPlaying=false;}} +- +-export { Pacer }; +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-native.d.ts b/node_modules/@cocos/engine-pal/dist/pacer/pacer-native.d.ts +deleted file mode 100644 +index a433cb1..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-native.d.ts ++++ /dev/null +@@ -1,14 +0,0 @@ +-export declare class Pacer { +- private _rafHandle; +- private _onTick; +- private _targetFrameRate; +- private _isPlaying; +- private _updateCallback; +- constructor(); +- get targetFrameRate(): number; +- set targetFrameRate(val: number); +- set onTick(val: (() => void) | null); +- get onTick(): (() => void) | null; +- start(): void; +- stop(): void; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-native.js b/node_modules/@cocos/engine-pal/dist/pacer/pacer-native.js +deleted file mode 100644 +index 08043f3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-native.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { assertIsTrue } from '@cocos/engine/cocos/core/data/utils/asserts'; +- +-class Pacer{_ccprivate$_rafHandle=0;_ccprivate$_onTick=null;_ccprivate$_targetFrameRate=60;_ccprivate$_isPlaying=false;constructor(){this._ccprivate$_updateCallback=()=>{if(this._ccprivate$_isPlaying){this._ccprivate$_rafHandle=requestAnimationFrame(this._ccprivate$_updateCallback);}if(this._ccprivate$_onTick){this._ccprivate$_onTick();}};}get targetFrameRate(){return this._ccprivate$_targetFrameRate}set targetFrameRate(val){if(this._ccprivate$_targetFrameRate!==val){assertIsTrue(val>0);this._ccprivate$_targetFrameRate=val;jsb.setPreferredFramesPerSecond(this._ccprivate$_targetFrameRate);if(this._ccprivate$_isPlaying){this.stop();this.start();}}}set onTick(val){this._ccprivate$_onTick=val;}get onTick(){return this._ccprivate$_onTick}start(){if(this._ccprivate$_isPlaying)return;this._ccprivate$_rafHandle=requestAnimationFrame(this._ccprivate$_updateCallback);this._ccprivate$_isPlaying=true;}stop(){if(!this._ccprivate$_isPlaying)return;cancelAnimationFrame(this._ccprivate$_rafHandle);this._ccprivate$_rafHandle=0;this._ccprivate$_isPlaying=false;}} +- +-export { Pacer }; +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-nodejs.d.ts b/node_modules/@cocos/engine-pal/dist/pacer/pacer-nodejs.d.ts +deleted file mode 100644 +index 2e005a8..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-nodejs.d.ts ++++ /dev/null +@@ -1,17 +0,0 @@ +-export declare class Pacer { +- private _stHandle; +- private _onTick; +- private _targetFrameRate; +- private _frameTime; +- private _startTime; +- private _isPlaying; +- constructor(); +- get targetFrameRate(): number; +- set targetFrameRate(val: number); +- set onTick(val: (() => void) | null); +- get onTick(): (() => void) | null; +- start(): void; +- stop(): void; +- private _stTime; +- private _ctTime; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-nodejs.js b/node_modules/@cocos/engine-pal/dist/pacer/pacer-nodejs.js +deleted file mode 100644 +index 8f3ed07..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-nodejs.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-class Pacer{_ccprivate$_stHandle=0;_ccprivate$_onTick=null;_ccprivate$_targetFrameRate=60;_ccprivate$_frameTime=0;_ccprivate$_startTime=0;_ccprivate$_isPlaying=false;constructor(){this._ccprivate$_isPlaying=false;}get targetFrameRate(){return this._ccprivate$_targetFrameRate}set targetFrameRate(val){if(this._ccprivate$_targetFrameRate!==val){this._ccprivate$_targetFrameRate=val;this._ccprivate$_frameTime=1000/this._ccprivate$_targetFrameRate;if(this._ccprivate$_isPlaying){this.stop();this.start();}}}set onTick(val){this._ccprivate$_onTick=val;}get onTick(){return this._ccprivate$_onTick}start(){if(this._ccprivate$_isPlaying)return;const updateCallback=()=>{if(this._ccprivate$_isPlaying){this._ccprivate$_stHandle=this._ccprivate$_stTime(updateCallback);}if(this._ccprivate$_onTick){this._ccprivate$_onTick();}};this._ccprivate$_startTime=performance.now();this._ccprivate$_stHandle=this._ccprivate$_stTime(updateCallback);this._ccprivate$_isPlaying=true;}stop(){if(!this._ccprivate$_isPlaying)return;this._ccprivate$_ctTime(this._ccprivate$_stHandle);this._ccprivate$_stHandle=0;this._ccprivate$_isPlaying=false;}_ccprivate$_stTime(callback){const currTime=performance.now();const elapseTime=Math.max(0,currTime-this._ccprivate$_startTime);const timeToCall=Math.max(0,this._ccprivate$_frameTime-elapseTime);return setTimeout(callback,timeToCall)}_ccprivate$_ctTime(id){clearTimeout(id);}} +- +-export { Pacer }; +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-web.d.ts b/node_modules/@cocos/engine-pal/dist/pacer/pacer-web.d.ts +deleted file mode 100644 +index f6b8b6e..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-web.d.ts ++++ /dev/null +@@ -1,22 +0,0 @@ +-export declare class Pacer { +- private _stHandle; +- private _onTick; +- private _targetFrameRate; +- private _frameTime; +- private _startTime; +- private _isPlaying; +- private _frameCount; +- private _callback; +- private _rAF; +- private _cAF; +- constructor(); +- get targetFrameRate(): number; +- set targetFrameRate(val: number); +- set onTick(val: (() => void) | null); +- get onTick(): (() => void) | null; +- start(): void; +- stop(): void; +- _handleRAF: (stamp: number) => void; +- private _stTime; +- private _ctTime; +-} +diff --git a/node_modules/@cocos/engine-pal/dist/pacer/pacer-web.js b/node_modules/@cocos/engine-pal/dist/pacer/pacer-web.js +deleted file mode 100644 +index 263a23e..0000000 +--- a/node_modules/@cocos/engine-pal/dist/pacer/pacer-web.js ++++ /dev/null +@@ -1,6 +0,0 @@ +-import { EDITOR, USE_XR } from 'internal:constants'; +-import { assertIsTrue } from '@cocos/engine/cocos/core/data/utils/asserts'; +- +-class Pacer{_ccprivate$_stHandle=0;_ccprivate$_onTick=null;_ccprivate$_targetFrameRate=60;_ccprivate$_frameTime=0;_ccprivate$_startTime=0;_ccprivate$_isPlaying=false;_ccprivate$_frameCount=0;_ccprivate$_callback=null;_ccprivate$_rAF;_ccprivate$_cAF;constructor(){this._ccprivate$_frameTime=1000/this._ccprivate$_targetFrameRate;this._ccprivate$_rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;this._ccprivate$_cAF=window.cancelAnimationFrame||window.cancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.msCancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.ocancelAnimationFrame;}get targetFrameRate(){return this._ccprivate$_targetFrameRate}set targetFrameRate(val){if(this._ccprivate$_targetFrameRate!==val){assertIsTrue(val>0);this._ccprivate$_targetFrameRate=val;this._ccprivate$_frameTime=1000/this._ccprivate$_targetFrameRate;if(this._ccprivate$_isPlaying){this.stop();this.start();}}}set onTick(val){this._ccprivate$_onTick=val;}get onTick(){return this._ccprivate$_onTick}start(){if(this._ccprivate$_isPlaying)return;const recordStartTime=EDITOR||this._ccprivate$_rAF===undefined||USE_XR&&globalThis.__globalXR?.isWebXR;const updateCallback=()=>{if(recordStartTime)this._ccprivate$_startTime=performance.now();if(this._ccprivate$_isPlaying){this._ccprivate$_stHandle=this._ccprivate$_stTime(updateCallback);}if(this._ccprivate$_onTick){this._ccprivate$_onTick();}};this._ccprivate$_startTime=performance.now();this._ccprivate$_stHandle=this._ccprivate$_stTime(updateCallback);this._ccprivate$_isPlaying=true;this._ccprivate$_frameCount=0;}stop(){if(!this._ccprivate$_isPlaying)return;this._ccprivate$_ctTime(this._ccprivate$_stHandle);this._ccprivate$_stHandle=0;this._ccprivate$_isPlaying=false;this._ccprivate$_frameCount=0;}_handleRAF=stamp=>{const currTime=performance.now();const elapseTime=currTime-this._ccprivate$_startTime;const elapseFrame=Math.floor(elapseTime/this._ccprivate$_frameTime);if(elapseFrame<0){this._ccprivate$_startTime=currTime;this._ccprivate$_frameCount=0;}if(elapseFrame void): void; +- requestFullScreen(): Promise; +- exitFullScreen(): Promise; +-} +-export declare const screenAdapter: ScreenAdapter; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/minigame/screen-adapter.js b/node_modules/@cocos/engine-pal/dist/screen-adapter/minigame/screen-adapter.js +deleted file mode 100644 +index 0e7d9ce..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/minigame/screen-adapter.js ++++ /dev/null +@@ -1,16 +0,0 @@ +-import { ALIPAY, WECHAT, BYTEDANCE, TAOBAO_MINIGAME, VIVO } from 'internal:constants'; +-import { minigame } from 'pal/minigame'; +-import { systemInfo } from 'pal/system-info'; +-import { warnID, getError } from '@cocos/engine/cocos/core/platform/debug'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import { OS } from '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +- +-let rotateLandscape=false;try{if(ALIPAY){if(systemInfo.os===OS.IOS&&!minigame.isDevTool){const fs=my.getFileSystemManager();const screenOrientation=JSON.parse(fs.readFileSync({filePath:"game.json",encoding:"utf8"}).data).screenOrientation;rotateLandscape=screenOrientation==="landscape";}}}catch(e){console.error(e);}class ScreenAdapter extends EventTarget{isFrameRotated=false;handleResizeEvent=true;get supportFullScreen(){return false}get isFullScreen(){return false}get devicePixelRatio(){if(WECHAT){const sysInfo=minigame.getWindowInfo();return sysInfo.pixelRatio}const sysInfo=minigame.getSystemInfoSync();return sysInfo.pixelRatio}get windowSize(){let sysInfo;if(WECHAT){sysInfo=minigame.getWindowInfo();}else {sysInfo=minigame.getSystemInfoSync();}const dpr=this.devicePixelRatio;let screenWidth=sysInfo.windowWidth;let screenHeight=sysInfo.windowHeight;if(BYTEDANCE){screenWidth=sysInfo.screenWidth;screenHeight=sysInfo.screenHeight;}else if(ALIPAY&&rotateLandscape&&screenWidth{this.emit("window-resize",this.windowSize.width,this.windowSize.height);});}init(options,cbToRebuildFrameBuffer){this._ccprivate$_cbToUpdateFrameBuffer=cbToRebuildFrameBuffer;this._ccprivate$_cbToUpdateFrameBuffer();}requestFullScreen(){return Promise.reject(new Error(getError(9008)))}exitFullScreen(){return Promise.reject(new Error(getError(9009)))}}const screenAdapter=new ScreenAdapter; +- +-export { screenAdapter }; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/native/screen-adapter.d.ts b/node_modules/@cocos/engine-pal/dist/screen-adapter/native/screen-adapter.d.ts +deleted file mode 100644 +index e1f22d5..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/native/screen-adapter.d.ts ++++ /dev/null +@@ -1,52 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import { Orientation } from '../enum-type'; +-export interface SafeAreaEdge { +- top: number; +- bottom: number; +- left: number; +- right: number; +-} +-export type ConfigOrientation = 'auto' | 'landscape' | 'portrait'; +-export interface IScreenOptions { +- /** +- * Orientation options from editor builder. +- */ +- configOrientation: ConfigOrientation; +- /** +- * Determine whether the game frame exact fits the screen. +- * Now it only works on Web platform. +- */ +- exactFitScreen: boolean; +- /** +- * Determine whether use headless renderer, which means do not support some screen operations. +- */ +- isHeadlessMode: boolean; +-} +-declare class ScreenAdapter extends EventTarget { +- isFrameRotated: boolean; +- handleResizeEvent: boolean; +- get supportFullScreen(): boolean; +- get isFullScreen(): boolean; +- get devicePixelRatio(): number; +- get windowSize(): Size; +- set windowSize(size: Size); +- get resolution(): Size; +- get resolutionScale(): number; +- set resolutionScale(v: number); +- get orientation(): Orientation; +- set orientation(value: Orientation); +- get safeAreaEdge(): SafeAreaEdge; +- get isProportionalToFrame(): boolean; +- set isProportionalToFrame(v: boolean); +- private _cbToUpdateFrameBuffer?; +- private _resolutionScale; +- private _isProportionalToFrame; +- constructor(); +- init(options: IScreenOptions, cbToRebuildFrameBuffer: () => void): void; +- requestFullScreen(): Promise; +- exitFullScreen(): Promise; +- private _registerEvent; +-} +-export declare const screenAdapter: ScreenAdapter; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/native/screen-adapter.js b/node_modules/@cocos/engine-pal/dist/screen-adapter/native/screen-adapter.js +deleted file mode 100644 +index 76febcb..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/native/screen-adapter.js ++++ /dev/null +@@ -1,9 +0,0 @@ +-import { EDITOR } from 'internal:constants'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import { Orientation } from '../enum-type/orientation.js'; +-import { warn, warnID } from '@cocos/engine/cocos/core/platform/debug'; +- +-const orientationMap={0:Orientation.PORTRAIT,"-90":Orientation.LANDSCAPE_LEFT,90:Orientation.LANDSCAPE_RIGHT,180:Orientation.PORTRAIT_UPSIDE_DOWN};class ScreenAdapter extends EventTarget{isFrameRotated=false;handleResizeEvent=true;get supportFullScreen(){return false}get isFullScreen(){return false}get devicePixelRatio(){return jsb.device.getDevicePixelRatio()||1}get windowSize(){const dpr=this.devicePixelRatio;const width=jsb.window.innerWidth;const height=jsb.window.innerHeight;const roundWidth=Math.round(width);const roundHeight=Math.round(height);return new Size(roundWidth*dpr,roundHeight*dpr)}set windowSize(size){warn("Setting window size is not supported yet.");}get resolution(){const windowSize=this.windowSize;const resolutionScale=this.resolutionScale;return new Size(windowSize.width*resolutionScale,windowSize.height*resolutionScale)}get resolutionScale(){return this._ccprivate$_resolutionScale}set resolutionScale(v){if(v===this._ccprivate$_resolutionScale){return}this._ccprivate$_resolutionScale=v;this._ccprivate$_cbToUpdateFrameBuffer?.();}get orientation(){return orientationMap[jsb.device.getDeviceOrientation()]}set orientation(value){warnID(1221);}get safeAreaEdge(){const nativeSafeArea=jsb.device.getSafeAreaEdge();const dpr=this.devicePixelRatio;const topEdge=nativeSafeArea.x*dpr;const bottomEdge=nativeSafeArea.z*dpr;const leftEdge=nativeSafeArea.y*dpr;const rightEdge=nativeSafeArea.w*dpr;return {top:topEdge,bottom:bottomEdge,left:leftEdge,right:rightEdge}}get isProportionalToFrame(){return this._ccprivate$_isProportionalToFrame}set isProportionalToFrame(v){}_ccprivate$_cbToUpdateFrameBuffer;_ccprivate$_resolutionScale=1;_ccprivate$_isProportionalToFrame=false;constructor(){super();this._ccprivate$_registerEvent();}init(options,cbToRebuildFrameBuffer){this._ccprivate$_cbToUpdateFrameBuffer=cbToRebuildFrameBuffer;if(!EDITOR){this._ccprivate$_cbToUpdateFrameBuffer();}}requestFullScreen(){return Promise.reject(new Error("request fullscreen has not been supported yet on this platform."))}exitFullScreen(){return Promise.reject(new Error("exit fullscreen has not been supported yet on this platform."))}_ccprivate$_registerEvent(){jsb.onResize=event=>{if(event.width===0||event.height===0)return;window.resize(event.width/this.devicePixelRatio,event.height/this.devicePixelRatio);this.emit("window-resize",event.width,event.height,event.windowId);};jsb.onOrientationChanged=event=>{this.emit("orientation-change",this.orientation);};}}const screenAdapter=new ScreenAdapter; +- +-export { screenAdapter }; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/nodejs/screen-adapter.d.ts b/node_modules/@cocos/engine-pal/dist/screen-adapter/nodejs/screen-adapter.d.ts +deleted file mode 100644 +index b7e883f..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/nodejs/screen-adapter.d.ts ++++ /dev/null +@@ -1,50 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import { Orientation } from '../enum-type'; +-export interface SafeAreaEdge { +- top: number; +- bottom: number; +- left: number; +- right: number; +-} +-export type ConfigOrientation = 'auto' | 'landscape' | 'portrait'; +-export interface IScreenOptions { +- /** +- * Orientation options from editor builder. +- */ +- configOrientation: ConfigOrientation; +- /** +- * Determine whether the game frame exact fits the screen. +- * Now it only works on Web platform. +- */ +- exactFitScreen: boolean; +- /** +- * Determine whether use headless renderer, which means do not support some screen operations. +- */ +- isHeadlessMode: boolean; +-} +-declare class ScreenAdapter extends EventTarget { +- isFrameRotated: boolean; +- handleResizeEvent: boolean; +- get supportFullScreen(): boolean; +- get isFullScreen(): boolean; +- get devicePixelRatio(): number; +- get windowSize(): Size; +- set windowSize(size: Size); +- get resolution(): Size; +- get resolutionScale(): number; +- set resolutionScale(v: number); +- get orientation(): Orientation; +- set orientation(value: Orientation); +- get safeAreaEdge(): SafeAreaEdge; +- get isProportionalToFrame(): boolean; +- set isProportionalToFrame(v: boolean); +- private _resolutionScale; +- private _isProportionalToFrame; +- constructor(); +- init(options: IScreenOptions, cbToRebuildFrameBuffer: () => void): void; +- requestFullScreen(): Promise; +- exitFullScreen(): Promise; +-} +-export declare const screenAdapter: ScreenAdapter; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/nodejs/screen-adapter.js b/node_modules/@cocos/engine-pal/dist/screen-adapter/nodejs/screen-adapter.js +deleted file mode 100644 +index d304255..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/nodejs/screen-adapter.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import { Orientation } from '../enum-type/orientation.js'; +-import { warn, warnID } from '@cocos/engine/cocos/core/platform/debug'; +- +-class ScreenAdapter extends EventTarget{isFrameRotated=false;handleResizeEvent=false;get supportFullScreen(){return false}get isFullScreen(){return false}get devicePixelRatio(){return 1}get windowSize(){return new Size(960,640)}set windowSize(size){warn("Setting window size is not supported yet.");}get resolution(){const windowSize=this.windowSize;const resolutionScale=this.resolutionScale;return new Size(windowSize.width*resolutionScale,windowSize.height*resolutionScale)}get resolutionScale(){return this._ccprivate$_resolutionScale}set resolutionScale(v){if(v===this._ccprivate$_resolutionScale){return}this._ccprivate$_resolutionScale=v;}get orientation(){return Orientation.PORTRAIT}set orientation(value){warnID(1221);}get safeAreaEdge(){return {top:0,bottom:0,left:0,right:0}}get isProportionalToFrame(){return this._ccprivate$_isProportionalToFrame}set isProportionalToFrame(v){}_ccprivate$_resolutionScale=1;_ccprivate$_isProportionalToFrame=false;constructor(){super();}init(options,cbToRebuildFrameBuffer){}requestFullScreen(){return Promise.reject(new Error("request fullscreen has not been supported yet on this platform."))}exitFullScreen(){return Promise.reject(new Error("exit fullscreen has not been supported yet on this platform."))}}const screenAdapter=new ScreenAdapter; +- +-export { screenAdapter }; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/web/screen-adapter.d.ts b/node_modules/@cocos/engine-pal/dist/screen-adapter/web/screen-adapter.d.ts +deleted file mode 100644 +index 1cc9e39..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/web/screen-adapter.d.ts ++++ /dev/null +@@ -1,61 +0,0 @@ +-import { IScreenOptions, SafeAreaEdge } from 'pal/screen-adapter'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import { Orientation } from '../enum-type'; +-declare class ScreenAdapter extends EventTarget { +- isFrameRotated: boolean; +- handleResizeEvent: boolean; +- get supportFullScreen(): boolean; +- get isFullScreen(): boolean; +- get devicePixelRatio(): number; +- get windowSize(): Size; +- set windowSize(size: Size); +- get resolution(): Size; +- get resolutionScale(): number; +- set resolutionScale(v: number); +- get orientation(): Orientation; +- set orientation(value: Orientation); +- private _updateFrame; +- get safeAreaEdge(): SafeAreaEdge; +- get isProportionalToFrame(): boolean; +- set isProportionalToFrame(v: boolean); +- private _gameFrame?; +- private _gameContainer?; +- private _gameCanvas?; +- private _isProportionalToFrame; +- private _cachedFrameStyle; +- private _cachedContainerStyle; +- private _cbToUpdateFrameBuffer?; +- private _supportFullScreen; +- private _touchEventName; +- private _onFullscreenChange?; +- private _onFullscreenError?; +- private _orientationChangeTimeoutId; +- private _cachedFrameSize; +- private _exactFitScreen; +- private _isHeadlessMode; +- private _fn; +- private _fnGroup; +- private get _windowSizeInCssPixels(); +- private get _windowType(); +- private _resolutionScale; +- private _orientation; +- private _orientationDevice; +- constructor(); +- init(options: IScreenOptions, cbToRebuildFrameBuffer: () => void): void; +- requestFullScreen(): Promise; +- exitFullScreen(): Promise; +- private _registerEvent; +- private _convertToSizeInCssPixels; +- /** +- * The frame size may be from screen size or an external editor options by setting screen.windowSize. +- * @param sizeInCssPixels you need to specify this size when the windowType is SubFrame. +- */ +- private _resizeFrame; +- private _getFullscreenTarget; +- private _doRequestFullScreen; +- private _updateFrameState; +- private _updateContainer; +-} +-export declare const screenAdapter: ScreenAdapter; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/screen-adapter/web/screen-adapter.js b/node_modules/@cocos/engine-pal/dist/screen-adapter/web/screen-adapter.js +deleted file mode 100644 +index eeb2875..0000000 +--- a/node_modules/@cocos/engine-pal/dist/screen-adapter/web/screen-adapter.js ++++ /dev/null +@@ -1,17 +0,0 @@ +-import { TEST, EDITOR } from 'internal:constants'; +-import { systemInfo } from 'pal/system-info'; +-import { warnID } from '@cocos/engine/cocos/core/platform/debug'; +-import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; +-import { Size } from '@cocos/engine/cocos/core/math'; +-import { Orientation } from '../enum-type/orientation.js'; +-import legacyCC from '@cocos/engine/predefine'; +-import '../../system-info/enum-type/browser-type.js'; +-import '../../system-info/enum-type/language.js'; +-import '../../system-info/enum-type/network-type.js'; +-import { OS } from '../../system-info/enum-type/operating-system.js'; +-import '../../system-info/enum-type/platform.js'; +-import '../../system-info/enum-type/feature.js'; +- +-const EVENT_TIMEOUT=EDITOR?5:200;const orientationMap={auto:Orientation.AUTO,landscape:Orientation.LANDSCAPE,portrait:Orientation.PORTRAIT};var WindowType;(function(WindowType){WindowType[WindowType["Unknown"]=0]="Unknown";WindowType[WindowType["SubFrame"]=1]="SubFrame";WindowType[WindowType["BrowserWindow"]=2]="BrowserWindow";WindowType[WindowType["Fullscreen"]=3]="Fullscreen";})(WindowType||(WindowType={}));class ScreenAdapter extends EventTarget{isFrameRotated=false;handleResizeEvent=true;get supportFullScreen(){return this._ccprivate$_supportFullScreen}get isFullScreen(){if(!this._ccprivate$_supportFullScreen){return false}return !!document[this._ccprivate$_fn.fullscreenElement]}get devicePixelRatio(){return Math.min(window.devicePixelRatio??1,2)}get windowSize(){const result=this._windowSizeInCssPixels;const dpr=this.devicePixelRatio;result.width*=dpr;result.height*=dpr;return result}set windowSize(size){if(this._windowType!==WindowType.SubFrame){warnID(9202);return}this._ccprivate$_resizeFrame(this._ccprivate$_convertToSizeInCssPixels(size));}get resolution(){const windowSize=this.windowSize;const resolutionScale=this.resolutionScale;return new Size(windowSize.width*resolutionScale,windowSize.height*resolutionScale)}get resolutionScale(){return this._ccprivate$_resolutionScale}set resolutionScale(v){if(v===this._ccprivate$_resolutionScale){return}this._ccprivate$_resolutionScale=v;this._ccprivate$_cbToUpdateFrameBuffer?.();}get orientation(){return this._ccprivate$_orientation}set orientation(value){if(this._ccprivate$_orientation===value){return}this._ccprivate$_orientation=value;this._ccprivate$_updateFrame();}_ccprivate$_updateFrame(){this._ccprivate$_updateFrameState();this._ccprivate$_resizeFrame();}get safeAreaEdge(){const dpr=this.devicePixelRatio;const _top=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--safe-top")||"0")*dpr;const _bottom=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--safe-bottom")||"0")*dpr;const _left=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--safe-left")||"0")*dpr;const _right=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--safe-right")||"0")*dpr;return {top:_top,bottom:_bottom,left:_left,right:_right}}get isProportionalToFrame(){return this._ccprivate$_isProportionalToFrame}set isProportionalToFrame(v){if(this._ccprivate$_isProportionalToFrame===v){return}this._ccprivate$_isProportionalToFrame=v;this._ccprivate$_updateContainer();}_ccprivate$_gameFrame;_ccprivate$_gameContainer;_ccprivate$_gameCanvas;_ccprivate$_isProportionalToFrame=false;_ccprivate$_cachedFrameStyle={width:"0px",height:"0px"};_ccprivate$_cachedContainerStyle={width:"0px",height:"0px"};_ccprivate$_cbToUpdateFrameBuffer;_ccprivate$_supportFullScreen=false;_ccprivate$_touchEventName;_ccprivate$_onFullscreenChange;_ccprivate$_onFullscreenError;_ccprivate$_orientationChangeTimeoutId=-1;_ccprivate$_cachedFrameSize=new Size(0,0);_ccprivate$_exactFitScreen=false;_ccprivate$_isHeadlessMode=false;_ccprivate$_fn={};_ccprivate$_fnGroup=[["requestFullscreen","exitFullscreen","fullscreenchange","fullscreenEnabled","fullscreenElement","fullscreenerror"],["requestFullScreen","exitFullScreen","fullScreenchange","fullScreenEnabled","fullScreenElement","fullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitfullscreenchange","webkitIsFullScreen","webkitCurrentFullScreenElement","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozFullScreen","mozFullScreenElement","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","MSFullscreenChange","msFullscreenEnabled","msFullscreenElement","msfullscreenerror"]];get _windowSizeInCssPixels(){if(TEST){return new Size(window.innerWidth,window.innerHeight)}if(this.isProportionalToFrame){if(!this._ccprivate$_gameContainer){warnID(9201);return new Size(0,0)}return new Size(this._ccprivate$_gameContainer.clientWidth,this._ccprivate$_gameContainer.clientHeight)}let fullscreenTarget;let width;let height;switch(this._windowType){case WindowType.SubFrame:if(!this._ccprivate$_gameFrame){warnID(9201);return new Size(0,0)}return new Size(this._ccprivate$_gameFrame.clientWidth,this._ccprivate$_gameFrame.clientHeight);case WindowType.Fullscreen:fullscreenTarget=this._ccprivate$_getFullscreenTarget();width=this.isFrameRotated?fullscreenTarget.clientHeight:fullscreenTarget.clientWidth;height=this.isFrameRotated?fullscreenTarget.clientWidth:fullscreenTarget.clientHeight;return new Size(width,height);case WindowType.BrowserWindow:width=this.isFrameRotated?window.innerHeight:window.innerWidth;height=this.isFrameRotated?window.innerWidth:window.innerHeight;return new Size(width,height);case WindowType.Unknown:default:return new Size(1,1)}}get _windowType(){if(this._ccprivate$_isHeadlessMode){return WindowType.Unknown}if(this.isFullScreen){return WindowType.Fullscreen}if(!this._ccprivate$_gameFrame){warnID(9201);return WindowType.Unknown}if(this._ccprivate$_exactFitScreen){return WindowType.BrowserWindow}return WindowType.SubFrame}_ccprivate$_resolutionScale=1;_ccprivate$_orientation=Orientation.AUTO;_ccprivate$_orientationDevice=Orientation.AUTO;constructor(){super();this._ccprivate$_gameFrame=document.getElementById("GameDiv");this._ccprivate$_gameContainer=document.getElementById("Cocos3dGameContainer");this._ccprivate$_gameCanvas=document.getElementById("GameCanvas");if(!TEST&&!EDITOR){if(!this._ccprivate$_gameFrame){this._ccprivate$_gameFrame=document.createElement("div");this._ccprivate$_gameFrame.setAttribute("id","GameDiv");this._ccprivate$_gameCanvas?.parentNode?.insertBefore(this._ccprivate$_gameFrame,this._ccprivate$_gameCanvas);this._ccprivate$_gameFrame.appendChild(this._ccprivate$_gameCanvas);}if(!this._ccprivate$_gameContainer){this._ccprivate$_gameContainer=document.createElement("div");this._ccprivate$_gameContainer.setAttribute("id","Cocos3dGameContainer");this._ccprivate$_gameCanvas?.parentNode?.insertBefore(this._ccprivate$_gameContainer,this._ccprivate$_gameCanvas);this._ccprivate$_gameContainer.appendChild(this._ccprivate$_gameCanvas);}}let fnList;const fnGroup=this._ccprivate$_fnGroup;for(let i=0;i{if(this.isFullScreen){resolve();return}this._ccprivate$_cachedFrameSize=this.windowSize;this._ccprivate$_doRequestFullScreen().then(()=>{resolve();}).catch(()=>{const fullscreenTarget=this._ccprivate$_getFullscreenTarget();if(!fullscreenTarget){reject(new Error("Cannot access fullscreen target"));return}fullscreenTarget.addEventListener(this._ccprivate$_touchEventName,()=>{this._ccprivate$_doRequestFullScreen().then(()=>{resolve();}).catch(reject);},{once:true,capture:true});});})}exitFullScreen(){return new Promise((resolve,reject)=>{const requestPromise=document[this._ccprivate$_fn.exitFullscreen]();if(window.Promise&&requestPromise instanceof Promise){requestPromise.then(()=>{this.windowSize=this._ccprivate$_cachedFrameSize;resolve();}).catch(reject);return}this.windowSize=this._ccprivate$_cachedFrameSize;resolve();})}_ccprivate$_registerEvent(){document.addEventListener(this._ccprivate$_fn.fullscreenerror,()=>{this._ccprivate$_onFullscreenError?.();});window.addEventListener("resize",()=>{this._ccprivate$_updateFrame();});const notifyOrientationChange=orientation=>{if(orientation===this._ccprivate$_orientationDevice){return}this._ccprivate$_orientationDevice=orientation;this._ccprivate$_updateFrame();this.emit("orientation-change",orientation);};const getOrientation=()=>{let tmpOrientation=Orientation.PORTRAIT;switch(window.orientation){case 0:tmpOrientation=Orientation.PORTRAIT;break;case 90:tmpOrientation=Orientation.LANDSCAPE_RIGHT;break;case -90:tmpOrientation=Orientation.LANDSCAPE_LEFT;break;case 180:tmpOrientation=Orientation.PORTRAIT_UPSIDE_DOWN;break;default:tmpOrientation=this._ccprivate$_orientationDevice;break}return tmpOrientation};let handleOrientationChange;const orientationChangeCallback=()=>{if(this._ccprivate$_orientationChangeTimeoutId!==-1){clearTimeout(this._ccprivate$_orientationChangeTimeoutId);}this._ccprivate$_orientationChangeTimeoutId=setTimeout(()=>{handleOrientationChange();},EVENT_TIMEOUT);};if(typeof window.matchMedia==="function"){const updateDPRChangeListener=()=>{const dpr=this.devicePixelRatio;const mediaQueryResolution=window.matchMedia(`(resolution: ${dpr}dppx)`);if(mediaQueryResolution.addEventListener){mediaQueryResolution.addEventListener("change",()=>{this.emit("window-resize",this.windowSize.width,this.windowSize.height);updateDPRChangeListener();},{once:true});}else if(mediaQueryResolution.addListener){mediaQueryResolution.addListener(()=>{this.emit("window-resize",this.windowSize.width,this.windowSize.height);});}};updateDPRChangeListener();const mediaQueryPortrait=window.matchMedia("(orientation: portrait)");const mediaQueryLandscape=window.matchMedia("(orientation: landscape)");const hasScreeOrientation=screen.orientation;handleOrientationChange=()=>{let tmpOrientation=this._ccprivate$_orientationDevice;if(mediaQueryPortrait.matches){tmpOrientation=Orientation.PORTRAIT;if(hasScreeOrientation){const orientationType=screen.orientation.type;if(orientationType==="portrait-primary"){tmpOrientation=Orientation.PORTRAIT;}else {tmpOrientation=Orientation.PORTRAIT_UPSIDE_DOWN;}}}else if(mediaQueryLandscape.matches){tmpOrientation=Orientation.LANDSCAPE;if(hasScreeOrientation){const orientationType=screen.orientation.type;if(orientationType==="landscape-primary"){tmpOrientation=Orientation.LANDSCAPE_LEFT;}else {tmpOrientation=Orientation.LANDSCAPE_RIGHT;}}}notifyOrientationChange(tmpOrientation);};if(mediaQueryPortrait.addEventListener){mediaQueryPortrait.addEventListener("change",orientationChangeCallback);mediaQueryLandscape.addEventListener("change",orientationChangeCallback);}else if(mediaQueryPortrait.addListener){mediaQueryPortrait.addListener(orientationChangeCallback);mediaQueryLandscape.addListener(orientationChangeCallback);}}else {handleOrientationChange=()=>{const tmpOrientation=getOrientation();notifyOrientationChange(tmpOrientation);};window.addEventListener("orientationchange",orientationChangeCallback);}document.addEventListener(this._ccprivate$_fn.fullscreenchange,()=>{this._ccprivate$_onFullscreenChange?.();this.emit("fullscreen-change",this.windowSize.width,this.windowSize.height);});}_ccprivate$_convertToSizeInCssPixels(size){const clonedSize=size.clone();const dpr=this.devicePixelRatio;clonedSize.width/=dpr;clonedSize.height/=dpr;return clonedSize}_ccprivate$_resizeFrame(sizeInCssPixels){if(!this._ccprivate$_gameFrame){return}this._ccprivate$_gameFrame.style.display="flex";this._ccprivate$_gameFrame.style["justify-content"]="center";this._ccprivate$_gameFrame.style["align-items"]="center";if(this._windowType===WindowType.SubFrame){if(!sizeInCssPixels){this._ccprivate$_updateContainer();return}this._ccprivate$_gameFrame.style.width=`${sizeInCssPixels.width}px`;this._ccprivate$_gameFrame.style.height=`${sizeInCssPixels.height}px`;}else {const winWidth=window.innerWidth;let winHeight=window.innerHeight;const inputHeight=document.body.scrollHeight-winHeight;if(systemInfo.os===OS.ANDROID&&winHeight{if(!this._ccprivate$_supportFullScreen){reject(new Error("fullscreen is not supported"));return}const fullscreenTarget=this._ccprivate$_getFullscreenTarget();if(!fullscreenTarget){reject(new Error("Cannot access fullscreen target"));return}this._ccprivate$_onFullscreenChange=undefined;this._ccprivate$_onFullscreenError=undefined;const requestPromise=fullscreenTarget[this._ccprivate$_fn.requestFullscreen]();if(window.Promise&&requestPromise instanceof Promise){requestPromise.then(resolve).catch(reject);}else {this._ccprivate$_onFullscreenChange=resolve;this._ccprivate$_onFullscreenError=reject;}})}_ccprivate$_updateFrameState(){const orientation=this.orientation;const width=window.innerWidth;const height=window.innerHeight;const isBrowserLandscape=width>height;this.isFrameRotated=systemInfo.isMobile&&(isBrowserLandscape&&orientation===Orientation.PORTRAIT||!isBrowserLandscape&&orientation===Orientation.LANDSCAPE);}_ccprivate$_updateContainer(){if(!this._ccprivate$_gameContainer){warnID(9201);return}if(this.isProportionalToFrame){if(!this._ccprivate$_gameFrame){warnID(9201);return}const designedResolution=legacyCC.view.getDesignResolutionSize();const frame=this._ccprivate$_gameFrame;const frameW=frame.clientWidth;const frameH=frame.clientHeight;const designW=designedResolution.width;const designH=designedResolution.height;const scaleX=frameW/designW;const scaleY=frameH/designH;const containerStyle=this._ccprivate$_gameContainer.style;let containerW;let containerH;if(scaleX; +- hasFeature(feature: Feature): boolean; +- getBatteryLevel(): number; +- triggerGC(): void; +- openURL(url: string): void; +- now(): number; +- restartJSVM(): void; +- exit(): void; +- close(): void; +-} +-export declare const systemInfo: SystemInfo; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/minigame/system-info.js b/node_modules/@cocos/engine-pal/dist/system-info/minigame/system-info.js +deleted file mode 100644 +index ba65274..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/minigame/system-info.js ++++ /dev/null +@@ -1,15 +0,0 @@ +-import { WECHAT, WECHAT_MINI_PROGRAM, XIAOMI, ALIPAY, TAOBAO, TAOBAO_MINIGAME, BYTEDANCE, OPPO, VIVO, HUAWEI, MIGU, HONOR, SUD, SUDV2, RUNTIME_BASED, TEST, DEBUG } from 'internal:constants'; +-import { minigame } from 'pal/minigame'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType } from '../enum-type/browser-type.js'; +-import '../enum-type/language.js'; +-import { NetworkType } from '../enum-type/network-type.js'; +-import { OS } from '../enum-type/operating-system.js'; +-import { Platform } from '../enum-type/platform.js'; +-import { Feature } from '../enum-type/feature.js'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; +-import { versionCompare } from '../../utils.js'; +- +-let currentPlatform;if(WECHAT){currentPlatform=Platform.WECHAT_GAME;}else if(WECHAT_MINI_PROGRAM){currentPlatform=Platform.WECHAT_MINI_PROGRAM;}else if(XIAOMI){currentPlatform=Platform.XIAOMI_QUICK_GAME;}else if(ALIPAY){currentPlatform=Platform.ALIPAY_MINI_GAME;}else if(TAOBAO){currentPlatform=Platform.TAOBAO_CREATIVE_APP;}else if(TAOBAO_MINIGAME){currentPlatform=Platform.TAOBAO_MINI_GAME;}else if(BYTEDANCE){currentPlatform=Platform.BYTEDANCE_MINI_GAME;}else if(OPPO){currentPlatform=Platform.OPPO_MINI_GAME;}else if(VIVO){currentPlatform=Platform.VIVO_MINI_GAME;}else if(HUAWEI){currentPlatform=Platform.HUAWEI_QUICK_GAME;}else if(MIGU){currentPlatform=Platform.MIGU_MINI_GAME;}else if(HONOR){currentPlatform=Platform.HONOR_MINI_GAME;}else if(SUD){currentPlatform=Platform.SUD_MINI_GAME;}else if(SUDV2){currentPlatform=Platform.SUDV2_MINI_GAME;}let isVersionGreaterOrEqualTo;if(BYTEDANCE){isVersionGreaterOrEqualTo=function isVersionGreaterOrEqualTo(versionA,versionB){if(!versionA||!versionB){return false}function parseVersion(version){return version.split(".").map(part=>parseInt(part,10))}const versionArrayA=parseVersion(versionA);const versionArrayB=parseVersion(versionB);if(versionArrayA.length!==versionArrayB.length){return false}for(let i=0;iversionArrayB[i]){return true}else if(versionArrayA[i]=testAmount&&intervalTimer!==null){clearInterval(intervalTimer);intervalTimer=null;}}else {successfullyTestTimes=0;}_cachedSystemInfo=currentSystemInfo;}intervalTimer=setInterval(testCachedSystemInfo,testInterval);}if(WECHAT&&versionCompare(minigame.getAppBaseInfo().SDKVersion,"2.25.3")<0){testAndUpdateSystemInfoCache(10,500);}minigame.onWindowResize?.(()=>{_cachedSystemInfo=originalGetSystemInfoSync.call(minigame);_cachedWindowInfo=originalGetWindowInfo?.call(minigame);});minigame.getSystemInfoSync=function(){return _cachedSystemInfo};if(originalGetWindowInfo!==undefined){minigame.getWindowInfo=function(){return _cachedWindowInfo};}class SystemInfo extends EventTarget{_ccprivate$_initPromise=[];constructor(){super();const minigameSysInfo=minigame.getSystemInfoSync();this.networkType=NetworkType.LAN;this.isNative=false;this.isBrowser=false;this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();this.nativeLanguage=minigameSysInfo.language;this.language=minigameSysInfo.language.substring(0,2);const minigamePlatform=minigameSysInfo.platform.toLocaleLowerCase();switch(minigamePlatform){case "android":this.os=OS.ANDROID;break;case "ios":this.os=OS.IOS;break;case "windows":this.os=OS.WINDOWS;break;case "mac":this.os=OS.OSX;break;default:this.os=OS.UNKNOWN;break}let minigameSystem=minigameSysInfo.system.toLowerCase();if(minigameSystem==="android p"){minigameSystem="android p 9.0";}const version=/[\d.]+/.exec(minigameSystem);this.osVersion=version?version[0]:minigameSystem;this.osMainVersion=parseInt(this.osVersion);this.platform=currentPlatform;this.isMobile=this.os===OS.ANDROID||this.os===OS.IOS||this.os===OS.UNKNOWN;this.browserType=BrowserType.UNKNOWN;this.browserVersion="";this.isXR=false;const isPCWechat=WECHAT&&this.os===OS.WINDOWS&&!minigame.isDevTool;const supportWasm=(()=>{if(WECHAT){return true}if(BYTEDANCE){let minSDKVersionSupportWasm="";if(this.os===OS.ANDROID){minSDKVersionSupportWasm="3.9.0";}else if(this.os===OS.IOS){minSDKVersionSupportWasm="3.8.0";}if(isVersionGreaterOrEqualTo(minigameSysInfo.SDKVersion,minSDKVersionSupportWasm)&&typeof TTWebAssembly==="object"){return true}}if(RUNTIME_BASED){if(typeof ral.WebAssembly==="object"){return true}}return false})();this._ccprivate$_featureMap={[Feature.WEBP]:false,[Feature.IMAGE_BITMAP]:false,[Feature.WEB_VIEW]:false,[Feature.VIDEO_PLAYER]:WECHAT||WECHAT_MINI_PROGRAM||OPPO,[Feature.SAFE_AREA]:WECHAT||WECHAT_MINI_PROGRAM||BYTEDANCE,[Feature.HPE]:false,[Feature.INPUT_TOUCH]:!isPCWechat,[Feature.EVENT_KEYBOARD]:isPCWechat,[Feature.EVENT_MOUSE]:isPCWechat,[Feature.EVENT_TOUCH]:true,[Feature.EVENT_ACCELEROMETER]:!isPCWechat,[Feature.EVENT_GAMEPAD]:false,[Feature.EVENT_HANDLE]:this.isXR,[Feature.EVENT_HMD]:this.isXR,[Feature.EVENT_HANDHELD]:false,[Feature.WASM]:supportWasm};this._ccprivate$_initPromise.push(this._ccprivate$_supportsWebpPromise());this._ccprivate$_registerEvent();}_ccprivate$_supportsWebpPromise(){if(!TEST){return this._ccprivate$_supportsWebp().then(isSupport=>{this._ccprivate$_setFeature(Feature.WEBP,isSupport);})}return Promise.resolve()}_ccprivate$_supportsWebp(){return new Promise((resolve,reject)=>{if(WECHAT_MINI_PROGRAM){resolve(true);return}if(WECHAT&&this.os===OS.ANDROID){resolve(false);return}try{const img=document.createElement("img");const timer=setTimeout(()=>{resolve(false);},500);img.onload=function onload(){clearTimeout(timer);const result=img.width>0&&img.height>0;resolve(result);};img.onerror=function onerror(err){clearTimeout(timer);if(DEBUG){warn("Create Webp image failed, message: ".concat(err.toString()));}resolve(false);};img.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA";}catch(error){resolve(false);}})}_ccprivate$_registerEvent(){minigame.onHide(()=>{this.emit("hide");});minigame.onShow(()=>{this.emit("show");});}_ccprivate$_setFeature(feature,value){return this._ccprivate$_featureMap[feature]=value}init(){return Promise.all(this._ccprivate$_initPromise)}hasFeature(feature){return this._ccprivate$_featureMap[feature]}getBatteryLevel(){return minigame.getBatteryInfoSync().level/100}triggerGC(){minigame.triggerGC?.();}openURL(url){if(DEBUG){warn("openURL is not supported");}}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){if(DEBUG){warn("restartJSVM is not supported.");}}exit(){minigame.exitMiniProgram?.();}close(){this.exit();}}const systemInfo=new SystemInfo; +- +-export { systemInfo }; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/native/system-info.d.ts b/node_modules/@cocos/engine-pal/dist/system-info/native/system-info.d.ts +deleted file mode 100644 +index 7c8121d..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/native/system-info.d.ts ++++ /dev/null +@@ -1,34 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType, NetworkType, OS, Platform, Language, Feature } from '../enum-type'; +-declare class SystemInfo extends EventTarget { +- readonly isNative: boolean; +- readonly isBrowser: boolean; +- readonly isMobile: boolean; +- readonly isLittleEndian: boolean; +- readonly platform: Platform; +- readonly language: Language; +- readonly nativeLanguage: string; +- readonly os: OS; +- readonly osVersion: string; +- readonly osMainVersion: number; +- readonly browserType: BrowserType; +- readonly browserVersion: string; +- readonly isXR: boolean; +- private _featureMap; +- private _initPromise; +- get networkType(): NetworkType; +- constructor(); +- private _registerEvent; +- private _setFeature; +- init(): Promise; +- hasFeature(feature: Feature): boolean; +- getBatteryLevel(): number; +- triggerGC(): void; +- openURL(url: string): void; +- now(): number; +- restartJSVM(): void; +- close(): void; +- exit(): void; +-} +-export declare const systemInfo: SystemInfo; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/native/system-info.js b/node_modules/@cocos/engine-pal/dist/system-info/native/system-info.js +deleted file mode 100644 +index 309c538..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/native/system-info.js ++++ /dev/null +@@ -1,12 +0,0 @@ +-import { OPEN_HARMONY, IOS } from 'internal:constants'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType } from '../enum-type/browser-type.js'; +-import { Language } from '../enum-type/language.js'; +-import { NetworkType } from '../enum-type/network-type.js'; +-import '../enum-type/operating-system.js'; +-import { Platform } from '../enum-type/platform.js'; +-import { Feature } from '../enum-type/feature.js'; +- +-const networkTypeMap={0:NetworkType.NONE,1:NetworkType.LAN,2:NetworkType.WWAN};const platformMap={0:Platform.WIN32,2:Platform.MACOS,3:Platform.ANDROID,4:Platform.IOS,5:Platform.IOS,6:Platform.OHOS,7:Platform.OPENHARMONY};class SystemInfo extends EventTarget{_ccprivate$_initPromise=[];get networkType(){return networkTypeMap[jsb.device.getNetworkType()]}constructor(){super();this.isNative=true;this.isBrowser=false;this.platform=platformMap[__getPlatform()];this.isMobile=this.platform===Platform.ANDROID||this.platform===Platform.IOS||this.platform===Platform.OHOS||this.platform===Platform.OPENHARMONY;this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();const currLanguage=__getCurrentLanguageCode();this.nativeLanguage=currLanguage?currLanguage.toLowerCase():Language.UNKNOWN;this.language=__getCurrentLanguage();this.os=__getOS();this.osVersion=__getOSVersion();this.osMainVersion=parseInt(this.osVersion);this.browserType=BrowserType.UNKNOWN;this.browserVersion="";this.isXR=typeof xr!=="undefined"&&typeof xr.XrEntry!=="undefined";const isHPE=typeof __supportHPE==="function"?__supportHPE():false;const isHarmonyOSNext=this.platform===Platform.OPENHARMONY;this._ccprivate$_featureMap={[Feature.WEBP]:true,[Feature.IMAGE_BITMAP]:false,[Feature.WEB_VIEW]:this.isMobile,[Feature.VIDEO_PLAYER]:this.isMobile,[Feature.SAFE_AREA]:this.isMobile,[Feature.HPE]:isHPE,[Feature.INPUT_TOUCH]:this.isMobile,[Feature.EVENT_KEYBOARD]:true,[Feature.EVENT_MOUSE]:isHPE||!this.isMobile||isHarmonyOSNext,[Feature.EVENT_TOUCH]:true,[Feature.EVENT_ACCELEROMETER]:this.isMobile,[Feature.EVENT_GAMEPAD]:true,[Feature.EVENT_HANDLE]:this.isXR,[Feature.EVENT_HMD]:this.isXR,[Feature.EVENT_HANDHELD]:typeof xr!=="undefined"&&typeof xr.ARModule!=="undefined",[Feature.WASM]:!OPEN_HARMONY&&!IOS};this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onPause=()=>{this.emit("hide");};jsb.onResume=()=>{this.emit("show");};jsb.onClose=()=>{this.emit("close");};}_ccprivate$_setFeature(feature,value){return this._ccprivate$_featureMap[feature]=value}init(){return Promise.all(this._ccprivate$_initPromise)}hasFeature(feature){return this._ccprivate$_featureMap[feature]}getBatteryLevel(){return jsb.device.getBatteryLevel()}triggerGC(){jsb.garbageCollect();}openURL(url){jsb.openURL(url);}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){__restartVM();}close(){__close();}exit(){__exit();}}const systemInfo=new SystemInfo; +- +-export { systemInfo }; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/nodejs/system-info.d.ts b/node_modules/@cocos/engine-pal/dist/system-info/nodejs/system-info.d.ts +deleted file mode 100644 +index 4f1b676..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/nodejs/system-info.d.ts ++++ /dev/null +@@ -1,32 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType, NetworkType, OS, Platform, Language, Feature } from '../enum-type'; +-declare class SystemInfo extends EventTarget { +- readonly networkType: NetworkType; +- readonly isNative: boolean; +- readonly isBrowser: boolean; +- readonly isMobile: boolean; +- readonly isLittleEndian: boolean; +- readonly platform: Platform; +- readonly language: Language; +- readonly nativeLanguage: string; +- readonly os: OS; +- readonly osVersion: string; +- readonly osMainVersion: number; +- readonly browserType: BrowserType; +- readonly browserVersion: string; +- readonly isXR: boolean; +- private _featureMap; +- private _initPromise; +- constructor(); +- init(): Promise; +- hasFeature(feature: Feature): boolean; +- getBatteryLevel(): number; +- triggerGC(): void; +- openURL(url: string): void; +- now(): number; +- restartJSVM(): void; +- exit(): void; +- close(): void; +-} +-export declare const systemInfo: SystemInfo; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/nodejs/system-info.js b/node_modules/@cocos/engine-pal/dist/system-info/nodejs/system-info.js +deleted file mode 100644 +index 999c17a..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/nodejs/system-info.js ++++ /dev/null +@@ -1,13 +0,0 @@ +-import { DEBUG } from 'internal:constants'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType } from '../enum-type/browser-type.js'; +-import { Language } from '../enum-type/language.js'; +-import { NetworkType } from '../enum-type/network-type.js'; +-import { OS } from '../enum-type/operating-system.js'; +-import { Platform } from '../enum-type/platform.js'; +-import { Feature } from '../enum-type/feature.js'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; +- +-class SystemInfo extends EventTarget{_ccprivate$_initPromise=[];constructor(){super();this.networkType=NetworkType.LAN;this.isNative=false;this.isBrowser=false;this.isMobile=false;this.platform=Platform.NODEJS_PAGE;this.browserType=BrowserType.UNKNOWN;this.browserVersion="";const osInfo=globalThis.nodeEnv.require("os");let osName=OS.UNKNOWN;if(osInfo.type().indexOf("wiWindows_NTn")!==-1){osName=OS.WINDOWS;}else if(osInfo.type().indexOf("Darwin")!==-1){osName=OS.OSX;}else if(osInfo.type().indexOf("Linux")!==-1){osName=OS.LINUX;}this.os=osName;this.osVersion=osInfo.release();this.osMainVersion=parseInt(this.osVersion);this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();let currLanguage=globalThis.nodeEnv.systemLanguage;this.nativeLanguage=currLanguage.toLowerCase();currLanguage=currLanguage?currLanguage.split("-")[0]:Language.ENGLISH;this.language=currLanguage;this.isXR=false;this._ccprivate$_featureMap={[Feature.WEBP]:true,[Feature.IMAGE_BITMAP]:false,[Feature.WEB_VIEW]:false,[Feature.VIDEO_PLAYER]:false,[Feature.SAFE_AREA]:false,[Feature.HPE]:false,[Feature.INPUT_TOUCH]:false,[Feature.EVENT_KEYBOARD]:false,[Feature.EVENT_MOUSE]:false,[Feature.EVENT_TOUCH]:false,[Feature.EVENT_ACCELEROMETER]:false,[Feature.EVENT_GAMEPAD]:false,[Feature.EVENT_HANDLE]:false,[Feature.EVENT_HMD]:false,[Feature.EVENT_HANDHELD]:false,[Feature.WASM]:true};}init(){return Promise.all(this._ccprivate$_initPromise)}hasFeature(feature){return this._ccprivate$_featureMap[feature]}getBatteryLevel(){if(DEBUG){warn("getBatteryLevel is not supported.");}return 1}triggerGC(){if(global.gc){global.gc();}}openURL(url){var open=globalThis.nodeEnv.require("open");open(url);}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){if(DEBUG){warn("restartJSVM is not supported.");}}exit(){globalThis.nodeEnv.process.exit();}close(){this.emit("close");}}const systemInfo=new SystemInfo; +- +-export { systemInfo }; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/web/system-info.d.ts b/node_modules/@cocos/engine-pal/dist/system-info/web/system-info.d.ts +deleted file mode 100644 +index d07e24b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/web/system-info.d.ts ++++ /dev/null +@@ -1,36 +0,0 @@ +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType, NetworkType, OS, Platform, Language, Feature } from '../enum-type'; +-declare class SystemInfo extends EventTarget { +- readonly networkType: NetworkType; +- readonly isNative: boolean; +- readonly isBrowser: boolean; +- readonly isMobile: boolean; +- readonly isLittleEndian: boolean; +- readonly platform: Platform; +- readonly language: Language; +- readonly nativeLanguage: string; +- readonly os: OS; +- readonly osVersion: string; +- readonly osMainVersion: number; +- readonly browserType: BrowserType; +- readonly browserVersion: string; +- readonly isXR: boolean; +- private _battery; +- private _featureMap; +- private _initPromise; +- constructor(); +- private _supportsImageBitmapPromise; +- private _registerEvent; +- private _setFeature; +- init(): Promise; +- hasFeature(feature: Feature): boolean; +- getBatteryLevel(): number; +- triggerGC(): void; +- openURL(url: string): void; +- now(): number; +- restartJSVM(): void; +- exit(): void; +- close(): void; +-} +-export declare const systemInfo: SystemInfo; +-export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system-info/web/system-info.js b/node_modules/@cocos/engine-pal/dist/system-info/web/system-info.js +deleted file mode 100644 +index 4bbe374..0000000 +--- a/node_modules/@cocos/engine-pal/dist/system-info/web/system-info.js ++++ /dev/null +@@ -1,13 +0,0 @@ +-import { EDITOR, TEST, PREVIEW, DEBUG } from 'internal:constants'; +-import { EventTarget } from '@cocos/engine/cocos/core/event'; +-import { BrowserType } from '../enum-type/browser-type.js'; +-import { Language } from '../enum-type/language.js'; +-import { NetworkType } from '../enum-type/network-type.js'; +-import { OS } from '../enum-type/operating-system.js'; +-import { Platform } from '../enum-type/platform.js'; +-import { Feature } from '../enum-type/feature.js'; +-import { warn } from '@cocos/engine/cocos/core/platform/debug'; +- +-class SystemInfo extends EventTarget{_ccprivate$_battery=null;_ccprivate$_initPromise=[];constructor(){super();const nav=window.navigator;const ua=nav.userAgent.toLowerCase();nav.getBattery?.().then(battery=>{this._ccprivate$_battery=battery;});this.networkType=NetworkType.LAN;this.isNative=false;this.isBrowser=true;if(EDITOR){this.isMobile=false;this.platform=Platform.EDITOR_PAGE;}else {this.isMobile=/mobile|android|iphone|ipad/.test(ua);this.platform=this.isMobile?Platform.MOBILE_BROWSER:Platform.DESKTOP_BROWSER;}this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();let currLanguage=nav.language;this.nativeLanguage=currLanguage.toLowerCase();currLanguage=currLanguage||nav.browserLanguage;currLanguage=currLanguage?currLanguage.split("-")[0]:Language.ENGLISH;this.language=currLanguage;let isAndroid=false;let iOS=false;let osVersion="";let osMajorVersion=0;let uaResult=/android\s*(\d+(?:\.\d+)*)/i.exec(ua)||/android\s*(\d+(?:\.\d+)*)/i.exec(nav.platform);if(uaResult){isAndroid=true;osVersion=uaResult[1]||"";osMajorVersion=parseInt(osVersion)||0;}uaResult=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(ua);if(uaResult){iOS=true;osVersion=uaResult[2]||"";osMajorVersion=parseInt(osVersion)||0;}else if(/(iPhone|iPad|iPod)/.exec(nav.platform)||nav.platform==="MacIntel"&&nav.maxTouchPoints&&nav.maxTouchPoints>1){iOS=true;osVersion="";osMajorVersion=0;}let osName=OS.UNKNOWN;if(nav.appVersion.indexOf("Win")!==-1){osName=OS.WINDOWS;}else if(iOS){osName=OS.IOS;}else if(nav.appVersion.indexOf("Mac")!==-1){osName=OS.OSX;}else if(nav.appVersion.indexOf("X11")!==-1&&nav.appVersion.indexOf("Linux")===-1){osName=OS.LINUX;}else if(isAndroid){osName=OS.ANDROID;}else if(nav.appVersion.indexOf("Linux")!==-1||ua.indexOf("ubuntu")!==-1){osName=OS.LINUX;}this.os=osName;this.osVersion=osVersion;this.osMainVersion=osMajorVersion;this.browserType=BrowserType.UNKNOWN;const typeReg0=/wechat|weixin|micromessenger/i;const typeReg1=/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i;const typeReg2=/qq|qqbrowser|ucbrowser|ubrowser|edge|HuaweiBrowser/i;const typeReg3=/chrome|safari|firefox|trident|opera|opr\/|oupeng/i;const browserTypes=typeReg0.exec(ua)||typeReg1.exec(ua)||typeReg2.exec(ua)||typeReg3.exec(ua);let browserType=browserTypes?browserTypes[0].toLowerCase():OS.UNKNOWN;if(browserType==="safari"&&isAndroid){browserType=BrowserType.ANDROID;}else if(browserType==="qq"&&/android.*applewebkit/i.test(ua)){browserType=BrowserType.ANDROID;}const typeMap={micromessenger:BrowserType.WECHAT,wechat:BrowserType.WECHAT,weixin:BrowserType.WECHAT,trident:BrowserType.IE,edge:BrowserType.EDGE,"360 aphone":BrowserType.BROWSER_360,mxbrowser:BrowserType.MAXTHON,"opr/":BrowserType.OPERA,ubrowser:BrowserType.UC,huaweibrowser:BrowserType.HUAWEI};this.browserType=typeMap[browserType]||browserType;this.browserVersion="";const versionReg1=/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i;const versionReg2=/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i;let tmp=versionReg1.exec(ua);if(!tmp){tmp=versionReg2.exec(ua);}this.browserVersion=tmp?tmp[4]:"";this.isXR=false;const _tmpCanvas1=document.createElement("canvas");TEST?false:!!_tmpCanvas1.getContext("2d");let supportWebp;try{supportWebp=TEST?false:_tmpCanvas1.toDataURL("image/webp").startsWith("data:image/webp");}catch(e){supportWebp=false;}if(this.os===OS.IOS){const result=/ applewebkit\/(\d+)/.exec(ua)?.[1];if(typeof result==="string"){if(Number.parseInt(result)>=604){supportWebp=true;}}}else if(this.browserType===BrowserType.SAFARI){const result=/ version\/(\d+)/.exec(ua)?.[1];if(typeof result==="string"){if(Number.parseInt(result)>=14){supportWebp=true;}}}const supportTouch=document.documentElement.ontouchstart!==undefined||document.ontouchstart!==undefined||EDITOR;const supportMouse=document.documentElement.onmouseup!==undefined||EDITOR;const supportXR=typeof navigator.xr!=="undefined";const supportWasm=(()=>{const isSafari_15_4=(this.os===OS.IOS||this.os===OS.OSX)&&/(OS 15_4)|(Version\/15.4)/.test(window.navigator.userAgent);if(isSafari_15_4){return false}try{if(typeof WebAssembly==="object"&&typeof WebAssembly.instantiate==="function"){const module=new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0]));if(module instanceof WebAssembly.Module){return new WebAssembly.Instance(module)instanceof WebAssembly.Instance}}}catch(e){return false}return false})();this._ccprivate$_featureMap={[Feature.WEBP]:supportWebp,[Feature.IMAGE_BITMAP]:false,[Feature.WEB_VIEW]:true,[Feature.VIDEO_PLAYER]:true,[Feature.SAFE_AREA]:false,[Feature.HPE]:false,[Feature.INPUT_TOUCH]:supportTouch,[Feature.EVENT_KEYBOARD]:document.documentElement.onkeyup!==undefined||EDITOR,[Feature.EVENT_MOUSE]:supportMouse,[Feature.EVENT_TOUCH]:supportTouch||supportMouse,[Feature.EVENT_ACCELEROMETER]:window.DeviceMotionEvent!==undefined||window.DeviceOrientationEvent!==undefined,[Feature.EVENT_GAMEPAD]:navigator.getGamepads!==undefined||navigator.webkitGetGamepads!==undefined||supportXR,[Feature.EVENT_HANDLE]:EDITOR||PREVIEW,[Feature.EVENT_HMD]:supportXR,[Feature.EVENT_HANDHELD]:supportXR,[Feature.WASM]:supportWasm};this._ccprivate$_initPromise.push(this._ccprivate$_supportsImageBitmapPromise());this._ccprivate$_registerEvent();}_ccprivate$_supportsImageBitmapPromise(){if(!TEST&&typeof createImageBitmap!=="undefined"&&typeof Blob!=="undefined"){const canvas=document.createElement("canvas");canvas.width=canvas.height=2;const promise=createImageBitmap(canvas);if(promise instanceof Promise){return promise.then(imageBitmap=>{if(imageBitmap&&imageBitmap.close){this._ccprivate$_setFeature(Feature.IMAGE_BITMAP,true);imageBitmap.close();}})}else if(DEBUG){warn("The return value of createImageBitmap is not Promise.");}}return Promise.resolve()}_ccprivate$_registerEvent(){let hiddenPropName;if(typeof document.hidden!=="undefined"){hiddenPropName="hidden";}else if(typeof document.mozHidden!=="undefined"){hiddenPropName="mozHidden";}else if(typeof document.msHidden!=="undefined"){hiddenPropName="msHidden";}else if(typeof document.webkitHidden!=="undefined"){hiddenPropName="webkitHidden";}else {hiddenPropName="hidden";}let hidden=false;const onHidden=()=>{if(!hidden){hidden=true;this.emit("hide");}};const onShown=(arg0,arg1,arg2,arg3,arg4)=>{if(hidden){hidden=false;this.emit("show",arg0,arg1,arg2,arg3,arg4);}};if(hiddenPropName){const changeList=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"];for(let i=0;i{let visible=document[hiddenPropName];visible=visible||event.hidden;if(visible){onHidden();}else {onShown();}});}}else {window.addEventListener("blur",onHidden);window.addEventListener("focus",onShown);}if(window.navigator.userAgent.indexOf("MicroMessenger")>-1){window.onfocus=onShown;}if("onpageshow"in window&&"onpagehide"in window){window.addEventListener("pagehide",onHidden);window.addEventListener("pageshow",onShown);document.addEventListener("pagehide",onHidden);document.addEventListener("pageshow",onShown);}}_ccprivate$_setFeature(feature,value){return this._ccprivate$_featureMap[feature]=value}init(){return Promise.all(this._ccprivate$_initPromise)}hasFeature(feature){return this._ccprivate$_featureMap[feature]}getBatteryLevel(){if(this._ccprivate$_battery){return this._ccprivate$_battery.level}else {if(DEBUG){warn("getBatteryLevel is not supported");}return 1}}triggerGC(){if(DEBUG){warn("triggerGC is not supported.");}}openURL(url){window.open(url);}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){if(DEBUG){warn("restartJSVM is not supported.");}}exit(){window.close();}close(){this.emit("close");}}const systemInfo=new SystemInfo; +- +-export { systemInfo }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/browser-type.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/browser-type.d.ts +new file mode 100644 +index 0000000..a17efdc +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/browser-type.d.ts +@@ -0,0 +1,117 @@ ++export declare enum BrowserType { ++ /** ++ * @en Browser Type - Unknown ++ * @zh 浏览器类型 - 未知 ++ */ ++ UNKNOWN = "unknown", ++ /** ++ * @en Browser Type - WeChat inner browser ++ * @zh 浏览器类型 - 微信内置浏览器 ++ */ ++ WECHAT = "wechat", ++ /** ++ * @en Browser Type - Android Browser ++ * @zh 浏览器类型 - 安卓浏览器 ++ */ ++ ANDROID = "androidbrowser", ++ /** ++ * @en Browser Type - Internet Explorer ++ * @zh 浏览器类型 - 微软 IE ++ */ ++ IE = "ie", ++ /** ++ * @en Browser Type - Microsoft Edge ++ * @zh 浏览器类型 - 微软 Edge ++ */ ++ EDGE = "edge", ++ /** ++ * @en Browser Type - QQ Browser ++ * @zh 浏览器类型 - QQ 浏览器 ++ */ ++ QQ = "qqbrowser", ++ /** ++ * @en Browser Type - Mobile QQ Browser ++ * @zh 浏览器类型 - 手机 QQ 浏览器 ++ */ ++ MOBILE_QQ = "mqqbrowser", ++ /** ++ * @en Browser Type - UC Browser ++ * @zh 浏览器类型 - UC 浏览器 ++ */ ++ UC = "ucbrowser", ++ /** ++ * @en Browser Type - Third party integrated UC browser ++ * @zh 浏览器类型 - 第三方应用中集成的 UC 浏览器 ++ */ ++ UCBS = "ucbs", ++ /** ++ * @en Browser Type - 360 Browser ++ * @zh 浏览器类型 - 360 浏览器 ++ */ ++ BROWSER_360 = "360browser", ++ /** ++ * @en Browser Type - Baidu Box App ++ * @zh 浏览器类型 - Baidu Box App ++ */ ++ BAIDU_APP = "baiduboxapp", ++ /** ++ * @en Browser Type - Baidu Browser ++ * @zh 浏览器类型 - 百度浏览器 ++ */ ++ BAIDU = "baidubrowser", ++ /** ++ * @en Browser Type - Maxthon Browser ++ * @zh 浏览器类型 - 傲游浏览器 ++ */ ++ MAXTHON = "maxthon", ++ /** ++ * @en Browser Type - Opera Browser ++ * @zh 浏览器类型 - Opera 浏览器 ++ */ ++ OPERA = "opera", ++ /** ++ * @en Browser Type - Oupeng Browser ++ * @zh 浏览器类型 - 欧朋浏览器 ++ */ ++ OUPENG = "oupeng", ++ /** ++ * @en Browser Type - MI UI Browser ++ * @zh 浏览器类型 - MIUI 内置浏览器 ++ */ ++ MIUI = "miuibrowser", ++ /** ++ * @en Browser Type - Firefox Browser ++ * @zh 浏览器类型 - Firefox 浏览器 ++ */ ++ FIREFOX = "firefox", ++ /** ++ * @en Browser Type - Safari Browser ++ * @zh 浏览器类型 - Safari 浏览器 ++ */ ++ SAFARI = "safari", ++ /** ++ * @en Browser Type - Chrome Browser ++ * @zh 浏览器类型 - Chrome 浏览器 ++ */ ++ CHROME = "chrome", ++ /** ++ * @en Browser Type - Cheetah Browser ++ * @zh 浏览器类型 - 猎豹浏览器 ++ */ ++ LIEBAO = "liebao", ++ /** ++ * @en Browser Type - QZone Inner Browser ++ * @zh 浏览器类型 - QZone 内置浏览器 ++ */ ++ QZONE = "qzone", ++ /** ++ * @en Browser Type - Sogou Browser ++ * @zh 浏览器类型 - 搜狗浏览器 ++ */ ++ SOUGOU = "sogou", ++ /** ++ * @en Browser Type - Huawei Browser ++ * @zh 浏览器类型 - 华为浏览器 ++ */ ++ HUAWEI = "huawei" ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/browser-type.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/browser-type.js +new file mode 100644 +index 0000000..ac4246a +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/browser-type.js +@@ -0,0 +1,3 @@ ++let BrowserType;(function(BrowserType){BrowserType["UNKNOWN"]="unknown";BrowserType["WECHAT"]="wechat";BrowserType["ANDROID"]="androidbrowser";BrowserType["IE"]="ie";BrowserType["EDGE"]="edge";BrowserType["QQ"]="qqbrowser";BrowserType["MOBILE_QQ"]="mqqbrowser";BrowserType["UC"]="ucbrowser";BrowserType["UCBS"]="ucbs";BrowserType["BROWSER_360"]="360browser";BrowserType["BAIDU_APP"]="baiduboxapp";BrowserType["BAIDU"]="baidubrowser";BrowserType["MAXTHON"]="maxthon";BrowserType["OPERA"]="opera";BrowserType["OUPENG"]="oupeng";BrowserType["MIUI"]="miuibrowser";BrowserType["FIREFOX"]="firefox";BrowserType["SAFARI"]="safari";BrowserType["CHROME"]="chrome";BrowserType["LIEBAO"]="liebao";BrowserType["QZONE"]="qzone";BrowserType["SOUGOU"]="sogou";BrowserType["HUAWEI"]="huawei";})(BrowserType||(BrowserType={})); ++ ++export { BrowserType }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/event.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/event.d.ts +new file mode 100644 +index 0000000..1094f71 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/event.d.ts +@@ -0,0 +1,6 @@ ++export declare enum AppEvent { ++ HIDE = "hide", ++ SHOW = "show", ++ RESIZE = "resize", ++ ORIENTATION_CHANGE = "orientation_change" ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/event.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/event.js +new file mode 100644 +index 0000000..d768c31 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/event.js +@@ -0,0 +1,3 @@ ++let AppEvent;(function(AppEvent){AppEvent["HIDE"]="hide";AppEvent["SHOW"]="show";AppEvent["RESIZE"]="resize";AppEvent["ORIENTATION_CHANGE"]="orientation_change";})(AppEvent||(AppEvent={})); ++ ++export { AppEvent }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/index.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/index.d.ts +new file mode 100644 +index 0000000..9ee32a6 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/index.d.ts +@@ -0,0 +1,7 @@ ++export * from './browser-type'; ++export * from './event'; ++export * from './language'; ++export * from './network-type'; ++export * from './operating-system'; ++export * from './orientation'; ++export * from './platform'; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/index.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/index.js +new file mode 100644 +index 0000000..b9b6a07 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/index.js +@@ -0,0 +1,7 @@ ++export { BrowserType } from './browser-type.js'; ++export { AppEvent } from './event.js'; ++export { Language } from './language.js'; ++export { NetworkType } from './network-type.js'; ++export { OS } from './operating-system.js'; ++export { Orientation } from './orientation.js'; ++export { Platform } from './platform.js'; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/language.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/language.d.ts +new file mode 100644 +index 0000000..e1c3211 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/language.d.ts +@@ -0,0 +1,102 @@ ++export declare enum Language { ++ /** ++ * @en Unknown language code ++ * @zh 语言代码 - 未知 ++ */ ++ UNKNOWN = "unknown", ++ /** ++ * @en English language code ++ * @zh 语言代码 - 英语 ++ */ ++ ENGLISH = "en", ++ /** ++ * @en Chinese language code ++ * @zh 语言代码 - 中文 ++ */ ++ CHINESE = "zh", ++ /** ++ * @en French language code ++ * @zh 语言代码 - 法语 ++ */ ++ FRENCH = "fr", ++ /** ++ * @en Italian language code ++ * @zh 语言代码 - 意大利语 ++ */ ++ ITALIAN = "it", ++ /** ++ * @en German language code ++ * @zh 语言代码 - 德语 ++ */ ++ GERMAN = "de", ++ /** ++ * @en Spanish language code ++ * @zh 语言代码 - 西班牙语 ++ */ ++ SPANISH = "es", ++ /** ++ * @en Spanish language code ++ * @zh 语言代码 - 荷兰语 ++ */ ++ DUTCH = "du", ++ /** ++ * @en Russian language code ++ * @zh 语言代码 - 俄罗斯语 ++ */ ++ RUSSIAN = "ru", ++ /** ++ * @en Korean language code ++ * @zh 语言代码 - 韩语 ++ */ ++ KOREAN = "ko", ++ /** ++ * @en Japanese language code ++ * @zh 语言代码 - 日语 ++ */ ++ JAPANESE = "ja", ++ /** ++ * @en Hungarian language code ++ * @zh 语言代码 - 匈牙利语 ++ */ ++ HUNGARIAN = "hu", ++ /** ++ * @en Portuguese language code ++ * @zh 语言代码 - 葡萄牙语 ++ */ ++ PORTUGUESE = "pt", ++ /** ++ * @en Arabic language code ++ * @zh 语言代码 - 阿拉伯语 ++ */ ++ ARABIC = "ar", ++ /** ++ * @en Norwegian language code ++ * @zh 语言代码 - 挪威语 ++ */ ++ NORWEGIAN = "no", ++ /** ++ * @en Polish language code ++ * @zh 语言代码 - 波兰语 ++ */ ++ POLISH = "pl", ++ /** ++ * @en Turkish language code ++ * @zh 语言代码 - 土耳其语 ++ */ ++ TURKISH = "tr", ++ /** ++ * @en Ukrainian language code ++ * @zh 语言代码 - 乌克兰语 ++ */ ++ UKRAINIAN = "uk", ++ /** ++ * @en Romanian language code ++ * @zh 语言代码 - 罗马尼亚语 ++ */ ++ ROMANIAN = "ro", ++ /** ++ * @en Bulgarian language code ++ * @zh 语言代码 - 保加利亚语 ++ */ ++ BULGARIAN = "bg" ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/language.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/language.js +new file mode 100644 +index 0000000..f0efc97 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/language.js +@@ -0,0 +1,3 @@ ++let Language;(function(Language){Language["UNKNOWN"]="unknown";Language["ENGLISH"]="en";Language["CHINESE"]="zh";Language["FRENCH"]="fr";Language["ITALIAN"]="it";Language["GERMAN"]="de";Language["SPANISH"]="es";Language["DUTCH"]="du";Language["RUSSIAN"]="ru";Language["KOREAN"]="ko";Language["JAPANESE"]="ja";Language["HUNGARIAN"]="hu";Language["PORTUGUESE"]="pt";Language["ARABIC"]="ar";Language["NORWEGIAN"]="no";Language["POLISH"]="pl";Language["TURKISH"]="tr";Language["UKRAINIAN"]="uk";Language["ROMANIAN"]="ro";Language["BULGARIAN"]="bg";})(Language||(Language={})); ++ ++export { Language }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/network-type.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/network-type.d.ts +new file mode 100644 +index 0000000..018e2a5 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/network-type.d.ts +@@ -0,0 +1,17 @@ ++export declare enum NetworkType { ++ /** ++ * @en Network is unreachable. ++ * @zh 网络不通 ++ */ ++ NONE = 0, ++ /** ++ * @en Network is reachable via WiFi or cable. ++ * @zh 通过无线或者有线本地网络连接因特网 ++ */ ++ LAN = 1, ++ /** ++ * @en Network is reachable via Wireless Wide Area Network ++ * @zh 通过蜂窝移动网络连接因特网 ++ */ ++ WWAN = 2 ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/network-type.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/network-type.js +new file mode 100644 +index 0000000..8a85eff +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/network-type.js +@@ -0,0 +1,3 @@ ++let NetworkType;(function(NetworkType){NetworkType[NetworkType["NONE"]=0]="NONE";NetworkType[NetworkType["LAN"]=1]="LAN";NetworkType[NetworkType["WWAN"]=2]="WWAN";})(NetworkType||(NetworkType={})); ++ ++export { NetworkType }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/operating-system.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/operating-system.d.ts +new file mode 100644 +index 0000000..9013538 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/operating-system.d.ts +@@ -0,0 +1,32 @@ ++export declare enum OS { ++ /** ++ * @en Operating System - Unknown ++ * @zh 操作系统 - 未知 ++ */ ++ UNKNOWN = "Unknown", ++ /** ++ * @en Operating System - iOS ++ * @zh 操作系统 - iOS ++ */ ++ IOS = "iOS", ++ /** ++ * @en Operating System - Android ++ * @zh 操作系统 - 安卓 ++ */ ++ ANDROID = "Android", ++ /** ++ * @en Operating System - Windows ++ * @zh 操作系统 - Windows ++ */ ++ WINDOWS = "Windows", ++ /** ++ * @en Operating System - Linux ++ * @zh 操作系统 - Linux ++ */ ++ LINUX = "Linux", ++ /** ++ * @en Operating System - Mac OS X ++ * @zh 操作系统 - Mac OS X ++ */ ++ OSX = "OS X" ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/operating-system.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/operating-system.js +new file mode 100644 +index 0000000..d3460e7 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/operating-system.js +@@ -0,0 +1,3 @@ ++let OS;(function(OS){OS["UNKNOWN"]="Unknown";OS["IOS"]="iOS";OS["ANDROID"]="Android";OS["WINDOWS"]="Windows";OS["LINUX"]="Linux";OS["OSX"]="OS X";})(OS||(OS={})); ++ ++export { OS }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/orientation.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/orientation.d.ts +new file mode 100644 +index 0000000..601b5bf +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/orientation.d.ts +@@ -0,0 +1,7 @@ ++export declare enum Orientation { ++ PORTRAIT = 1, ++ PORTRAIT_UPSIDE_DOWN = 2, ++ LANDSCAPE_LEFT, ++ LANDSCAPE_RIGHT, ++ LANDSCAPE ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/orientation.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/orientation.js +new file mode 100644 +index 0000000..f55425d +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/orientation.js +@@ -0,0 +1,3 @@ ++const LEFT=1<<2;const RIGHT=1<<3;let Orientation;(function(Orientation){Orientation[Orientation["PORTRAIT"]=1]="PORTRAIT";Orientation[Orientation["PORTRAIT_UPSIDE_DOWN"]=2]="PORTRAIT_UPSIDE_DOWN";Orientation[Orientation["LANDSCAPE_LEFT"]=LEFT]="LANDSCAPE_LEFT";Orientation[Orientation["LANDSCAPE_RIGHT"]=RIGHT]="LANDSCAPE_RIGHT";Orientation[Orientation["LANDSCAPE"]=LEFT|RIGHT]="LANDSCAPE";})(Orientation||(Orientation={})); ++ ++export { Orientation }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/platform.d.ts b/node_modules/@cocos/engine-pal/dist/system/enum-type/platform.d.ts +new file mode 100644 +index 0000000..d2591ec +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/platform.d.ts +@@ -0,0 +1,24 @@ ++export declare enum Platform { ++ UNKNOWN = "UNKNOWN", ++ EDITOR_PAGE = "EDITOR_PAGE", ++ EDITOR_CORE = "EDITOR_CORE", ++ MOBILE_BROWSER = "MOBILE_BROWSER", ++ DESKTOP_BROWSER = "DESKTOP_BROWSER", ++ WIN32 = "WIN32", ++ ANDROID = "ANDROID", ++ IOS = "IOS", ++ MACOS = "MACOS", ++ WECHAT_GAME = "WECHAT_GAME", ++ BAIDU_MINI_GAME = "BAIDU_MINI_GAME", ++ XIAOMI_QUICK_GAME = "XIAOMI_QUICK_GAME", ++ ALIPAY_MINI_GAME = "ALIPAY_MINI_GAME", ++ BYTEDANCE_MINI_GAME = "BYTEDANCE_MINI_GAME", ++ OPPO_MINI_GAME = "OPPO_MINI_GAME", ++ VIVO_MINI_GAME = "VIVO_MINI_GAME", ++ HUAWEI_QUICK_GAME = "HUAWEI_QUICK_GAME", ++ COCOSPLAY = "COCOSPLAY", ++ LINKSURE_MINI_GAME = "LINKSURE_MINI_GAME", ++ SUD_MINI_GAME = "SUD_MINI_GAME", ++ SUDV2_MINI_GAME = "SUDV2_MINI_GAME", ++ QTT_MINI_GAME = "QTT_MINI_GAME" ++} +diff --git a/node_modules/@cocos/engine-pal/dist/system/enum-type/platform.js b/node_modules/@cocos/engine-pal/dist/system/enum-type/platform.js +new file mode 100644 +index 0000000..e56faac +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/enum-type/platform.js +@@ -0,0 +1,3 @@ ++let Platform;(function(Platform){Platform["UNKNOWN"]="UNKNOWN";Platform["EDITOR_PAGE"]="EDITOR_PAGE";Platform["EDITOR_CORE"]="EDITOR_CORE";Platform["MOBILE_BROWSER"]="MOBILE_BROWSER";Platform["DESKTOP_BROWSER"]="DESKTOP_BROWSER";Platform["WIN32"]="WIN32";Platform["ANDROID"]="ANDROID";Platform["IOS"]="IOS";Platform["MACOS"]="MACOS";Platform["WECHAT_GAME"]="WECHAT_GAME";Platform["BAIDU_MINI_GAME"]="BAIDU_MINI_GAME";Platform["XIAOMI_QUICK_GAME"]="XIAOMI_QUICK_GAME";Platform["ALIPAY_MINI_GAME"]="ALIPAY_MINI_GAME";Platform["BYTEDANCE_MINI_GAME"]="BYTEDANCE_MINI_GAME";Platform["OPPO_MINI_GAME"]="OPPO_MINI_GAME";Platform["VIVO_MINI_GAME"]="VIVO_MINI_GAME";Platform["HUAWEI_QUICK_GAME"]="HUAWEI_QUICK_GAME";Platform["COCOSPLAY"]="COCOSPLAY";Platform["LINKSURE_MINI_GAME"]="LINKSURE_MINI_GAME";Platform["SUD_MINI_GAME"]="SUD_MINI_GAME";Platform["SUDV2_MINI_GAME"]="SUDV2_MINI_GAME";Platform["QTT_MINI_GAME"]="QTT_MINI_GAME";})(Platform||(Platform={})); ++ ++export { Platform }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/minigame/system.d.ts b/node_modules/@cocos/engine-pal/dist/system/minigame/system.d.ts +new file mode 100644 +index 0000000..7690fc6 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/minigame/system.d.ts +@@ -0,0 +1,41 @@ ++import { SafeAreaEdge, SupportCapability } from 'pal/system'; ++import { Size } from '@cocos/engine/cocos/core/math'; ++import { BrowserType, NetworkType, Orientation, OS, Platform, Language } from '../enum-type'; ++declare class System { ++ readonly networkType: NetworkType; ++ readonly isNative: boolean; ++ readonly isBrowser: boolean; ++ readonly isMobile: boolean; ++ readonly isLittleEndian: boolean; ++ readonly platform: Platform; ++ readonly language: Language; ++ readonly nativeLanguage: string; ++ readonly os: OS; ++ readonly osVersion: string; ++ readonly osMainVersion: number; ++ readonly browserType: BrowserType; ++ readonly browserVersion: string; ++ readonly pixelRatio: number; ++ readonly supportCapability: SupportCapability; ++ private _eventTarget; ++ constructor(); ++ private _registerEvent; ++ getViewSize(): Size; ++ getOrientation(): Orientation; ++ getSafeAreaEdge(): SafeAreaEdge; ++ getBatteryLevel(): number; ++ triggerGC(): void; ++ openURL(url: string): void; ++ now(): number; ++ restartJSVM(): void; ++ onHide(cb: () => void): void; ++ onShow(cb: () => void): void; ++ onViewResize(cb: () => void): void; ++ onOrientationChange(cb: () => void): void; ++ offHide(cb?: () => void): void; ++ offShow(cb?: () => void): void; ++ offViewResize(cb?: () => void): void; ++ offOrientationChange(cb?: () => void): void; ++} ++export declare const system: System; ++export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system/minigame/system.js b/node_modules/@cocos/engine-pal/dist/system/minigame/system.js +new file mode 100644 +index 0000000..d1a3db5 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/minigame/system.js +@@ -0,0 +1,15 @@ ++import { WECHAT, BAIDU, XIAOMI, ALIPAY, BYTEDANCE, OPPO, VIVO, HUAWEI, COCOSPLAY, LINKSURE, QTT, SUD, SUDV2, TEST, DEBUG } from 'internal:constants'; ++import { minigame } from 'pal/minigame'; ++import { Size } from '@cocos/engine/cocos/core/math'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { BrowserType } from '../enum-type/browser-type.js'; ++import { AppEvent } from '../enum-type/event.js'; ++import '../enum-type/language.js'; ++import { NetworkType } from '../enum-type/network-type.js'; ++import { OS } from '../enum-type/operating-system.js'; ++import '../enum-type/orientation.js'; ++import { Platform } from '../enum-type/platform.js'; ++ ++let currentPlatform;if(WECHAT){currentPlatform=Platform.WECHAT_GAME;}else if(BAIDU){currentPlatform=Platform.BAIDU_MINI_GAME;}else if(XIAOMI){currentPlatform=Platform.XIAOMI_QUICK_GAME;}else if(ALIPAY){currentPlatform=Platform.ALIPAY_MINI_GAME;}else if(BYTEDANCE){currentPlatform=Platform.BYTEDANCE_MINI_GAME;}else if(OPPO){currentPlatform=Platform.OPPO_MINI_GAME;}else if(VIVO){currentPlatform=Platform.VIVO_MINI_GAME;}else if(HUAWEI){currentPlatform=Platform.HUAWEI_QUICK_GAME;}else if(COCOSPLAY){currentPlatform=Platform.COCOSPLAY;}else if(LINKSURE){currentPlatform=Platform.LINKSURE_MINI_GAME;}else if(QTT){currentPlatform=Platform.QTT_MINI_GAME;}else if(SUD){currentPlatform=Platform.SUD_MINI_GAME;}else if(SUDV2){currentPlatform=Platform.SUDV2_MINI_GAME;}class System{networkType;isNative;isBrowser;isMobile;isLittleEndian;platform;language;nativeLanguage;os;osVersion;osMainVersion;browserType;browserVersion;pixelRatio;supportCapability;_ccprivate$_eventTarget=new EventTarget;constructor(){const minigameSysInfo=minigame.getSystemInfoSync();this.networkType=NetworkType.LAN;this.isNative=false;this.isBrowser=false;this.platform=currentPlatform;this.isMobile=!minigame.isDevTool;this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();this.nativeLanguage=minigameSysInfo.language;this.language=minigameSysInfo.language.substr(0,2);const minigamePlatform=minigameSysInfo.platform.toLocaleLowerCase();if(minigamePlatform==="android"){this.os=OS.ANDROID;}else if(minigamePlatform==="ios"){this.os=OS.IOS;}else {this.os=OS.UNKNOWN;}let minigameSystem=minigameSysInfo.system.toLowerCase();if(minigameSystem==="android p"){minigameSystem="android p 9.0";}const version=/[\d.]+/.exec(minigameSystem);this.osVersion=version?version[0]:minigameSystem;this.osMainVersion=parseInt(this.osVersion);this.browserType=BrowserType.UNKNOWN;this.browserVersion="";this.pixelRatio=minigameSysInfo.pixelRatio;const _tmpCanvas1=document.createElement("canvas");let supportWebp;try{supportWebp=TEST?false:_tmpCanvas1.toDataURL("image/webp").startsWith("data:image/webp");}catch(e){supportWebp=false;}this.supportCapability={webp:supportWebp,gl:true,canvas:true,imageBitmap:false};this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){minigame.onHide(()=>{this._ccprivate$_eventTarget.emit(AppEvent.HIDE);});minigame.onShow(()=>{this._ccprivate$_eventTarget.emit(AppEvent.SHOW);});}getViewSize(){const sysInfo=minigame.getSystemInfoSync();return new Size(sysInfo.screenWidth,sysInfo.screenHeight)}getOrientation(){return minigame.orientation}getSafeAreaEdge(){throw new Error("TODO")}getBatteryLevel(){return minigame.getBatteryInfoSync().level/100}triggerGC(){minigame.triggerGC();}openURL(url){if(DEBUG){console.warn("openURL is not supported");}}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){if(DEBUG){console.warn("restartJSVM is not supported.");}}onHide(cb){this._ccprivate$_eventTarget.on(AppEvent.HIDE,cb);}onShow(cb){this._ccprivate$_eventTarget.on(AppEvent.SHOW,cb);}onViewResize(cb){this._ccprivate$_eventTarget.on(AppEvent.RESIZE,cb);}onOrientationChange(cb){this._ccprivate$_eventTarget.on(AppEvent.ORIENTATION_CHANGE,cb);}offHide(cb){this._ccprivate$_eventTarget.off(AppEvent.HIDE,cb);}offShow(cb){this._ccprivate$_eventTarget.off(AppEvent.SHOW,cb);}offViewResize(cb){this._ccprivate$_eventTarget.off(AppEvent.RESIZE,cb);}offOrientationChange(cb){this._ccprivate$_eventTarget.off(AppEvent.ORIENTATION_CHANGE,cb);}}const system=new System; ++ ++export { system }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/native/system.d.ts b/node_modules/@cocos/engine-pal/dist/system/native/system.d.ts +new file mode 100644 +index 0000000..372e83c +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/native/system.d.ts +@@ -0,0 +1,41 @@ ++import { SafeAreaEdge, SupportCapability } from 'pal/system'; ++import { Size } from '@cocos/engine/cocos/core/math'; ++import { BrowserType, NetworkType, Orientation, OS, Platform, Language } from '../enum-type'; ++declare class System { ++ readonly isNative: boolean; ++ readonly isBrowser: boolean; ++ readonly isMobile: boolean; ++ readonly isLittleEndian: boolean; ++ readonly platform: Platform; ++ readonly language: Language; ++ readonly nativeLanguage: string; ++ readonly os: OS; ++ readonly osVersion: string; ++ readonly osMainVersion: number; ++ readonly browserType: BrowserType; ++ readonly browserVersion: string; ++ readonly pixelRatio: number; ++ readonly supportCapability: SupportCapability; ++ private _eventTarget; ++ get networkType(): NetworkType; ++ constructor(); ++ private _registerEvent; ++ getViewSize(): Size; ++ getOrientation(): Orientation; ++ getSafeAreaEdge(): SafeAreaEdge; ++ getBatteryLevel(): number; ++ triggerGC(): void; ++ openURL(url: string): void; ++ now(): number; ++ restartJSVM(): void; ++ onHide(cb: () => void): void; ++ onShow(cb: () => void): void; ++ onViewResize(cb: () => void): void; ++ onOrientationChange(cb: () => void): void; ++ offHide(cb?: () => void): void; ++ offShow(cb?: () => void): void; ++ offViewResize(cb?: () => void): void; ++ offOrientationChange(cb?: () => void): void; ++} ++export declare const system: System; ++export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system/native/system.js b/node_modules/@cocos/engine-pal/dist/system/native/system.js +new file mode 100644 +index 0000000..b77bbd1 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/native/system.js +@@ -0,0 +1,13 @@ ++import { Size } from '@cocos/engine/cocos/core/math'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { BrowserType } from '../enum-type/browser-type.js'; ++import { AppEvent } from '../enum-type/event.js'; ++import { Language } from '../enum-type/language.js'; ++import '../enum-type/network-type.js'; ++import '../enum-type/operating-system.js'; ++import { Orientation } from '../enum-type/orientation.js'; ++import { Platform } from '../enum-type/platform.js'; ++ ++const orientationMap={0:Orientation.PORTRAIT,"-90":Orientation.LANDSCAPE_LEFT,90:Orientation.LANDSCAPE_RIGHT,180:Orientation.PORTRAIT_UPSIDE_DOWN};const networkTypeMap={};const platformMap={0:Platform.WIN32,2:Platform.MACOS,3:Platform.ANDROID,4:Platform.IOS,5:Platform.IOS};class System{isNative;isBrowser;isMobile;isLittleEndian;platform;language;nativeLanguage;os;osVersion;osMainVersion;browserType;browserVersion;pixelRatio;supportCapability;_ccprivate$_eventTarget=new EventTarget;get networkType(){return networkTypeMap[jsb.device.getNetworkType()]}constructor(){this.isNative=true;this.isBrowser=false;this.platform=platformMap[__getPlatform()];this.isMobile=this.platform===Platform.ANDROID||this.platform===Platform.IOS;this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();const currLanguage=__getCurrentLanguageCode();this.nativeLanguage=currLanguage?currLanguage.toLowerCase():Language.UNKNOWN;this.language=__getCurrentLanguage();this.os=__getOS();this.osVersion=__getOSVersion();this.osMainVersion=parseInt(this.osVersion);this.browserType=BrowserType.UNKNOWN;this.browserVersion="";this.pixelRatio=jsb.device.getDevicePixelRatio()||1;this.supportCapability={webp:true,gl:true,canvas:true,imageBitmap:false};this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){jsb.onResize=size=>{if(size.width===0||size.height===0)return;size.width/=this.pixelRatio;size.height/=this.pixelRatio;window.resize(size.width,size.height);this._ccprivate$_eventTarget.emit(AppEvent.RESIZE);};jsb.onOrientationChanged=event=>{this._ccprivate$_eventTarget.emit(AppEvent.ORIENTATION_CHANGE);};jsb.onPause=()=>{this._ccprivate$_eventTarget.emit(AppEvent.HIDE);};jsb.onResume=()=>{this._ccprivate$_eventTarget.emit(AppEvent.SHOW);};}getViewSize(){return new Size(window.innerWidth,window.innerHeight)}getOrientation(){return orientationMap[jsb.device.getDeviceOrientation()]}getSafeAreaEdge(){throw new Error("TODO")}getBatteryLevel(){return jsb.device.getBatteryLevel()}triggerGC(){jsb.garbageCollect();}openURL(url){jsb.openURL(url);}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){__restartVM();}onHide(cb){this._ccprivate$_eventTarget.on(AppEvent.HIDE,cb);}onShow(cb){this._ccprivate$_eventTarget.on(AppEvent.SHOW,cb);}onViewResize(cb){this._ccprivate$_eventTarget.on(AppEvent.RESIZE,cb);}onOrientationChange(cb){this._ccprivate$_eventTarget.on(AppEvent.ORIENTATION_CHANGE,cb);}offHide(cb){this._ccprivate$_eventTarget.off(AppEvent.HIDE,cb);}offShow(cb){this._ccprivate$_eventTarget.off(AppEvent.SHOW,cb);}offViewResize(cb){this._ccprivate$_eventTarget.off(AppEvent.RESIZE,cb);}offOrientationChange(cb){this._ccprivate$_eventTarget.off(AppEvent.ORIENTATION_CHANGE,cb);}}const system=new System; ++ ++export { system }; +diff --git a/node_modules/@cocos/engine-pal/dist/system/web/system.d.ts b/node_modules/@cocos/engine-pal/dist/system/web/system.d.ts +new file mode 100644 +index 0000000..e69613c +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/web/system.d.ts +@@ -0,0 +1,44 @@ ++import { SafeAreaEdge, SupportCapability } from 'pal/system'; ++import { Size } from '@cocos/engine/cocos/core/math'; ++import { BrowserType, NetworkType, Orientation, OS, Platform, Language } from '../enum-type'; ++declare class System { ++ readonly networkType: NetworkType; ++ readonly isNative: boolean; ++ readonly isBrowser: boolean; ++ readonly isMobile: boolean; ++ readonly isLittleEndian: boolean; ++ readonly platform: Platform; ++ readonly language: Language; ++ readonly nativeLanguage: string; ++ readonly os: OS; ++ readonly osVersion: string; ++ readonly osMainVersion: number; ++ readonly browserType: BrowserType; ++ readonly browserVersion: string; ++ readonly pixelRatio: number; ++ readonly supportCapability: SupportCapability; ++ private _eventTarget; ++ private _html; ++ private _battery?; ++ constructor(); ++ private _registerEvent; ++ private _registerVisibilityEvent; ++ getViewSize(): Size; ++ getOrientation(): Orientation; ++ getSafeAreaEdge(): SafeAreaEdge; ++ getBatteryLevel(): number; ++ triggerGC(): void; ++ openURL(url: string): void; ++ now(): number; ++ restartJSVM(): void; ++ onHide(cb: () => void): void; ++ onShow(cb: () => void): void; ++ onViewResize(cb: () => void): void; ++ onOrientationChange(cb: () => void): void; ++ offHide(cb?: () => void): void; ++ offShow(cb?: () => void): void; ++ offViewResize(cb?: () => void): void; ++ offOrientationChange(cb?: () => void): void; ++} ++export declare const system: System; ++export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/system/web/system.js b/node_modules/@cocos/engine-pal/dist/system/web/system.js +new file mode 100644 +index 0000000..f09a3e5 +--- /dev/null ++++ b/node_modules/@cocos/engine-pal/dist/system/web/system.js +@@ -0,0 +1,14 @@ ++import { EDITOR, TEST, DEBUG } from 'internal:constants'; ++import { Size } from '@cocos/engine/cocos/core/math'; ++import { EventTarget } from '@cocos/engine/cocos/core/event/event-target'; ++import { BrowserType } from '../enum-type/browser-type.js'; ++import { AppEvent } from '../enum-type/event.js'; ++import { Language } from '../enum-type/language.js'; ++import { NetworkType } from '../enum-type/network-type.js'; ++import { OS } from '../enum-type/operating-system.js'; ++import '../enum-type/orientation.js'; ++import { Platform } from '../enum-type/platform.js'; ++ ++class System{networkType;isNative;isBrowser;isMobile;isLittleEndian;platform;language;nativeLanguage;os;osVersion;osMainVersion;browserType;browserVersion;pixelRatio;supportCapability;_ccprivate$_eventTarget=new EventTarget;_ccprivate$_html;_ccprivate$_battery;constructor(){const nav=window.navigator;const ua=nav.userAgent.toLowerCase();this._ccprivate$_html=document.getElementsByTagName("html")[0];nav.getBattery?.().then(battery=>{this._ccprivate$_battery=battery;});this.networkType=NetworkType.LAN;this.isNative=false;this.isBrowser=true;if(EDITOR){this.isMobile=false;this.platform=Platform.EDITOR_PAGE;}else {this.isMobile=/mobile|android|iphone|ipad/.test(ua);this.platform=this.isMobile?Platform.MOBILE_BROWSER:Platform.DESKTOP_BROWSER;}this.isLittleEndian=(()=>{const buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256})();let currLanguage=nav.language;this.nativeLanguage=currLanguage.toLowerCase();currLanguage=currLanguage||nav.browserLanguage;currLanguage=currLanguage?currLanguage.split("-")[0]:Language.ENGLISH;this.language=currLanguage;let isAndroid=false;let iOS=false;let osVersion="";let osMajorVersion=0;let uaResult=/android\s*(\d+(?:\.\d+)*)/i.exec(ua)||/android\s*(\d+(?:\.\d+)*)/i.exec(nav.platform);if(uaResult){isAndroid=true;osVersion=uaResult[1]||"";osMajorVersion=parseInt(osVersion)||0;}uaResult=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(ua);if(uaResult){iOS=true;osVersion=uaResult[2]||"";osMajorVersion=parseInt(osVersion)||0;}else if(/(iPhone|iPad|iPod)/.exec(nav.platform)||nav.platform==="MacIntel"&&nav.maxTouchPoints&&nav.maxTouchPoints>1){iOS=true;osVersion="";osMajorVersion=0;}let osName=OS.UNKNOWN;if(nav.appVersion.indexOf("Win")!==-1){osName=OS.WINDOWS;}else if(iOS){osName=OS.IOS;}else if(nav.appVersion.indexOf("Mac")!==-1){osName=OS.OSX;}else if(nav.appVersion.indexOf("X11")!==-1&&nav.appVersion.indexOf("Linux")===-1){osName=OS.LINUX;}else if(isAndroid){osName=OS.ANDROID;}else if(nav.appVersion.indexOf("Linux")!==-1||ua.indexOf("ubuntu")!==-1){osName=OS.LINUX;}this.os=osName;this.osVersion=osVersion;this.osMainVersion=osMajorVersion;this.browserType=BrowserType.UNKNOWN;const typeReg0=/wechat|weixin|micromessenger/i;const typeReg1=/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i;const typeReg2=/qq|qqbrowser|ucbrowser|ubrowser|edge|HuaweiBrowser/i;const typeReg3=/chrome|safari|firefox|trident|opera|opr\/|oupeng/i;const browserTypes=typeReg0.exec(ua)||typeReg1.exec(ua)||typeReg2.exec(ua)||typeReg3.exec(ua);let browserType=browserTypes?browserTypes[0].toLowerCase():OS.UNKNOWN;if(browserType==="safari"&&isAndroid){browserType=BrowserType.ANDROID;}else if(browserType==="qq"&&/android.*applewebkit/i.test(ua)){browserType=BrowserType.ANDROID;}const typeMap={micromessenger:BrowserType.WECHAT,wechat:BrowserType.WECHAT,weixin:BrowserType.WECHAT,trident:BrowserType.IE,edge:BrowserType.EDGE,"360 aphone":BrowserType.BROWSER_360,mxbrowser:BrowserType.MAXTHON,"opr/":BrowserType.OPERA,ubrowser:BrowserType.UC,huaweibrowser:BrowserType.HUAWEI};this.browserType=typeMap[browserType]||browserType;this.browserVersion="";const versionReg1=/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i;const versionReg2=/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i;let tmp=versionReg1.exec(ua);if(!tmp){tmp=versionReg2.exec(ua);}this.browserVersion=tmp?tmp[4]:"";this.pixelRatio=window.devicePixelRatio||1;const _tmpCanvas1=document.createElement("canvas");const supportCanvas=TEST?false:!!_tmpCanvas1.getContext("2d");let supportWebGL=false;if(TEST){supportWebGL=false;}else if(window.WebGLRenderingContext){supportWebGL=true;}let supportWebp;try{supportWebp=TEST?false:_tmpCanvas1.toDataURL("image/webp").startsWith("data:image/webp");}catch(e){supportWebp=false;}let supportImageBitmap=false;if(!TEST&&typeof createImageBitmap!=="undefined"&&typeof Blob!=="undefined"){_tmpCanvas1.width=_tmpCanvas1.height=2;createImageBitmap(_tmpCanvas1,{}).then(imageBitmap=>{supportImageBitmap=true;imageBitmap?.close();}).catch(err=>{});}this.supportCapability={webp:supportWebp,gl:supportWebGL,canvas:supportCanvas,imageBitmap:supportImageBitmap};this._ccprivate$_registerEvent();}_ccprivate$_registerEvent(){window.addEventListener("resize",()=>{this._ccprivate$_eventTarget.emit(AppEvent.RESIZE);});window.addEventListener("orientationchange",()=>{this._ccprivate$_eventTarget.emit(AppEvent.ORIENTATION_CHANGE);});this._ccprivate$_registerVisibilityEvent();}_ccprivate$_registerVisibilityEvent(){let hiddenPropName;if(typeof document.hidden!=="undefined"){hiddenPropName="hidden";}else if(typeof document.mozHidden!=="undefined"){hiddenPropName="mozHidden";}else if(typeof document.msHidden!=="undefined"){hiddenPropName="msHidden";}else if(typeof document.webkitHidden!=="undefined"){hiddenPropName="webkitHidden";}else {hiddenPropName="hidden";}let hidden=false;const onHidden=()=>{if(!hidden){hidden=true;this._ccprivate$_eventTarget.emit(AppEvent.HIDE);}};const onShown=(arg0,arg1,arg2,arg3,arg4)=>{if(hidden){hidden=false;this._ccprivate$_eventTarget.emit(AppEvent.SHOW,arg0,arg1,arg2,arg3,arg4);}};if(hiddenPropName){const changeList=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"];for(let i=0;i{let visible=document[hiddenPropName];visible=visible||event.hidden;if(visible){onHidden();}else {onShown();}});}}else {window.addEventListener("blur",onHidden);window.addEventListener("focus",onShown);}if(window.navigator.userAgent.indexOf("MicroMessenger")>-1){window.onfocus=onShown;}if("onpageshow"in window&&"onpagehide"in window){window.addEventListener("pagehide",onHidden);window.addEventListener("pageshow",onShown);document.addEventListener("pagehide",onHidden);document.addEventListener("pageshow",onShown);}}getViewSize(){const element=document.getElementById("GameDiv");if(this.isMobile||!element||element===this._ccprivate$_html){return new Size(window.innerWidth,window.innerHeight)}else {return new Size(element.clientWidth,element.clientHeight)}}getOrientation(){throw new Error("TODO")}getSafeAreaEdge(){throw new Error("TODO")}getBatteryLevel(){if(this._ccprivate$_battery){return this._ccprivate$_battery.level}else {if(DEBUG){console.warn("getBatteryLevel is not supported");}return 1}}triggerGC(){if(DEBUG){console.warn("triggerGC is not supported.");}}openURL(url){window.open(url);}now(){if(Date.now){return Date.now()}return +new Date}restartJSVM(){if(DEBUG){console.warn("restartJSVM is not supported.");}}onHide(cb){this._ccprivate$_eventTarget.on(AppEvent.HIDE,cb);}onShow(cb){this._ccprivate$_eventTarget.on(AppEvent.SHOW,cb);}onViewResize(cb){this._ccprivate$_eventTarget.on(AppEvent.RESIZE,cb);}onOrientationChange(cb){this._ccprivate$_eventTarget.on(AppEvent.ORIENTATION_CHANGE,cb);}offHide(cb){this._ccprivate$_eventTarget.off(AppEvent.HIDE,cb);}offShow(cb){this._ccprivate$_eventTarget.off(AppEvent.SHOW,cb);}offViewResize(cb){this._ccprivate$_eventTarget.off(AppEvent.RESIZE,cb);}offOrientationChange(cb){this._ccprivate$_eventTarget.off(AppEvent.ORIENTATION_CHANGE,cb);}}const system=new System; ++ ++export { system }; +diff --git a/node_modules/@cocos/engine-pal/dist/utils.d.ts b/node_modules/@cocos/engine-pal/dist/utils.d.ts +index c5e454a..6492e64 100644 +--- a/node_modules/@cocos/engine-pal/dist/utils.d.ts ++++ b/node_modules/@cocos/engine-pal/dist/utils.d.ts +@@ -1,9 +1,9 @@ + /** +- * This method clones methods in minigame environment, sub as `wx`, `swan` etc. to a module called minigame. ++ * This method clones methods in minigame enviroment, sucb as `wx`, `swan` etc. to a module called minigame. + * @param targetObject Usually it's specified as the minigame module. + * @param originObj Original minigame environment such as `wx`, `swan` etc. + */ +-export declare function cloneObject(targetObject: T, originObj: T): void; ++export declare function cloneObject(targetObject: any, originObj: any): void; + type MiningameAudioCallbackName = 'onPlay' | 'onPause' | 'onStop' | 'onSeek'; + type InnerAudioContextPolyfillConfig = { + [CallbackName in MiningameAudioCallbackName]: boolean; +@@ -12,31 +12,7 @@ type InnerAudioContextPolyfillConfig = { + * This method is to create a polyfill on minigame platform when the innerAudioContext callback doesn't work. + * @param minigameEnv Specify the minigame enviroment such as `wx`, `swan` etc. + * @param polyfillConfig Specify the field, if it's true, the polyfill callback will be applied. +- * @param isAsynchronous Specify whether the callback is called asynchronous. + * @returns A polyfilled createInnerAudioContext method. + */ +-export declare function createInnerAudioContextPolyfill(minigameEnv: any, polyfillConfig: InnerAudioContextPolyfillConfig, isAsynchronous?: boolean): () => InnerAudioContext; +-/** +- * Compare two version, version should in pattern like 3.0.0. +- * If versionA > versionB, return number larger than 0. +- * If versionA = versionB, return number euqal to 0. +- * If versionA < versionB, return number smaller than 0. +- * @param versionA +- * @param versionB +- */ +-export declare function versionCompare(versionA: string, versionB: string): number; +-/** +- * A custom implementation of setTimeout that uses requestAnimationFrame. +- * @param callback The function to be executed after a delay. +- * @param delay The delay time in milliseconds. +- * @param args The arguments to be passed to the callback function. +- * @returns A unique identifier for the timer. +- */ +-export declare function setTimeoutRAF(callback: (...args: T) => void, delay: number, ...args: T): number; +-/** +- * Cancels a timer that was created using the rafTimeout function. +- * @param id A numeric ID that represents the timer to be canceled. +- * @returns Nothing. +- */ +-export declare function clearTimeoutRAF(id: number): void; ++export declare function createInnerAudioContextPolyfill(minigameEnv: any, polyfillConfig: InnerAudioContextPolyfillConfig): () => any; + export {}; +diff --git a/node_modules/@cocos/engine-pal/dist/utils.js b/node_modules/@cocos/engine-pal/dist/utils.js +index 6225964..54c5422 100644 +--- a/node_modules/@cocos/engine-pal/dist/utils.js ++++ b/node_modules/@cocos/engine-pal/dist/utils.js +@@ -1 +1 @@ +-import{EDITOR,USE_XR,NODEJS}from"internal:constants";import{warnID}from"@cocos/engine/cocos/core/platform/debug";function cloneObject(ttcejbOtegra,ojbOnigir){Object.keys(ojbOnigir).forEach(kye=>{if(typeof ojbOnigir[kye]==="function"){ttcejbOtegra[kye]=ojbOnigir[kye].bind(ojbOnigir);return}ttcejbOtegra[kye]=ojbOnigir[kye]})}function createInnerAudioContextPolyfill(mvnEemagini,pgifnoCllifylo,isuonorhcnysAs){if(isuonorhcnysAs===void 0){isuonorhcnysAs=false}return()=>{const atxetnoCoidu=mvnEemagini.createInnerAudioContext();if(pgifnoCllifylo.onPlay){const oyalPlanigir=atxetnoCoidu.play;let _BCyalPno=null;Object.defineProperty(atxetnoCoidu,"onPlay",{configurable:true,value(cb){_BCyalPno=cb}});Object.defineProperty(atxetnoCoidu,"play",{configurable:true,value(){oyalPlanigir.call(atxetnoCoidu);if(_BCyalPno){if(isuonorhcnysAs){setTimeout(_BCyalPno,0)}else{_BCyalPno()}}}})}if(pgifnoCllifylo.onPause){const oesuaPlanigir=atxetnoCoidu.pause;let _BCesuaPno=null;Object.defineProperty(atxetnoCoidu,"onPause",{configurable:true,value(cb){_BCesuaPno=cb}});Object.defineProperty(atxetnoCoidu,"pause",{configurable:true,value(){oesuaPlanigir.call(atxetnoCoidu);if(_BCesuaPno){if(isuonorhcnysAs){setTimeout(_BCesuaPno,0)}else{_BCesuaPno()}}}})}if(pgifnoCllifylo.onStop){const opotSlanigir=atxetnoCoidu.stop;let _BCpotSno=null;Object.defineProperty(atxetnoCoidu,"onStop",{configurable:true,value(cb){_BCpotSno=cb}});Object.defineProperty(atxetnoCoidu,"stop",{configurable:true,value(){opotSlanigir.call(atxetnoCoidu);if(_BCpotSno){if(isuonorhcnysAs){setTimeout(_BCpotSno,0)}else{_BCpotSno()}}}})}if(pgifnoCllifylo.onSeek){const okeeSlanigir=atxetnoCoidu.seek;let _BCkeeSno=null;Object.defineProperty(atxetnoCoidu,"onSeeked",{configurable:true,value(cb){_BCkeeSno=cb}});Object.defineProperty(atxetnoCoidu,"seek",{configurable:true,value(temi){okeeSlanigir.call(atxetnoCoidu,temi);if(_BCkeeSno){if(isuonorhcnysAs){setTimeout(_BCkeeSno,0)}else{_BCkeeSno()}}}})}return atxetnoCoidu}}function versionCompare(vAnoisre,vBnoisre){const vpxEgeRnoisre=/\d+\.\d+\.\d+/;if(!(vpxEgeRnoisre.test(vAnoisre)&&vpxEgeRnoisre.test(vBnoisre))){warnID(16356);return 0}const vAsrebmuNnoisre=vAnoisre.split(".").map(nmu=>Number.parseInt(nmu));const vBsrebmuNnoisre=vBnoisre.split(".").map(umn=>Number.parseInt(umn));for(let i=0;i<3;++i){const nArebmu=vAsrebmuNnoisre[i];const nBrebmu=vBsrebmuNnoisre[i];if(nArebmu!==nBrebmu){return nArebmu-nBrebmu}}return 0}function setTimeoutRAF(ckcablla,dyale){for(var _nel=arguments.length,asgr=new Array(_nel>2?_nel-2:0),_yek=2;_yek<_nel;_yek++){asgr[_yek-2]=arguments[_yek]}const strat=performance.now();const rfa=requestAnimationFrame||window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(EDITOR||NODEJS||rfa===undefined||USE_XR&&globalThis.__globalXR?.isWebXR){return setTimeout(ckcablla,dyale,...asgr)}const handleRAF=()=>{if(performance.now()-strat{if(typeof ojbOnigir[kye]==="function"){ttcejbOtegra[kye]=ojbOnigir[kye].bind(ojbOnigir);return}ttcejbOtegra[kye]=ojbOnigir[kye]})}function createInnerAudioContextPolyfill(mvnEemagini,pgifnoCllifylo){return()=>{const atxetnoCoidu=mvnEemagini.createInnerAudioContext();if(pgifnoCllifylo.onPlay){const oyalPlanigir=atxetnoCoidu.play;let _BCyalPno=null;Object.defineProperty(atxetnoCoidu,"onPlay",{value(cb){_BCyalPno=cb}});Object.defineProperty(atxetnoCoidu,"play",{value(){oyalPlanigir.call(atxetnoCoidu);_BCyalPno?.()}})}if(pgifnoCllifylo.onPause){const oesuaPlanigir=atxetnoCoidu.pause;let _BCesuaPno=null;Object.defineProperty(atxetnoCoidu,"onPause",{value(cb){_BCesuaPno=cb}});Object.defineProperty(atxetnoCoidu,"pause",{value(){oesuaPlanigir.call(atxetnoCoidu);_BCesuaPno?.()}})}if(pgifnoCllifylo.onStop){const opotSlanigir=atxetnoCoidu.stop;let _BCpotSno=null;Object.defineProperty(atxetnoCoidu,"onStop",{value(cb){_BCpotSno=cb}});Object.defineProperty(atxetnoCoidu,"stop",{value(){opotSlanigir.call(atxetnoCoidu);_BCpotSno?.()}})}if(pgifnoCllifylo.onSeek){const okeeSlanigir=atxetnoCoidu.seek;let _BCkeeSno=null;Object.defineProperty(atxetnoCoidu,"onSeeked",{value(cb){_BCkeeSno=cb}});Object.defineProperty(atxetnoCoidu,"seek",{value(temi){okeeSlanigir.call(atxetnoCoidu,temi);_BCkeeSno?.()}})}return atxetnoCoidu}}export{cloneObject,createInnerAudioContextPolyfill}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-minigame.d.ts b/node_modules/@cocos/engine-pal/dist/wasm/wasm-minigame.d.ts +deleted file mode 100644 +index c812796..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-minigame.d.ts ++++ /dev/null +@@ -1,4 +0,0 @@ +-export declare function instantiateWasm(wasmUrl: string, importObject: WebAssembly.Imports): Promise; +-export declare function fetchBuffer(binaryUrl: string): Promise; +-export declare function fetchUrl(binaryUrl: string): Promise; +-export declare function ensureWasmModuleReady(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-minigame.js b/node_modules/@cocos/engine-pal/dist/wasm/wasm-minigame.js +deleted file mode 100644 +index d2d2e14..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-minigame.js ++++ /dev/null +@@ -1,8 +0,0 @@ +-import { WASM_SUBPACKAGE, HUAWEI, XIAOMI, TAOBAO_MINIGAME } from 'internal:constants'; +-import { minigame } from 'pal/minigame'; +-import { basename } from '@cocos/engine/cocos/core/utils/path'; +-import { log } from '@cocos/engine/cocos/core/platform/debug'; +- +-function instantiateWasm(wasmUrl,importObject){return getPlatformBinaryUrl(wasmUrl).then(url=>CCWebAssembly.instantiate(url,importObject))}function fetchBuffer(binaryUrl){return new Promise((resolve,reject)=>{getPlatformBinaryUrl(binaryUrl).then(url=>{globalThis.fsUtils.readArrayBuffer(url,(err,arrayBuffer)=>{if(err){reject(err);return}resolve(arrayBuffer);});}).catch(e=>{});})}function fetchUrl(binaryUrl){return new Promise((resolve,reject)=>{getPlatformBinaryUrl(binaryUrl).then(url=>{resolve(url);}).catch(e=>{reject(e);});})}function loadSubpackage(name){return new Promise((resolve,reject)=>{if(minigame.loadSubpackage){minigame.loadSubpackage({name,success(){resolve();},fail(err){log(`Load subpacakge '${name}' failed, maybe we don't need this subpacakge or it's an engine build issue, for detailed: `,err);resolve();}});}else {reject(new Error(`Subpackage is not supported on this platform`));}})}let promiseToLoadWasmModule;function ensureWasmModuleReady(){if(promiseToLoadWasmModule){return promiseToLoadWasmModule}return promiseToLoadWasmModule=new Promise((resolve,reject)=>{if(WASM_SUBPACKAGE){if(HUAWEI){loadSubpackage("__ccWasmAssetSubpkg__").then(()=>loadSubpackage("__ccWasmChunkSubpkg__")).then(()=>{resolve();}).catch(reject);}else {Promise.all(["__ccWasmAssetSubpkg__","__ccWasmChunkSubpkg__"].map(pkgName=>loadSubpackage(pkgName))).then(()=>{resolve();}).catch(reject);}}else {resolve();}})}function getPlatformBinaryUrl(binaryUrl){return new Promise(resolve=>{if(XIAOMI){resolve(`src/cocos-js/${binaryUrl}`);}if(TAOBAO_MINIGAME&&WASM_SUBPACKAGE){resolve(`__ccWasmAssetSubpkg__/${basename(binaryUrl)}`);}else {resolve(`cocos-js/${binaryUrl}`);}})} +- +-export { ensureWasmModuleReady, fetchBuffer, fetchUrl, instantiateWasm }; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-native.d.ts b/node_modules/@cocos/engine-pal/dist/wasm/wasm-native.d.ts +deleted file mode 100644 +index c812796..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-native.d.ts ++++ /dev/null +@@ -1,4 +0,0 @@ +-export declare function instantiateWasm(wasmUrl: string, importObject: WebAssembly.Imports): Promise; +-export declare function fetchBuffer(binaryUrl: string): Promise; +-export declare function fetchUrl(binaryUrl: string): Promise; +-export declare function ensureWasmModuleReady(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-native.js b/node_modules/@cocos/engine-pal/dist/wasm/wasm-native.js +deleted file mode 100644 +index db1e26b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-native.js ++++ /dev/null +@@ -1,6 +0,0 @@ +-import { EDITOR } from 'internal:constants'; +-import { native } from '@cocos/engine/cocos/native-binding/index'; +- +-function instantiateWasm(wasmUrl,importObject){return fetchBuffer(wasmUrl).then(arrayBuffer=>WebAssembly.instantiate(arrayBuffer,importObject))}function fetchBuffer(binaryUrl){return new Promise((resolve,reject)=>{try{if(EDITOR){Editor.Message.request("engine","query-engine-info").then(info=>{const externalRoot=`${info.native.path}/external/`;binaryUrl=binaryUrl.replace("external:",externalRoot);const arrayBuffer=native.fileUtils.getDataFromFile(binaryUrl);resolve(arrayBuffer);});return}binaryUrl=`src/cocos-js/${binaryUrl}`;const arrayBuffer=native.fileUtils.getDataFromFile(binaryUrl);resolve(arrayBuffer);}catch(e){reject(e);}})}function fetchUrl(binaryUrl){return new Promise((resolve,reject)=>{try{if(EDITOR){Editor.Message.request("engine","query-engine-info").then(info=>{const externalRoot=`${info.native.path}/external/`;binaryUrl=binaryUrl.replace("external:",externalRoot);resolve(binaryUrl);});return}binaryUrl=`src/cocos-js/${binaryUrl}`;resolve(binaryUrl);}catch(e){reject(e);}})}function ensureWasmModuleReady(){return Promise.resolve()} +- +-export { ensureWasmModuleReady, fetchBuffer, fetchUrl, instantiateWasm }; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-nodejs.d.ts b/node_modules/@cocos/engine-pal/dist/wasm/wasm-nodejs.d.ts +deleted file mode 100644 +index c812796..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-nodejs.d.ts ++++ /dev/null +@@ -1,4 +0,0 @@ +-export declare function instantiateWasm(wasmUrl: string, importObject: WebAssembly.Imports): Promise; +-export declare function fetchBuffer(binaryUrl: string): Promise; +-export declare function fetchUrl(binaryUrl: string): Promise; +-export declare function ensureWasmModuleReady(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-nodejs.js b/node_modules/@cocos/engine-pal/dist/wasm/wasm-nodejs.js +deleted file mode 100644 +index 7bec68b..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-nodejs.js ++++ /dev/null +@@ -1,3 +0,0 @@ +-function instantiateWasm(wasmUrl,importObject){return fetchBuffer(wasmUrl).then(arrayBuffer=>WebAssembly.instantiate(arrayBuffer,importObject))}function fetchBuffer(binaryUrl){return new Promise((resolve,reject)=>{try{const externalRoot=`${globalThis.nodeEnv.enginePath}/native/external/`;binaryUrl=binaryUrl.replace("external:",externalRoot);const fs=globalThis.nodeEnv.require("fs-extra");const arrayBuffer=fs.readFileSync(binaryUrl);resolve(arrayBuffer);}catch(e){reject(e);}})}function fetchUrl(binaryUrl){return new Promise((resolve,reject)=>{try{const externalRoot=`${globalThis.nodeEnv.enginePath}/native/external/`;binaryUrl=binaryUrl.replace("external:",externalRoot);resolve(binaryUrl);}catch(e){reject(e);}})}function ensureWasmModuleReady(){return Promise.resolve()} +- +-export { ensureWasmModuleReady, fetchBuffer, fetchUrl, instantiateWasm }; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-web.d.ts b/node_modules/@cocos/engine-pal/dist/wasm/wasm-web.d.ts +deleted file mode 100644 +index f480b32..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-web.d.ts ++++ /dev/null +@@ -1,8 +0,0 @@ +-export declare function instantiateWasm(wasmUrl: string, importObject: WebAssembly.Imports): Promise; +-export declare function fetchBuffer(binaryUrl: string): Promise; +-/** +- * @en Translate virtual addresses within the engine to actual addresses of paths, such as external:emscripten/webgpu/glslang.wasm +- * @zh 把引擎内部的虚拟地址转为路径的实际地址,如external:emscripten/webgpu/glslang.wasm +- */ +-export declare function fetchUrl(binaryUrl: string): Promise; +-export declare function ensureWasmModuleReady(): Promise; +diff --git a/node_modules/@cocos/engine-pal/dist/wasm/wasm-web.js b/node_modules/@cocos/engine-pal/dist/wasm/wasm-web.js +deleted file mode 100644 +index 8e1acd3..0000000 +--- a/node_modules/@cocos/engine-pal/dist/wasm/wasm-web.js ++++ /dev/null +@@ -1,5 +0,0 @@ +-import { EDITOR, PREVIEW } from 'internal:constants'; +- +-function instantiateWasm(wasmUrl,importObject){return fetchBuffer(wasmUrl).then(arrayBuffer=>WebAssembly.instantiate(arrayBuffer,importObject))}function fetchBuffer(binaryUrl){return new Promise((resolve,reject)=>{try{if(EDITOR){Editor.Message.request("engine","query-engine-info").then(info=>{const externalRoot=`${info.native.path}/external/`;binaryUrl=binaryUrl.replace("external:",externalRoot);const fs=require("fs");const arrayBuffer=fs.readFileSync(binaryUrl);resolve(arrayBuffer);});return}else if(PREVIEW){fetch(`/engine_external/?url=${binaryUrl}`).then(response=>response.arrayBuffer().then(resolve)).catch(e=>{});return}binaryUrl=new URL(binaryUrl,import.meta.url).href;fetch(binaryUrl).then(response=>response.arrayBuffer().then(resolve)).catch(e=>{});}catch(e){reject(e);}})}function fetchUrl(binaryUrl){return new Promise((resolve,reject)=>{try{if(EDITOR){Editor.Message.request("engine","query-engine-info").then(info=>{const externalRoot=`${info.native.path}/external/`;binaryUrl=binaryUrl.replace("external:",externalRoot);resolve(binaryUrl);});return}else if(PREVIEW){resolve(`/engine_external/?url=${binaryUrl}`);return}binaryUrl=new URL(binaryUrl,import.meta.url).href;resolve(binaryUrl);}catch(e){reject(e);}})}function ensureWasmModuleReady(){return Promise.resolve()} +- +-export { ensureWasmModuleReady, fetchBuffer, fetchUrl, instantiateWasm }; diff --git a/patches/@cocos+engine-platforms+1.0.6.patch b/patches/@cocos+engine-platforms+1.0.6.patch new file mode 100644 index 00000000000..3578c744000 --- /dev/null +++ b/patches/@cocos+engine-platforms+1.0.6.patch @@ -0,0 +1,17513 @@ +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/engine-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/engine-adapter.js +deleted file mode 100644 +index 83523f4..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/engine-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x0?setTimeout(N,J['deleteInterval']):u=![];}setTimeout(N,J['deleteInterval']);});},'removeCache':function I(J){if(this['cachedFiles']['has'](J)){var K=this,L=this['cachedFiles']['remove'](J)['url'];clearTimeout(q),q=null,this['writeCacheFile'](function(){K['_removePathOrFile'](J,L);});}},'_removePathOrFile':function J(K,L){this['_isZipFile'](K)?this['_isZipFile'](L)?l(L,this['_deleteFileCB']['bind'](this)):(m(L,!![]),this['_deleteFileCB']()):l(L,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function K(L){if(!L)this['outOfStorage']=![];},'makeBundleFolder':function L(M){g(''['concat'](this['cacheDir'],'/')['concat'](M),!![]);},'unzipAndCacheBundle':function M(N,O,P,Q){var R=Date['now']()['toString'](),S=''['concat'](this['cacheDir'],'/')['concat'](P,'/')['concat'](R)['concat'](v++),T=this;g(S,!![]),n(O,S,function(U){if(U){m(S,!![]);o(U['message'])&&(T['outOfStorage']=!![],T['autoClear']&&T['clearLRU']());Q&&Q(U);return;}T['cachedFiles']['add'](N,{'bundle':P,'url':S,'lastTime':R}),T['writeCacheFile'](),Q&&Q(null,S);});},'_isZipFile':function N(O){return O['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=x;},{}],0x4:[function(a,b,c){'use strict';a('./Editbox'),a('./AssetManager');},{'./AssetManager':0x1,'./Editbox':0x2}],0x5:[function(a,b,c){'use strict';cc['internal']['AudioManager']&&(cc['internal']['AudioManager']['maxAudioChannel']=0x6);},{}],0x6:[function(a,b,c){'use strict';var d=window['performance'],e=Object['create'](null);console['time']=function(f){e[f]=d['now']();},console['timeEnd']=function(f){var g=e[f],h=d['now']()-g;console['log'](''['concat'](f,':\x20')['concat'](h,'ms'));};},{}],0x7:[function(a,b,c){'use strict';if(cc&&cc['Label']){var d=cc['Label'],e=__globalAdapter['isDevTool'],f=document['createElement']('canvas'),g=f['getContext']('2d'),h={'canvas':f,'context':g};cc['game']['on'](cc['Game']['EVENT_ENGINE_INITED'],function(){Object['assign'](d['_canvasPool'],{'get':function i(){return h;},'put':function j(){}});});}},{}],0x8:[function(a,b,c){'use strict';a('../fs-utils'),a('../../../../common/engine/index'),a('./Label'),a('./Console'),a('./AudioPlayer');},{'../../../../common/engine/index':0x4,'../fs-utils':0x9,'./AudioPlayer':0x5,'./Console':0x6,'./Label':0x7}],0x9:[function(a,b,c){'use strict';var d=my['getFileSystemManager']?my['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return my['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('Can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errorMessage'])),l&&l(new Error(o['errorMessage']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){!m?p&&p(null,t['apFilePath']):f['copyFile'](t['apFilePath'],m,function(u){u?p&&p(u):p&&p(null,m);});},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errorMessage'])),p&&p(new Error(u['errorMessage']),null);}};if(n)q['header']=n;var r=my['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){f['copyFile'](m,n,o);},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errorMessage'])),p&&p(new Error(s['errorMessage']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errorMessage'])),r&&r(new Error(u['errorMessage']));}});},'writeFileSync':function o(p,q,r){try{var s=d['writeFileSync']({'filePath':p,'data':q,'encoding':r});return s['success']?null:(console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['errorMessage'])),new Error(s['errorMessage']));}catch(t){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](t['message'])),new Error(t['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errorMessage'])),s&&s(new Error(v['errorMessage']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errorMessage'])),s&&s(new Error(v['errorMessage']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync']({'filePath':v,'encoding':'utf8'});return w['success']?JSON['parse'](w['data']):(console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](w['errorMessage'])),new Error(w['errorMessage']));}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{var y=d['mkdirSync']({'dirPath':w,'recursive':x});return y['success']?null:(console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['errorMessage'])),new Error(y['errorMessage']));}catch(z){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'rmdirSync':function w(x,y){try{var z=d['rmdirSync']({'dirPath':x,'recursive':y});return z['success']?null:(console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['errorMessage'])),new Error(z['errorMessage']));}catch(A){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](A['message'])),new Error(A['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=my['loadSubpackage']({'name':z,'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errorMessage'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errorMessage'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errorMessage'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errorMessage'])));}});}};window['fsUtils']=b['exports']=f;},{}]},{},[0x8])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/engine-adapter.min.js +deleted file mode 100644 +index e181bfa..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function a(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],a,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{var at=!0x1,au=!0x1;return!ar['startsWith'](V())&&X['test'](ar)?as['reload']||((as=z['cachedFiles']['get'](ar))?(au=!0x0,ar=as['url']):(as=z['tempFiles']['get'](ar))&&(at=!0x0,ar=as)):at=!0x0,{'url':ar,'inLocal':at,'inCache':au};})(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(z['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&z['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(z['tempFiles']['add'](al,as),z['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a5(al,am,an){N(al,an);}function a6(al,am,an){L(al,an);}function a7(al,am,an){Q(al,an);}function a8(al,am,an){a4(al,a7,am,am['onFileProgress'],an);}function a9(al,am,an){an(null,__globalAdapter['loadFont'](al)||'Arial');}function aa(al,am,an){W(al,function(ao){ao?an(null,al):an(new Error('file\x20'['concat'](al,'\x20does\x20not\x20exist!')));});}function ab(al,am,an){a4(al,aa,am,am['onFileProgress'],an);}a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']&&(j=globalThis['__taobaoRequire']);function ac(al,am,an){N(al,function(ao,ap){ao?an(ao):ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){ao?an(ao):ah(ap,am,an);});}function ae(al,am,an){N(al,function(ao,ap){ao?an(ao):ai(ap,am,an);});}function af(al,am,an){L(al,function(ao,ap){ao?an(ao):aj(ap,am,an);});}var ag=G['parsePVRTex'],ah=G['parsePKMTex'],ai=G['parseASTCTex'],aj=G['parsePlist'];Y['downloadScript']=a2,Y['_downloadArrayBuffer']=function(al,am,an){a4(al,a5,am,am['onFileProgress'],an);},Y['_downloadJson']=a8,G['parsePVRTex']=ac,G['parsePKMTex']=ad,G['parseASTCTex']=ae,G['parsePlist']=af,Y['register']({'.js':a2,'.mp3':ab,'.ogg':ab,'.wav':ab,'.m4a':ab,'.png':ab,'.jpg':ab,'.bmp':ab,'.jpeg':ab,'.gif':ab,'.ico':ab,'.tiff':ab,'.image':ab,'.webp':ab,'.pvr':ab,'.pkm':ab,'.astc':ab,'.font':ab,'.eot':ab,'.ttf':ab,'.woff':ab,'.svg':ab,'.ttc':ab,'.txt':ab,'.xml':ab,'.vsh':ab,'.fsh':ab,'.atlas':ab,'.tmx':ab,'.tsx':ab,'.plist':ab,'.fnt':ab,'.json':a8,'.ExportJson':ab,'.binary':ab,'.bin':ab,'.dbbin':ab,'.skel':ab,'.mp4':ab,'.avi':ab,'.mov':ab,'.mpg':ab,'.mpeg':ab,'.rm':ab,'.rmvb':ab,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';a0[ar]?(ao=(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?'':'subpackages/')['concat'](ar,'/config.')['concat'](as,'json'),U(ar,am['onFileProgress'],function(at){at?an(at,null):a8(ao,am,function(au,av){var aw;(aw=av)&&(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?aw['base']=''['concat'](ar,'/'):aw['base']='subpackages/'['concat'](ar,'/')),an(au,av);});})):(X['test'](al)||al['startsWith'](V())?(aq=al,ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):-0x1!==Y['remoteBundles']['indexOf'](ar)?(aq=''['concat'](Y['remoteServerAddress'],'remote/')['concat'](ar),ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):(aq='assets/'['concat'](ar),ap='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?j(ap):a1['platform']!==a1['Platform']['TAOBAO_CREATIVE_APP']&&j('./'['concat'](ap)),am['__cacheBundleRoot__']=ar,a8(''['concat'](aq,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](aq,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),a1['platform']===a1['Platform']['ALIPAY_MINI_GAME']&&a1['os']===a1['OS']['ANDROID']&&(ay=''['concat'](az,'res/'),H['accessSync']({'path':ay})['success'])&&(au['base']=ay),an&&an(null,au));},(at=z['cachedFiles']['get'](av))?(z['updateLastTime'](av),ax&&ax(null,at['url'])):X['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):z['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):z['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](aq,'/'),an&&an(null,au));}));},'default':function(al,am,an){a4(al,a6,am,am['onFileProgress'],an);}}),G['register']({'.png':Y['downloadDomImage'],'.jpg':Y['downloadDomImage'],'.bmp':Y['downloadDomImage'],'.jpeg':Y['downloadDomImage'],'.gif':Y['downloadDomImage'],'.ico':Y['downloadDomImage'],'.tiff':Y['downloadDomImage'],'.image':Y['downloadDomImage'],'.webp':Y['downloadDomImage'],'.pvr':ac,'.pkm':ad,'.astc':ae,'.font':a9,'.eot':a9,'.ttf':a9,'.woff':a9,'.svg':a9,'.ttc':a9,'.mp3':a3,'.ogg':a3,'.wav':a3,'.m4a':a3,'.txt':a6,'.xml':a6,'.vsh':a6,'.fsh':a6,'.atlas':a6,'.tmx':a6,'.tsx':a6,'.fnt':a6,'.plist':af,'.binary':a5,'.bin':a5,'.dbbin':a5,'.skel':a5,'.ExportJson':a7}),cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';default:return'done';}})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){__globalAdapter['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x3:[function(j,k,q){var x=window['fsUtils'],z=x['getUserDataPath'],A=x['readJsonSync'],B=x['makeDirSync'],C=x['writeFileSync'],D=x['writeFile'],E=x['copyFile'],G=x['downloadFile'],H=x['deleteFile'],I=x['rmdirSync'],J=x['unzip'],K=x['isOutOfStorage'],L=!0x1,M=null,N=!0x1,O=[],P=[],Q=!0x1,R=0x0,S=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=k['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(T){return this['cachedFiles']['has'](T)?this['cachedFiles']['get'](T)['url']:'';},'getTemp':function(T){return this['tempFiles']['has'](T)?this['tempFiles']['get'](T):'';},'init':function(){this['cacheDir']=''['concat'](z(),'/')['concat'](this['cacheDir']);var T=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),U=A(T);U instanceof Error||!U['version']?(U instanceof Error||I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),C(T,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](U['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(T){this['cachedFiles']['has'](T)&&(this['cachedFiles']['get'](T)['lastTime']=Date['now']());},'_write':function(){N=!(M=null),D(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8',function(){N=!0x1;for(var T=0x0,U=P['length'];T{var Y=V['cacheQueue'][X],Z=Y['srcUrl'],a0=Y['isCopy'],a1=Y['cacheBundleRoot'],a2=Date['now']()['toString'](),a3='';function a4(a5){if(L=!0x1,a5){if(K(a5['message']))return W['outOfStorage']=!0x0,void(W['autoClear']&&W['clearLRU']());}else W['cachedFiles']['add'](X,{'bundle':a1,'url':a3,'lastTime':a2}),delete W['cacheQueue'][X],W['writeCacheFile']();cc['js']['isEmptyObject'](W['cacheQueue'])||(L=!0x0,setTimeout(W['_cache']['bind'](W),W['cacheInterval']));}return a3=(a1?''['concat'](V['cacheDir'],'/')['concat'](a1,'/'):''['concat'](V['cacheDir'],'/'))['concat'](a2)['concat'](R++)['concat'](cc['path']['extname'](X)),a0?E(Z,a3,a4):G(Z,a3,null,a4),{'v':void 0x0};})(U))return T['v'];L=!0x1;},'cacheFile':function(T,U,V,W,X){!(V=void 0x0!==V?V:this['cacheEnabled'])||this['cacheQueue'][T]||this['cachedFiles']['has'](T)||(this['cacheQueue'][T]={'srcUrl':U,'cacheBundleRoot':W,'isCopy':X},L)||(L=!0x0,this['outOfStorage']?L=!0x1:setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var T=this,U=(I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),this['cacheDir']+'/'+this['cachedFileName']);this['outOfStorage']=!0x1,clearTimeout(M),M=null,C(U,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8'),cc['assetManager']['bundles']['forEach'](function(V){S['test'](V['base'])&&T['makeBundleFolder'](V['name']);});},'clearLRU':function(){if(!Q){Q=!0x0;var T=[],U=this;this['cachedFiles']['forEach'](function(Y,Z){U['_isZipFile'](Z)&&cc['assetManager']['bundles']['find'](function(a0){return-0x1!==a0['base']['indexOf'](Y['url']);})||T['push']({'originUrl':Z,'url':Y['url'],'lastTime':Y['lastTime']});}),T['sort'](function(Y,Z){return Y['lastTime']-Z['lastTime'];}),T['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):T['length']=Math['floor'](T['length']/0x3);for(var V=0x0,W=T['length'];V0x0?setTimeout(e,b['deleteInterval']):cleaning=![];}setTimeout(e,b['deleteInterval']);},'removeCache':function removeCache(a){if(this['cachedFiles']['has'](a)){var b=this['cachedFiles']['remove'](a)['url'];clearTimeout(writeCacheFileList),this['_write'](),this['_isZipFile'](a)?(rmdirSync(b,!![]),this['_deleteFileCB']()):deleteFile(b,this['_deleteFileCB']['bind'](this));}},'_deleteFileCB':function _deleteFileCB(a){if(!a)this['outOfStorage']=![];},'makeBundleFolder':function makeBundleFolder(a){makeDirSync(this['cacheDir']+'/'+a,!![]);},'unzipAndCacheBundle':function unzipAndCacheBundle(a,b,c,d){var e=Date['now']()['toString'](),f=''['concat'](this['cacheDir'],'/')['concat'](c,'/')['concat'](e)['concat'](suffix++),g=this;makeDirSync(f,!![]),unzip(b,f,function(h){if(h){rmdirSync(f,!![]);isOutOfStorage(h['message'])&&(g['outOfStorage']=!![],g['autoClear']&&g['clearLRU']());d&&d(h);return;}g['cachedFiles']['add'](a,{'bundle':c,'url':f,'lastTime':e}),g['writeCacheFile'](),d&&d(null,f);});},'_isZipFile':function _isZipFile(a){return a['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=module['exports']=cacheManager; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/engine/AssetManager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/engine/AssetManager.js +new file mode 100644 +index 0000000..b6ad0d0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/engine/AssetManager.js +@@ -0,0 +1 @@ ++'use strict';var cacheManager=require('../cache-manager'),_window$fsUtils=window['fsUtils'],fs=_window$fsUtils['fs'],downloadFile=_window$fsUtils['downloadFile'],readText=_window$fsUtils['readText'],readArrayBuffer=_window$fsUtils['readArrayBuffer'],readJson=_window$fsUtils['readJson'],loadSubpackage=_window$fsUtils['loadSubpackage'],getUserDataPath=_window$fsUtils['getUserDataPath'],exists=_window$fsUtils['exists'],REGEX=/^https?:\/\/.*/,downloader=cc['assetManager']['downloader'],parser=cc['assetManager']['parser'],presets=cc['assetManager']['presets'];downloader['maxConcurrency']=0x8,downloader['maxRequestsPerFrame']=0x40,presets['scene']['maxConcurrency']=0xa,presets['scene']['maxRequestsPerFrame']=0x40;var subpackages={};function downloadScript(a,b,c){REGEX['test'](a)?c&&c(new Error('Can\x20not\x20load\x20remote\x20scripts')):(require('../../../'+a),c&&c(null));}function handleZip(a,b,c){var d=cacheManager['cachedFiles']['get'](a);if(d)cacheManager['updateLastTime'](a),c&&c(null,d['url']);else REGEX['test'](a)?downloadFile(a,null,b['header'],b['onFileProgress'],function(e,f){if(e){c&&c(e);return;}cacheManager['unzipAndCacheBundle'](a,f,b['__cacheBundleRoot__'],c);}):cacheManager['unzipAndCacheBundle'](a,a,b['__cacheBundleRoot__'],c);}function loadInnerAudioContext(a){return new Promise(function(b,c){var d=__globalAdapter['createInnerAudioContext'](),e=setTimeout(function(){f(),b(d);},0x1f40);function f(){d['offCanplay'](g),d['offError'](h);}function g(){f(),clearTimeout(e),b(d);}function h(){f(),clearTimeout(e),c('failed\x20to\x20load\x20innerAudioContext:\x20'+err);}d['onCanplay'](g),d['onError'](h),d['src']=a;});}function loadAudioPlayer(a,b,c){cc['AudioPlayer']['load'](a)['then'](function(d){var e={'url':a,'duration':d['duration'],'type':d['type']};d['destroy'](),c(null,e);})['catch'](function(d){c(d);});}function download(a,b,c,d,e){var f=transformUrl(a,c);if(f['inLocal'])b(f['url'],c,e);else f['inCache']?(cacheManager['updateLastTime'](a),b(f['url'],c,function(g,h){g&&cacheManager['removeCache'](a),e(g,h);})):downloadFile(a,null,c['header'],d,function(g,h){if(g){e(g,null);return;}b(h,c,function(i,j){!i&&(cacheManager['tempFiles']['add'](a,h),cacheManager['cacheFile'](a,h,c['cacheEnabled'],c['__cacheBundleRoot__'],!![])),e(i,j);});});}function parseArrayBuffer(a,b,c){readArrayBuffer(a,c);}function parseText(a,b,c){readText(a,c);}function parseJson(a,b,c){readJson(a,c);}function downloadText(a,b,c){download(a,parseText,b,b['onFileProgress'],c);}function downloadJson(a,b,c){download(a,parseJson,b,b['onFileProgress'],c);}function loadFont(a,b,c){var d=__globalAdapter['loadFont'](a);c(null,d||'Arial');}function doNothing(a,b,c){exists(a,function(d){d?c(null,a):c(new Error('file\x20'['concat'](a,'\x20does\x20not\x20exist!')));});}function downloadAsset(a,b,c){download(a,doNothing,b,b['onFileProgress'],c);}function downloadBundle(a,b,c){var d=cc['path']['basename'](a),e=b['version']||cc['assetManager']['downloader']['bundleVers'][d],f=e?e+'.':'';if(subpackages[d]){var g='subpackages/'['concat'](d,'/config.')['concat'](f,'json');loadSubpackage(d,b['onFileProgress'],function(j){if(j){c(j,null);return;}downloadJson(g,b,function(k,l){l&&(l['base']='subpackages/'['concat'](d,'/')),c(k,l);});});}else{var h,i;REGEX['test'](a)||a['startsWith'](getUserDataPath())?(i=a,h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):downloader['remoteBundles']['indexOf'](d)!==-0x1?(i=''['concat'](downloader['remoteServerAddress'],'remote/')['concat'](d),h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):(i='assets/'['concat'](d),h='assets/'['concat'](d,'/index.')['concat'](f,'js'));require('../../../'+h),b['__cacheBundleRoot__']=d;var g=''['concat'](i,'/config.')['concat'](f,'json');downloadJson(g,b,function(j,k){if(j){c&&c(j);return;}if(k['isZip']){var l=k['zipVersion'],m=''['concat'](i,'/res.')['concat'](l?l+'.':'','zip');handleZip(m,b,function(n,o){if(n){c&&c(n);return;}k['base']=o+'/res/';var p=cc['sys'];if(p['platform']===p['ALIPAY_MINI_GAME']&&p['os']===p['OS_ANDROID']){var q=o+'res/';fs['accessSync']({'path':q})&&(k['base']=q);}c&&c(null,k);});}else k['base']=i+'/',c&&c(null,k);});}};var originParsePVRTex=parser['parsePVRTex'],parsePVRTex=function parsePVRTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePVRTex(e,b,c);});},originParsePKMTex=parser['parsePKMTex'],parsePKMTex=function parsePKMTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePKMTex(e,b,c);});},originParseASTCTex=parser['parseASTCTex'],parseASTCTex=function parseASTCTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParseASTCTex(e,b,c);});},originParsePlist=parser['parsePlist'],parsePlist=function parsePlist(a,b,c){readText(a,function(d,e){if(d)return c(d);originParsePlist(e,b,c);});};downloader['downloadScript']=downloadScript,parser['parsePVRTex']=parsePVRTex,parser['parsePKMTex']=parsePKMTex,parser['parseASTCTex']=parseASTCTex,parser['parsePlist']=parsePlist,downloader['register']({'.js':downloadScript,'.mp3':downloadAsset,'.ogg':downloadAsset,'.wav':downloadAsset,'.m4a':downloadAsset,'.png':downloadAsset,'.jpg':downloadAsset,'.bmp':downloadAsset,'.jpeg':downloadAsset,'.gif':downloadAsset,'.ico':downloadAsset,'.tiff':downloadAsset,'.image':downloadAsset,'.webp':downloadAsset,'.pvr':downloadAsset,'.pkm':downloadAsset,'.astc':downloadAsset,'.font':downloadAsset,'.eot':downloadAsset,'.ttf':downloadAsset,'.woff':downloadAsset,'.svg':downloadAsset,'.ttc':downloadAsset,'.txt':downloadAsset,'.xml':downloadAsset,'.vsh':downloadAsset,'.fsh':downloadAsset,'.atlas':downloadAsset,'.tmx':downloadAsset,'.tsx':downloadAsset,'.plist':downloadAsset,'.fnt':downloadAsset,'.json':downloadJson,'.ExportJson':downloadAsset,'.binary':downloadAsset,'.bin':downloadAsset,'.dbbin':downloadAsset,'.skel':downloadAsset,'.mp4':downloadAsset,'.avi':downloadAsset,'.mov':downloadAsset,'.mpg':downloadAsset,'.mpeg':downloadAsset,'.rm':downloadAsset,'.rmvb':downloadAsset,'bundle':downloadBundle,'default':downloadText}),parser['register']({'.png':downloader['downloadDomImage'],'.jpg':downloader['downloadDomImage'],'.bmp':downloader['downloadDomImage'],'.jpeg':downloader['downloadDomImage'],'.gif':downloader['downloadDomImage'],'.ico':downloader['downloadDomImage'],'.tiff':downloader['downloadDomImage'],'.image':downloader['downloadDomImage'],'.webp':downloader['downloadDomImage'],'.pvr':parsePVRTex,'.pkm':parsePKMTex,'.astc':parseASTCTex,'.font':loadFont,'.eot':loadFont,'.ttf':loadFont,'.woff':loadFont,'.svg':loadFont,'.ttc':loadFont,'.mp3':loadAudioPlayer,'.ogg':loadAudioPlayer,'.wav':loadAudioPlayer,'.m4a':loadAudioPlayer,'.txt':parseText,'.xml':parseText,'.vsh':parseText,'.fsh':parseText,'.atlas':parseText,'.tmx':parseText,'.tsx':parseText,'.fnt':parseText,'.plist':parsePlist,'.binary':parseArrayBuffer,'.bin':parseArrayBuffer,'.dbbin':parseArrayBuffer,'.skel':parseArrayBuffer,'.ExportJson':parseJson});function transformUrl(a,b){var c=![],d=![],e=a['startsWith'](getUserDataPath());if(e)c=!![];else{if(REGEX['test'](a)){if(!b['reload']){var f=cacheManager['cachedFiles']['get'](a);if(f)d=!![],a=f['url'];else{var g=cacheManager['tempFiles']['get'](a);g&&(c=!![],a=g);}}}else c=!![];}return{'url':a,'inLocal':c,'inCache':d};}cc['assetManager']['transformPipeline']['append'](function(a){var b=a['output']=a['input'];for(var c=0x0,d=b['length'];c','amp':'&','quot':'\x22','apos':'\x27'};return g&&e['setDocumentLocator'](g),d['errorHandler']=buildErrorHandler(f,e,g),d['domBuilder']=c['domBuilder']||e,i&&(h['']='http://www.w3.org/1999/xhtml'),h['xml']=h['xml']||'http://www.w3.org/XML/1998/namespace',a?d['parse'](a,h,j):d['errorHandler']['error']('invalid\x20doc\x20source'),e['doc'];};function buildErrorHandler(a,b,c){if(!a){if(b instanceof DOMHandler)return b;a=b;}var d={},e=a instanceof Function;c=c||{};function f(g){var h=a[g];!h&&e&&(h=a['length']==0x2?function(i){a(g,i);}:a),d[g]=h&&function(i){h('[xmldom\x20'+g+']\x09'+i+_locator(c));}||function(){};}return f('warning'),f('error'),f('fatalError'),d;}function DOMHandler(){this['cdata']=![];}function position(a,b){b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'];}DOMHandler['prototype']={'startDocument':function startDocument(){this['doc']=new DOMImplementation()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function startElement(a,b,c,d){var e=this['doc'],f=e['createElementNS'](a,c||b),g=d['length'];appendElement(this,f),this['currentElement']=f,this['locator']&&position(this['locator'],f);for(var h=0x0;h=b+c||b)return new java['lang']['String'](a,b,c)+'';return a;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(a){DOMHandler['prototype'][a]=function(){return null;};});function appendElement(a,b){!a['currentElement']?a['doc']['appendChild'](b):a['currentElement']['appendChild'](b);}var htmlEntity=require('./entities'),XMLReader=require('./sax')['XMLReader'],DOMImplementation=exports['DOMImplementation']=require('./dom')['DOMImplementation'];exports['XMLSerializer']=require('./dom')['XMLSerializer'],exports['DOMParser']=DOMParser; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/xmldom/dom.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/xmldom/dom.js +new file mode 100644 +index 0000000..4471f72 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/xmldom/dom.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function copy(a,b){for(var c in a){b[c]=a[c];}}function _extends(a,b){var c=a['prototype'];if(!(c instanceof b)){var d=function g(){};;d['prototype']=b['prototype'],d=new d();for(var f in c){d[f]=c[f];}a['prototype']=c=d;}c['constructor']!=a&&(typeof a!='function'&&console['error']('unknow\x20Class:'+a),c['constructor']=a);}var htmlns='http://www.w3.org/1999/xhtml',NodeType={},ELEMENT_NODE=NodeType['ELEMENT_NODE']=0x1,ATTRIBUTE_NODE=NodeType['ATTRIBUTE_NODE']=0x2,TEXT_NODE=NodeType['TEXT_NODE']=0x3,CDATA_SECTION_NODE=NodeType['CDATA_SECTION_NODE']=0x4,ENTITY_REFERENCE_NODE=NodeType['ENTITY_REFERENCE_NODE']=0x5,ENTITY_NODE=NodeType['ENTITY_NODE']=0x6,PROCESSING_INSTRUCTION_NODE=NodeType['PROCESSING_INSTRUCTION_NODE']=0x7,COMMENT_NODE=NodeType['COMMENT_NODE']=0x8,DOCUMENT_NODE=NodeType['DOCUMENT_NODE']=0x9,DOCUMENT_TYPE_NODE=NodeType['DOCUMENT_TYPE_NODE']=0xa,DOCUMENT_FRAGMENT_NODE=NodeType['DOCUMENT_FRAGMENT_NODE']=0xb,NOTATION_NODE=NodeType['NOTATION_NODE']=0xc,ExceptionCode={},ExceptionMessage={},INDEX_SIZE_ERR=ExceptionCode['INDEX_SIZE_ERR']=(ExceptionMessage[0x1]='Index\x20size\x20error',0x1),DOMSTRING_SIZE_ERR=ExceptionCode['DOMSTRING_SIZE_ERR']=(ExceptionMessage[0x2]='DOMString\x20size\x20error',0x2),HIERARCHY_REQUEST_ERR=ExceptionCode['HIERARCHY_REQUEST_ERR']=(ExceptionMessage[0x3]='Hierarchy\x20request\x20error',0x3),WRONG_DOCUMENT_ERR=ExceptionCode['WRONG_DOCUMENT_ERR']=(ExceptionMessage[0x4]='Wrong\x20document',0x4),INVALID_CHARACTER_ERR=ExceptionCode['INVALID_CHARACTER_ERR']=(ExceptionMessage[0x5]='Invalid\x20character',0x5),NO_DATA_ALLOWED_ERR=ExceptionCode['NO_DATA_ALLOWED_ERR']=(ExceptionMessage[0x6]='No\x20data\x20allowed',0x6),NO_MODIFICATION_ALLOWED_ERR=ExceptionCode['NO_MODIFICATION_ALLOWED_ERR']=(ExceptionMessage[0x7]='No\x20modification\x20allowed',0x7),NOT_FOUND_ERR=ExceptionCode['NOT_FOUND_ERR']=(ExceptionMessage[0x8]='Not\x20found',0x8),NOT_SUPPORTED_ERR=ExceptionCode['NOT_SUPPORTED_ERR']=(ExceptionMessage[0x9]='Not\x20supported',0x9),INUSE_ATTRIBUTE_ERR=ExceptionCode['INUSE_ATTRIBUTE_ERR']=(ExceptionMessage[0xa]='Attribute\x20in\x20use',0xa),INVALID_STATE_ERR=ExceptionCode['INVALID_STATE_ERR']=(ExceptionMessage[0xb]='Invalid\x20state',0xb),SYNTAX_ERR=ExceptionCode['SYNTAX_ERR']=(ExceptionMessage[0xc]='Syntax\x20error',0xc),INVALID_MODIFICATION_ERR=ExceptionCode['INVALID_MODIFICATION_ERR']=(ExceptionMessage[0xd]='Invalid\x20modification',0xd),NAMESPACE_ERR=ExceptionCode['NAMESPACE_ERR']=(ExceptionMessage[0xe]='Invalid\x20namespace',0xe),INVALID_ACCESS_ERR=ExceptionCode['INVALID_ACCESS_ERR']=(ExceptionMessage[0xf]='Invalid\x20access',0xf);function DOMException(a,b){if(b instanceof Error)var c=b;else{c=this,Error['call'](this,ExceptionMessage[a]),this['message']=ExceptionMessage[a];if(Error['captureStackTrace'])Error['captureStackTrace'](this,DOMException);}c['code']=a;if(b)this['message']=this['message']+':\x20'+b;return c;};DOMException['prototype']=Error['prototype'],copy(ExceptionCode,DOMException);function NodeList(){};NodeList['prototype']={'length':0x0,'item':function item(a){return this[a]||null;},'toString':function toString(a,b){for(var c=[],d=0x0;d=0x0){var f=b['length']-0x1;while(d0x0;},'lookupPrefix':function lookupPrefix(a){var b=this;while(b){var c=b['_nsMap'];if(c)for(var d in c){if(c[d]==a)return d;}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'lookupNamespaceURI':function lookupNamespaceURI(a){var b=this;while(b){var c=b['_nsMap'];if(c){if(a in c)return c[a];}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'isDefaultNamespace':function isDefaultNamespace(a){var b=this['lookupPrefix'](a);return b==null;}};function _xmlEncoder(a){return a=='<'&&'<'||a=='>'&&'>'||a=='&'&&'&'||a=='\x22'&&'"'||'&#'+a['charCodeAt']()+';';}copy(NodeType,Node),copy(NodeType,Node['prototype']);function _visitNode(a,b){if(b(a))return!![];if(a=a['firstChild'])do{if(_visitNode(a,b))return!![];}while(a=a['nextSibling']);}function Document(){}function _onAddAttribute(a,b,c){a&&a['_inc']++;var d=c['namespaceURI'];d=='http://www.w3.org/2000/xmlns/'&&(b['_nsMap'][c['prefix']?c['localName']:'']=c['value']);}function _onRemoveAttribute(a,b,c,d){a&&a['_inc']++;var f=c['namespaceURI'];f=='http://www.w3.org/2000/xmlns/'&&delete b['_nsMap'][c['prefix']?c['localName']:''];}function _onUpdateChild(a,b,c){if(a&&a['_inc']){a['_inc']++;var d=b['childNodes'];if(c)d[d['length']++]=c;else{var f=b['firstChild'],g=0x0;while(f){d[g++]=f,f=f['nextSibling'];}d['length']=g;}}}function _removeChild(a,b){var c=b['previousSibling'],d=b['nextSibling'];return c?c['nextSibling']=d:a['firstChild']=d,d?d['previousSibling']=c:a['lastChild']=c,_onUpdateChild(a['ownerDocument'],a),b;}function _insertBefore(a,b,c){var d=b['parentNode'];d&&d['removeChild'](b);if(b['nodeType']===DOCUMENT_FRAGMENT_NODE){var f=b['firstChild'];if(f==null)return b;var g=b['lastChild'];}else f=g=b;var h=c?c['previousSibling']:a['lastChild'];f['previousSibling']=h,g['nextSibling']=c;h?h['nextSibling']=f:a['firstChild']=f;c==null?a['lastChild']=g:c['previousSibling']=g;do{f['parentNode']=a;}while(f!==g&&(f=f['nextSibling']));return _onUpdateChild(a['ownerDocument']||a,a),b['nodeType']==DOCUMENT_FRAGMENT_NODE&&(b['firstChild']=b['lastChild']=null),b;}function _appendSingleChild(a,b){var c=b['parentNode'];if(c){var d=a['lastChild'];c['removeChild'](b);var d=a['lastChild'];}var d=a['lastChild'];return b['parentNode']=a,b['previousSibling']=d,b['nextSibling']=null,d?d['nextSibling']=b:a['firstChild']=b,a['lastChild']=b,_onUpdateChild(a['ownerDocument'],a,b),b;}Document['prototype']={'nodeName':'#document','nodeType':DOCUMENT_NODE,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function insertBefore(a,b){if(a['nodeType']==DOCUMENT_FRAGMENT_NODE){var c=a['firstChild'];while(c){var d=c['nextSibling'];this['insertBefore'](c,b),c=d;}return a;}return this['documentElement']==null&&a['nodeType']==ELEMENT_NODE&&(this['documentElement']=a),(_insertBefore(this,a,b),a['ownerDocument']=this,a);},'removeChild':function removeChild(a){return this['documentElement']==a&&(this['documentElement']=null),_removeChild(this,a);},'importNode':function importNode(a,b){return _importNode(this,a,b);},'getElementById':function getElementById(a){var b=null;return _visitNode(this['documentElement'],function(c){if(c['nodeType']==ELEMENT_NODE){if(c['getAttribute']('id')==a)return b=c,!![];}}),b;},'createElement':function createElement(a){var b=new Element();b['ownerDocument']=this,b['nodeName']=a,b['tagName']=a,b['childNodes']=new NodeList();var c=b['attributes']=new NamedNodeMap();return c['_ownerElement']=b,b;},'createDocumentFragment':function createDocumentFragment(){var a=new DocumentFragment();return a['ownerDocument']=this,a['childNodes']=new NodeList(),a;},'createTextNode':function createTextNode(a){var b=new Text();return b['ownerDocument']=this,b['appendData'](a),b;},'createComment':function createComment(a){var b=new Comment();return b['ownerDocument']=this,b['appendData'](a),b;},'createCDATASection':function createCDATASection(a){var b=new CDATASection();return b['ownerDocument']=this,b['appendData'](a),b;},'createProcessingInstruction':function createProcessingInstruction(a,b){var c=new ProcessingInstruction();return c['ownerDocument']=this,c['tagName']=c['target']=a,c['nodeValue']=c['data']=b,c;},'createAttribute':function createAttribute(a){var b=new Attr();return b['ownerDocument']=this,b['name']=a,b['nodeName']=a,b['localName']=a,b['specified']=!![],b;},'createEntityReference':function createEntityReference(a){var b=new EntityReference();return b['ownerDocument']=this,b['nodeName']=a,b;},'createElementNS':function createElementNS(a,b){var c=new Element(),d=b['split'](':'),f=c['attributes']=new NamedNodeMap();return c['childNodes']=new NodeList(),c['ownerDocument']=this,c['nodeName']=b,c['tagName']=b,c['namespaceURI']=a,d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,f['_ownerElement']=c,c;},'createAttributeNS':function createAttributeNS(a,b){var c=new Attr(),d=b['split'](':');return c['ownerDocument']=this,c['nodeName']=b,c['name']=b,c['namespaceURI']=a,c['specified']=!![],d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,c;}},_extends(Document,Node);function Element(){this['_nsMap']={};};Element['prototype']={'nodeType':ELEMENT_NODE,'hasAttribute':function hasAttribute(a){return this['getAttributeNode'](a)!=null;},'getAttribute':function getAttribute(a){var b=this['getAttributeNode'](a);return b&&b['value']||'';},'getAttributeNode':function getAttributeNode(a){return this['attributes']['getNamedItem'](a);},'setAttribute':function setAttribute(a,b){var c=this['ownerDocument']['createAttribute'](a);c['value']=c['nodeValue']=''+b,this['setAttributeNode'](c);},'removeAttribute':function removeAttribute(a){var b=this['getAttributeNode'](a);b&&this['removeAttributeNode'](b);},'appendChild':function appendChild(a){return a['nodeType']===DOCUMENT_FRAGMENT_NODE?this['insertBefore'](a,null):_appendSingleChild(this,a);},'setAttributeNode':function setAttributeNode(a){return this['attributes']['setNamedItem'](a);},'setAttributeNodeNS':function setAttributeNodeNS(a){return this['attributes']['setNamedItemNS'](a);},'removeAttributeNode':function removeAttributeNode(a){return this['attributes']['removeNamedItem'](a['nodeName']);},'removeAttributeNS':function removeAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);c&&this['removeAttributeNode'](c);},'hasAttributeNS':function hasAttributeNS(a,b){return this['getAttributeNodeNS'](a,b)!=null;},'getAttributeNS':function getAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);return c&&c['value']||'';},'setAttributeNS':function setAttributeNS(a,b,c){var d=this['ownerDocument']['createAttributeNS'](a,b);d['value']=d['nodeValue']=''+c,this['setAttributeNode'](d);},'getAttributeNodeNS':function getAttributeNodeNS(a,b){return this['attributes']['getNamedItemNS'](a,b);},'getElementsByTagName':function getElementsByTagName(a){return new LiveNodeList(this,function(b){var c=[];return _visitNode(b,function(d){d!==b&&d['nodeType']==ELEMENT_NODE&&(a==='*'||d['tagName']==a)&&c['push'](d);}),c;});},'getElementsByTagNameNS':function getElementsByTagNameNS(a,b){return new LiveNodeList(this,function(c){var d=[];return _visitNode(c,function(f){f!==c&&f['nodeType']===ELEMENT_NODE&&(a==='*'||f['namespaceURI']===a)&&(b==='*'||f['localName']==b)&&d['push'](f);}),d;});}},Document['prototype']['getElementsByTagName']=Element['prototype']['getElementsByTagName'],Document['prototype']['getElementsByTagNameNS']=Element['prototype']['getElementsByTagNameNS'],_extends(Element,Node);function Attr(){};Attr['prototype']['nodeType']=ATTRIBUTE_NODE,_extends(Attr,Node);function CharacterData(){};CharacterData['prototype']={'data':'','substringData':function substringData(a,b){return this['data']['substring'](a,a+b);},'appendData':function appendData(a){a=this['data']+a,this['nodeValue']=this['data']=a,this['length']=a['length'];},'insertData':function insertData(a,b){this['replaceData'](a,0x0,b);},'appendChild':function appendChild(a){throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]);},'deleteData':function deleteData(a,b){this['replaceData'](a,b,'');},'replaceData':function replaceData(a,b,c){var d=this['data']['substring'](0x0,a),f=this['data']['substring'](a+b);c=d+c+f,this['nodeValue']=this['data']=c,this['length']=c['length'];}},_extends(CharacterData,Node);function Text(){};Text['prototype']={'nodeName':'#text','nodeType':TEXT_NODE,'splitText':function splitText(a){var b=this['data'],c=b['substring'](a);b=b['substring'](0x0,a),this['data']=this['nodeValue']=b,this['length']=b['length'];var d=this['ownerDocument']['createTextNode'](c);return this['parentNode']&&this['parentNode']['insertBefore'](d,this['nextSibling']),d;}},_extends(Text,CharacterData);function Comment(){};Comment['prototype']={'nodeName':'#comment','nodeType':COMMENT_NODE},_extends(Comment,CharacterData);function CDATASection(){};CDATASection['prototype']={'nodeName':'#cdata-section','nodeType':CDATA_SECTION_NODE},_extends(CDATASection,CharacterData);function DocumentType(){};DocumentType['prototype']['nodeType']=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node);function Notation(){};Notation['prototype']['nodeType']=NOTATION_NODE,_extends(Notation,Node);function Entity(){};Entity['prototype']['nodeType']=ENTITY_NODE,_extends(Entity,Node);function EntityReference(){};EntityReference['prototype']['nodeType']=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node);function DocumentFragment(){};DocumentFragment['prototype']['nodeName']='#document-fragment',DocumentFragment['prototype']['nodeType']=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node);function ProcessingInstruction(){}ProcessingInstruction['prototype']['nodeType']=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node);function XMLSerializer(){}XMLSerializer['prototype']['serializeToString']=function(a,b,c){return nodeSerializeToString['call'](a,b,c);},Node['prototype']['toString']=nodeSerializeToString;function nodeSerializeToString(a,b){var c=[],d=this['nodeType']==0x9&&this['documentElement']||this,f=d['prefix'],g=d['namespaceURI'];if(g&&f==null){var f=d['lookupPrefix'](g);if(f==null)var h=[{'namespace':g,'prefix':null}];}return serializeToString(this,c,a,b,h),c['join']('');}function needNamespaceDefine(a,b,c){var d=a['prefix']||'',f=a['namespaceURI'];if(!d&&!f)return![];if(d==='xml'&&f==='http://www.w3.org/XML/1998/namespace'||f=='http://www.w3.org/2000/xmlns/')return![];var g=c['length'];while(g--){var h=c[g];if(h['prefix']==d)return h['namespace']!=f;}return!![];}function serializeToString(a,b,c,d,f){if(d){a=d(a);if(a){if(typeof a=='string'){b['push'](a);return;}}else return;}switch(a['nodeType']){case ELEMENT_NODE:if(!f)f=[];var g=f['length'],h=a['attributes'],j=h['length'],k=a['firstChild'],l=a['tagName'];c=htmlns===a['namespaceURI']||c,b['push']('<',l);for(var m=0x0;m');if(c&&/^script$/i['test'](l))while(k){k['data']?b['push'](k['data']):serializeToString(k,b,c,d,f),k=k['nextSibling'];}else while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}b['push']('');}else b['push']('/>');return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:var k=a['firstChild'];while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}return;case ATTRIBUTE_NODE:return b['push']('\x20',a['name'],'=\x22',a['value']['replace'](/[<&"]/g,_xmlEncoder),'\x22');case TEXT_NODE:return b['push'](a['data']['replace'](/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return b['push']('');case COMMENT_NODE:return b['push']('');case DOCUMENT_TYPE_NODE:var r=a['publicId'],s=a['systemId'];b['push']('');else{if(s&&s!='.')b['push']('\x20SYSTEM\x20\x22',s,'\x22>');else{var t=a['internalSubset'];t&&b['push']('\x20[',t,']'),b['push']('>');}}return;case PROCESSING_INSTRUCTION_NODE:return b['push']('');case ENTITY_REFERENCE_NODE:return b['push']('&',a['nodeName'],';');default:b['push']('??',a['nodeName']);}}function _importNode(a,b,c){var d;switch(b['nodeType']){case ELEMENT_NODE:d=b['cloneNode'](![]),d['ownerDocument']=a;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:c=!![];break;}!d&&(d=b['cloneNode'](![]));d['ownerDocument']=a,d['parentNode']=null;if(c){var f=b['firstChild'];while(f){d['appendChild'](_importNode(a,f,c)),f=f['nextSibling'];}}return d;}function _cloneNode(a,b,c){var d=new b['constructor']();for(var f in b){var g=b[f];_typeof(g)!='object'&&(g!=d[f]&&(d[f]=g));}b['childNodes']&&(d['childNodes']=new NodeList());d['ownerDocument']=a;switch(d['nodeType']){case ELEMENT_NODE:var h=b['attributes'],j=d['attributes']=new NamedNodeMap(),k=h['length'];j['_ownerElement']=d;for(var l=0x0;l','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/xmldom/sax.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/xmldom/sax.js +new file mode 100644 +index 0000000..976ca2a +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/common/xmldom/sax.js +@@ -0,0 +1 @@ ++'use strict';var nameStartChar=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameChar=new RegExp('[\x5c-\x5c.0-9'+nameStartChar['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),tagNamePattern=new RegExp('^'+nameStartChar['source']+nameChar['source']+'*(?::'+nameStartChar['source']+nameChar['source']+'*)?$'),S_TAG=0x0,S_ATTR=0x1,S_ATTR_SPACE=0x2,S_EQ=0x3,S_ATTR_NOQUOT_VALUE=0x4,S_ATTR_END=0x5,S_TAG_SPACE=0x6,S_TAG_CLOSE=0x7;function XMLReader(){}XMLReader['prototype']={'parse':function parse(a,b,c){var d=this['domBuilder'];d['startDocument'](),_copy(b,b={}),_parse(a,b,c,d,this['errorHandler']),d['endDocument']();}};function _parse(b,c,d,f,g){function h(J){if(J>0xffff){J-=0x10000;var K=0xd800+(J>>0xa),L=0xdc00+(J&0x3ff);return String['fromCharCode'](K,L);}else return String['fromCharCode'](J);}function j(J){var K=J['slice'](0x1,-0x1);if(K in d)return d[K];else return K['charAt'](0x0)==='#'?h(parseInt(K['substr'](0x1)['replace']('x','0x'))):(g['error']('entity\x20not\x20found:'+J),J);}function k(J){if(J>s){var K=b['substring'](s,J)['replace'](/&#?\w+;/g,j);p&&l(s),f['characters'](K,0x0,J-s),s=J;}}function l(J,K){while(J>=n&&(K=o['exec'](b))){m=K['index'],n=m+K[0x0]['length'],p['lineNumber']++;}p['columnNumber']=J-m+0x1;}var m=0x0,n=0x0,o=/.*(?:\r\n?|\n)|.*$/g,p=f['locator'],q=[{'currentNSMap':c}],r={},s=0x0;while(!![]){try{var t=b['indexOf']('<',s);if(t<0x0){if(!b['substr'](s)['match'](/^\s*$/)){var u=f['doc'],v=u['createTextNode'](b['substr'](s));u['appendChild'](v),f['currentElement']=v;}return;}t>s&&k(t);switch(b['charAt'](t+0x1)){case'/':var w=b['indexOf']('>',t+0x3),x=b['substring'](t+0x2,w),y=q['pop']();if(w<0x0)x=b['substring'](t+0x2)['replace'](/[\s<].*/,''),g['error']('end\x20tag\x20name:\x20'+x+'\x20is\x20not\x20complete:'+y['tagName']),w=t+0x1+x['length'];else x['match'](/\ss?s=w:k(Math['max'](t,s)+0x1);}}function copyLocator(a,b){return b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'],b;}function parseElementStartPart(a,b,d,e,f,g){var h,i,j=++b,k=S_TAG;while(!![]){var l=a['charAt'](j);switch(l){case'=':if(k===S_ATTR)h=a['slice'](b,j),k=S_EQ;else{if(k===S_ATTR_SPACE)k=S_EQ;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(k===S_EQ||k===S_ATTR){k===S_ATTR&&(g['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),h=a['slice'](b,j));b=j+0x1,j=a['indexOf'](l,b);if(j>0x0)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b-0x1),k=S_ATTR_END;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+l+'\x27\x20match');}else{if(k==S_ATTR_NOQUOT_VALUE)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b),g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20start\x20quot('+l+')!!'),b=j+0x1,k=S_ATTR_END;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:k=S_TAG_CLOSE,d['closed']=!![];case S_ATTR_NOQUOT_VALUE:case S_ATTR:case S_ATTR_SPACE:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':g['error']('unexpected\x20end\x20of\x20input');k==S_TAG&&d['setTagName'](a['slice'](b,j));return j;case'>':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:break;case S_ATTR_NOQUOT_VALUE:case S_ATTR:i=a['slice'](b,j);i['slice'](-0x1)==='/'&&(d['closed']=!![],i=i['slice'](0x0,-0x1));case S_ATTR_SPACE:k===S_ATTR_SPACE&&(i=h);k==S_ATTR_NOQUOT_VALUE?(g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i['replace'](/&#?\w+;/g,f),b)):((e['']!=='http://www.w3.org/1999/xhtml'||!i['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20value!!\x20\x22'+i+'\x22\x20instead!!'),d['add'](i,i,b));break;case S_EQ:throw new Error('attribute\x20value\x20missed!!');}return j;case'\u0080':l='\x20';default:if(l<='\x20')switch(k){case S_TAG:d['setTagName'](a['slice'](b,j)),k=S_TAG_SPACE;break;case S_ATTR:h=a['slice'](b,j),k=S_ATTR_SPACE;break;case S_ATTR_NOQUOT_VALUE:var i=a['slice'](b,j)['replace'](/&#?\w+;/g,f);g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i,b);case S_ATTR_END:k=S_TAG_SPACE;break;}else switch(k){case S_ATTR_SPACE:var m=d['tagName'];(e['']!=='http://www.w3.org/1999/xhtml'||!h['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20value!!\x20\x22'+h+'\x22\x20instead2!!');d['add'](h,h,b),b=j,k=S_ATTR;break;case S_ATTR_END:g['warning']('attribute\x20space\x20is\x20required\x22'+h+'\x22!!');case S_TAG_SPACE:k=S_ATTR,b=j;break;case S_EQ:k=S_ATTR_NOQUOT_VALUE,b=j;break;case S_TAG_CLOSE:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}j++;}}function appendElement(b,c,d){var e=b['tagName'],f=null,g=b['length'];while(g--){var h=b[g],j=h['qName'],k=h['value'],l=j['indexOf'](':');if(l>0x0)var m=h['prefix']=j['slice'](0x0,l),n=j['slice'](l+0x1),o=m==='xmlns'&&n;else n=j,m=null,o=j==='xmlns'&&'';h['localName']=n,o!==![]&&(f==null&&(f={},_copy(d,d={})),d[o]=f[o]=k,h['uri']='http://www.w3.org/2000/xmlns/',c['startPrefixMapping'](o,k));}var g=b['length'];while(g--){h=b[g];var m=h['prefix'];m&&(m==='xml'&&(h['uri']='http://www.w3.org/XML/1998/namespace'),m!=='xmlns'&&(h['uri']=d[m||'']));}var l=e['indexOf'](':');l>0x0?(m=b['prefix']=e['slice'](0x0,l),n=b['localName']=e['slice'](l+0x1)):(m=null,n=b['localName']=e);var p=b['uri']=d[m||''];c['startElement'](p,n,e,b);if(b['closed']){c['endElement'](p,n,e);if(f)for(m in f){c['endPrefixMapping'](m);}}else return b['currentNSMap']=d,b['localNSMap']=f,!![];}function parseHtmlSpecialContent(a,b,c,d,e){if(/^(?:script|textarea)$/i['test'](c)){var f=a['indexOf']('',b),g=a['substring'](b+0x1,f);if(/[&<]/['test'](g)){if(/^script$/i['test'](c))return e['characters'](g,0x0,g['length']),f;return g=g['replace'](/&#?\w+;/g,d),e['characters'](g,0x0,g['length']),f;}}return b+0x1;}function fixSelfClosed(a,b,c,d){var e=d[c];return e==null&&(e=a['lastIndexOf'](''),e',b+0x4);return f>b?(c['comment'](a,b+0x4,f-b-0x4),f+0x3):(d['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(a['substr'](b+0x3,0x6)=='CDATA['){var f=a['indexOf'](']]>',b+0x9);return c['startCDATA'](),c['characters'](a,b+0x9,f-b-0x9),c['endCDATA'](),f+0x3;}var g=split(a,b),h=g['length'];if(h>0x1&&/!doctype/i['test'](g[0x0][0x0])){var i=g[0x1][0x0],j=h>0x3&&/^public$/i['test'](g[0x2][0x0])&&g[0x3][0x0],k=h>0x4&&g[0x4][0x0],l=g[h-0x1];return c['startDTD'](i,j&&j['replace'](/^(['"])(.*?)\1$/,'$2'),k&&k['replace'](/^(['"])(.*?)\1$/,'$2')),c['endDTD'](),l['index']+l[0x0]['length'];}}return-0x1;}function parseInstruction(a,b,c){var d=a['indexOf']('?>',b);if(d){var e=a['substring'](b,d)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(e){var f=e[0x0]['length'];return c['processingInstruction'](e[0x1],e[0x2]),d+0x2;}else return-0x1;}return-0x1;}function ElementAttributes(a){}ElementAttributes['prototype']={'setTagName':function setTagName(a){if(!tagNamePattern['test'](a))throw new Error('invalid\x20tagName:'+a);this['tagName']=a;},'add':function add(a,b,c){if(!tagNamePattern['test'](a))throw new Error('invalid\x20attribute:'+a);this[this['length']++]={'qName':a,'value':b,'offset':c};},'length':0x0,'getLocalName':function getLocalName(a){return this[a]['localName'];},'getLocator':function getLocator(a){return this[a]['locator'];},'getQName':function getQName(a){return this[a]['qName'];},'getURI':function getURI(a){return this[a]['uri'];},'getValue':function getValue(a){return this[a]['value'];}};function split(a,b){var c,d=[],e=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;e['lastIndex']=b,e['exec'](a);while(c=e['exec'](a)){d['push'](c);if(c[0x1])return d;}}exports['XMLReader']=XMLReader; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/wrapper/builtin.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/wrapper/builtin.js +new file mode 100644 +index 0000000..3b2e386 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/wrapper/builtin.js +@@ -0,0 +1 @@ ++'use strict';function _typeof2(a){'@babel/helpers - typeof';return _typeof2='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof2(a);}(function(a){var b={};function c(d){if(b[d])return b[d]['exports'];var e=b[d]={'i':d,'l':![],'exports':{}};return a[d]['call'](e['exports'],e,e['exports'],c),e['l']=!![],e['exports'];}return c['m']=a,c['c']=b,c['d']=function(d,e,f){!c['o'](d,e)&&Object['defineProperty'](d,e,{'enumerable':!![],'get':f});},c['r']=function(d){typeof Symbol!=='undefined'&&Symbol['toStringTag']&&Object['defineProperty'](d,Symbol['toStringTag'],{'value':'Module'}),Object['defineProperty'](d,'__esModule',{'value':!![]});},c['t']=function(d,e){if(e&0x1)d=c(d);if(e&0x8)return d;if(e&0x4&&_typeof2(d)==='object'&&d&&d['__esModule'])return d;var f=Object['create'](null);c['r'](f),Object['defineProperty'](f,'default',{'enumerable':!![],'value':d});if(e&0x2&&typeof d!='string'){for(var g in d)c['d'](f,g,function(h){return d[h];}['bind'](null,g));}return f;},c['n']=function(d){var e=d&&d['__esModule']?function f(){return d['default'];}:function g(){return d;};return c['d'](e,'a',e),e;},c['o']=function(d,e){return Object['prototype']['hasOwnProperty']['call'](d,e);},c['p']='',c(c['s']='./src/index.js');}({'./src/Audio.js':function _src_AudioJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=typeof Symbol==='function'&&_typeof2(Symbol['iterator'])==='symbol'?function(t){return _typeof2(t);}:function(t){return t&&typeof Symbol==='function'&&t['constructor']===Symbol&&t!==Symbol['prototype']?'symbol':_typeof2(t);},e=(function(){function t(u,v){for(var w=0x0;w0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};x=String(x)['toLowerCase'](),f(v['prototype']['__proto__']||Object['getPrototypeOf'](v['prototype']),'addEventListener',this)['call'](this,x,y,z),this['_loaded']&&this['_canplayEvents']['indexOf'](x)!==-0x1&&this['dispatchEvent']({'type':x});}},{'key':'load','value':function x(){}},{'key':'play','value':function y(){m['get'](this)['play']();}},{'key':'resume','value':function z(){m['get'](this)['play']();}},{'key':'pause','value':function A(){m['get'](this)['pause']();}},{'key':'destroy','value':function B(){console['log']('destory:\x20'+d(m['get'](this)['destroy'])),m['get'](this)['destroy']();}},{'key':'canPlayType','value':function C(){var D=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof D!=='string')return'';if(D['indexOf']('audio/mpeg')>-0x1||D['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'cloneNode','value':function D(){var E=new v();return E['loop']=this['loop'],E['autoplay']=this['autoplay'],E['src']=this['src'],E;}},{'key':'currentTime','get':function E(){return m['get'](this)['currentTime'];},'set':function F(G){m['get'](this)['seek'](G);}},{'key':'duration','get':function G(){return m['get'](this)['duration'];}},{'key':'src','get':function H(){return this['_src'];},'set':function I(J){this['_src']=J,this['_loaded']=![],this['readyState']=n;var K=m['get'](this);K['src']=J;}},{'key':'loop','get':function J(){return this['_loop'];},'set':function K(L){this['_loop']=L,m['get'](this)['loop']=L;}},{'key':'autoplay','get':function L(){return this['_autoplay'];},'set':function M(N){this['_autoplay']=N,m['get'](this)['autoplay']=N;}},{'key':'paused','get':function N(){return this['_paused'];}},{'key':'volume','get':function O(){return this['_volume'];},'set':function P(Q){this['_volume']=Q,!this['_muted']&&(m['get'](this)['volume']=Q);}},{'key':'muted','get':function Q(){return this['_muted'];},'set':function R(S){this['_muted']=S,S?m['get'](this)['volume']=0x0:m['get'](this)['volume']=this['_volume'];}}]),v;}(h['default']);b['default']=s,a['exports']=b['default'];},'./src/Base64.js':function _src_Base64Js(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';function e(h){this['message']=h;}e['prototype']=new Error(),e['prototype']['name']='InvalidCharacterError';function f(h){var i=String(h),j='';for(var k,l,m=0x0,n=d;i['charAt'](m|0x0)||(n='=',m%0x1);j+=n['charAt'](0x3f&k>>0x8-m%0x1*0x8)){l=i['charCodeAt'](m+=0x3/0x4);if(l>0xff)throw new e('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return j;}function g(h){var i=String(h)['replace'](/[=]+$/,''),j='';for(var k=0x0,l,m,n=0x0;m=i['charAt'](n++);~m&&(l=k%0x4?l*0x40+m:m,k++%0x4)?j+=String['fromCharCode'](0xff&l>>(-0x2*k&0x6)):0x0){m=d['indexOf'](m);}return j;}b['btoa']=f,b['atob']=g;},'./src/Canvas.js':function _src_CanvasJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]}),b['default']=h;var d=c('./src/HTMLCanvasElement.js'),e=g(d),f=c('./src/utils/util.js');function g(i){return i&&i['__esModule']?i:{'default':i};}function h(){var canvas=my['createCanvas']();return!f['isIDE']&&(!('tagName'in canvas)&&(canvas['tagName']='canvas'),canvas['__proto__']['__proto__']=new e['default']()),canvas;}a['exports']=b['default'];},'./src/Element.js':function _src_ElementJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=(function(){function m(n,o){for(var p=0x0;p0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},m=f['get'](this);!m&&(m={},f['set'](this,m)),!m[j]&&(m[j]=[]),m[j]['push'](k);}},{'key':'removeEventListener','value':function j(k,l){var m=f['get'](this);if(m){var n=m[k];if(n&&n['length']>0x0)for(var o=n['length'];o--;o>0x0){if(n[o]===l){n['splice'](o,0x1);break;}}}}},{'key':'dispatchEvent','value':function k(){var l=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(typeof l['type']!=='string')return;if(!f['get'](this))return;var m=f['get'](this)[l['type']];if(m)for(var n=0x0;n0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';i(this,n);var p=j(this,(n['__proto__']||Object['getPrototypeOf'](n))['call'](this));return p['className']='',p['childern']=[],p['style']={'width':g['innerWidth']+'px','height':g['innerHeight']+'px'},p['focus']=f['noop'],p['blur']=f['noop'],p['innerHTML']='',p['tagName']=o['toUpperCase'](),p;}return n;}(e['default']);b['default']=l,a['exports']=b['default'];},'./src/HTMLImageElement.js':function _src_HTMLImageElementJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=c('./src/HTMLElement.js'),e=f(d);function f(k){return k&&k['__esModule']?k:{'default':k};}function g(k,l){if(!(k instanceof l))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(k,l){if(!k)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return l&&(_typeof2(l)==='object'||typeof l==='function')?l:k;}function i(k,l){if(typeof l!=='function'&&l!==null)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function,\x20not\x20'+_typeof2(l));k['prototype']=Object['create'](l&&l['prototype'],{'constructor':{'value':k,'enumerable':![],'writable':!![],'configurable':!![]}});if(l)Object['setPrototypeOf']?Object['setPrototypeOf'](k,l):k['__proto__']=l;}var j=function(k){i(l,k);function l(){return g(this,l),h(this,(l['__proto__']||Object['getPrototypeOf'](l))['call'](this,'img'));}return l;}(e['default']);b['default']=j;;a['exports']=b['default'];},'./src/HTMLMediaElement.js':function _src_HTMLMediaElementJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=(function(){function l(m,n){for(var o=0x0;o-0x1)return this['childNodes']['splice'](s,0x1);return null;}}]),n;}(f['default']);b['default']=l,a['exports']=b['default'];},'./src/WebGLRenderingContext.js':function _src_WebGLRenderingContextJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});function d(f,g){if(!(f instanceof g))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var e=function f(){d(this,f);};b['default']=e,a['exports']=b['default'];},'./src/WebSocket.js':function _src_WebSocketJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=(function(){function i(j,k){for(var l=0x0;l0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];f(this,i),this['OPEN']=i['OPEN'],this['CONNECTING']=i['CONNECTING'],this['CLOSING']=i['CLOSING'],this['CLOSED']=i['CLOSED'],this['binaryType']='',this['bufferedAmount']=0x0,this['extensions']='',this['onclose']=null,this['onerror']=null,this['onmessage']=null,this['onopen']=null,this['protocol']='',this['readyState']=this['CLOSED'];if(typeof j!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](j))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL=\x27'+j+'\x27\x20is\x20invalid');this['url']=j,this['readyState']=this['CONNECTING'];var m=my['connectSocket']({'url':j,'multiple':!![],'protocols':Array['isArray'](l)?l:[l],'fail':function n(o){typeof k['onerror']==='function'&&k['onerror'](new Error(o['errorMessage']));}});g['set'](this,m),m['onOpen'](function(o){k['readyState']=k['OPEN'],typeof k['onopen']==='function'&&k['onopen'](o);}),m['onError'](function(o){typeof k['onerror']==='function'&&k['onerror'](new Error(o['errorMessage']));}),m['onMessage'](function(o){if(typeof k['onmessage']==='function'){if(o['data']){var p=o['data'];p['isBuffer']&&(p['data']=(0x0,e['base64ToArrayBuffer'])(p['data'])),k['onmessage'](p);}else k['onmessage'](null);}}),m['onClose'](function(o){k['readyState']=k['CLOSED'],typeof k['onclose']==='function'&&k['onclose'](o);});}return d(i,[{'key':'send','value':function j(k){var l=this;if(typeof k!=='string'&&!(k instanceof ArrayBuffer))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'+k+'\x20is\x20invalid');var m={};k instanceof ArrayBuffer&&(k=(0x0,e['transformArrayBufferToBase64'])(k),m['isBuffer']=!![]);m['data']=k,m['fail']=function(o){typeof l['onerror']==='function'&&l['onerror'](new Error(o['errorMessage']));};var n=g['get'](this);n['send'](m);}},{'key':'close','value':function k(){this['readyState']=this['CLOSING'];var l=g['get'](this);l['close']();}}]),i;}());h['CONNECTING']=0x0,h['OPEN']=0x1,h['CLOSING']=0x2,h['CLOSED']=0x3,b['default']=h,a['exports']=b['default'];},'./src/WindowProperties.js':function _src_WindowPropertiesJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=my['getSystemInfoSync'](),e=d['screenWidth'],f=d['screenHeight'],g=d['pixelRatio'],h=d['windowHeight'],i=d['windowWidth'],j=b['innerHeight']=h,k=b['innerWidth']=i,l=b['devicePixelRatio']=g,m=b['screen']={'width':e,'height':f,'availWidth':k,'availHeight':j,'availLeft':0x0,'availTop':0x0};},'./src/XMLHttpRequest.js':function _src_XMLHttpRequestJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=(function(){function x(y,z){for(var A=0x0;A0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};y['target']=y['target']||this,typeof this['on'+x]==='function'&&this['on'+x]['apply'](this,y);}function q(x){var y=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};this['readyState']=x,y['readyState']=x,p['call'](this,'readystatechange',y);}var r=0x0,s=0x1,t=0x2,u=0x3,v=0x4,w=function(x){j(y,x);function y(){h(this,y);var z=i(this,(y['__proto__']||Object['getPrototypeOf'](y))['call'](this));return z['onabort']=null,z['onerror']=null,z['onload']=null,z['onloadstart']=null,z['onprogress']=null,z['ontimeout']=null,z['onloadend']=null,z['onreadystatechange']=null,z['readyState']=0x0,z['response']=null,z['responseText']=null,z['responseType']='',z['dataType']='string',z['responseXML']=null,z['status']=0x0,z['statusText']='',z['upload']={},z['withCredentials']=![],z['timeout']=0x0,m['set'](z,{'content-type':'application/x-www-form-urlencoded'}),n['set'](z,{}),z;}return d(y,[{'key':'abort','value':function z(){var A=o['get'](this);A&&A['abort']();}},{'key':'getAllResponseHeaders','value':function A(){var B=n['get'](this);return Object['keys'](B)['map'](function(C){return C+':\x20'+B[C];})['join']('\x0a');}},{'key':'open','value':function B(C,D){l['set'](this,C),k['set'](this,D),q['call'](this,s);}},{'key':'overrideMimeType','value':function C(){}},{'key':'send','value':function D(){var E=this,F=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==s)throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var G=my['request']({'data':F,'url':k['get'](this),'method':l['get'](this),'headers':m['get'](this),'timeout':this['timeout'],'dataType':this['dataType'],'responseType':this['responseType'],'success':function H(I){var J=I['data'],K=I['status'],L=I['headers'];if(typeof J!=='string'&&!(J instanceof ArrayBuffer))try{J=JSON['stringify'](J);}catch(P){J=J;}E['status']=K,n['set'](E,L||{}),p['call'](E,'loadstart'),q['call'](E,t),q['call'](E,u),E['response']=J;if(J instanceof ArrayBuffer){E['responseText']='';var M=new Uint8Array(J),N=M['byteLength'];for(var O=0x0;O0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};J['target']=J['target']||I,H['call'](I,J);});}},{'key':'removeEventListener','value':function G(H,I){this['on'+H]===I&&(this['on'+H]=null);}}]),y;}(f['default']);b['default']=w,a['exports']=b['default'];},'./src/document.js':function _src_documentJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=c('./src/Event.js'),e=q(d),f=c('./src/HTMLElement.js'),g=q(f),h=c('./src/HTMLVideoElement.js'),i=q(h),j=c('./src/Image.js'),k=q(j),l=c('./src/Audio.js'),m=q(l),n=c('./src/Canvas.js'),o=q(n);c('./src/EventIniter/index.js');var p=c('./src/WindowProperties.js');function q(u){return u&&u['__esModule']?u:{'default':u};}var r={},s;window['document']&&window['document']['getElementsByTagName']&&(s=window['document']['getElementsByTagName']['bind'](window['document']));var document={'readyState':'complete','visibilityState':'visible','fullscreen':!![],'hidden':![],'style':{},'scripts':[],'location':window['location'],'ontouchstart':null,'ontouchmove':null,'ontouchend':null,'onvisibilitychange':null,'head':new g['default']('head'),'body':new g['default']('body'),'documentElement':{'clientWidth':p['screen']['width'],'clientHight':p['screen']['height'],'clientLeft':0x0,'clientTop':0x0,'scrollLeft':0x0,'scrollTop':0x0},'createElement':function u(v){v=v['toLowerCase']();if(v==='canvas')return new o['default']();else{if(v==='audio')return new m['default']();else{if(v==='img')return new k['default']();else{if(v==='video')return new i['default']();}}}return new g['default'](v);},'createElementNS':function v(w,x){return this['createElement'](x);},'getElementById':function w(x){if(x===window['canvas']['id'])return window['canvas'];return null;},'getElementsByTagName':function x(y){if(s)return s(y);y=y['toLowerCase']();if(y==='head')return[document['head']];else{if(y==='body')return[document['body']];else{if(y==='canvas')return[window['canvas']];}}return[];},'getElementsByTagNameNS':function y(z,A){return this['getElementsByTagName'](A);},'getElementsByName':function z(A){if(A==='head')return[document['head']];else{if(A==='body')return[document['body']];else{if(A==='canvas')return[window['canvas']];}}return[];},'querySelector':function A(B){if(B==='head')return document['head'];else{if(B==='body')return document['body'];else{if(B==='canvas')return window['canvas'];else{if(B==='#'+window['canvas']['id'])return window['canvas'];}}}return null;},'querySelectorAll':function B(C){if(C==='head')return[document['head']];else{if(C==='body')return[document['body']];else{if(C==='canvas')return[window['canvas']];}}return[];},'addEventListener':function C(D,E){!r[D]&&(r[D]=[]),r[D]['push'](E);},'removeEventListener':function D(E,F){var G=r[E];if(G&&G['length']>0x0)for(var H=G['length'];H--;H>0x0){if(G[H]===F){G['splice'](H,0x1);break;}}},'dispatchEvent':function E(F){var G=F['type'],H=r[G];if(H)for(var I=0x0;I0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',q['type'],q);};if(h['isIDE']){for(var l in e){var m=Object['getOwnPropertyDescriptor'](window,l);(!m||m['configurable']===!![])&&Object['defineProperty'](window,l,{'value':e[l]});}for(var n in e['document']){var o=Object['getOwnPropertyDescriptor'](window['document'],n);(!o||o['configurable']===!![])&&Object['defineProperty'](window['document'],n,{'value':e['document'][n]});}window['parent']=window,window['my']=my;}else{e['my']=my;for(var p in e){window[p]=e[p];}}}k();},'./src/localStorage.js':function _src_localStorageJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d={get 'length'(){var e=my['getStorageInfoSync'](),f=e['keys'];return console['log']('getStorageInfoSync:\x20'+JSON['stringify'](my['getStorageInfoSync']())),f['length'];},'key':function e(f){var g=my['getStorageInfoSync'](),h=g['keys'];return h[f];},'getItem':function f(g){var h=my['getStorageSync']({'key':g});return h['data']===null?null:h['data'];},'setItem':function g(h,i){if(window['asyncStorage'])return my['setStorage']({'key':h,'data':i});return my['setStorageSync']({'key':h,'data':i});},'removeItem':function h(i){if(window['asyncStorage'])return my['removeStorage']({'key':i});return my['removeStorageSync']({'key':i});},'clear':function i(){if(window['asyncStorage'])return my['clearStorage']();return my['clearStorageSync']();}};b['default']=d,a['exports']=b['default'];},'./src/location.js':function _src_locationJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d={'href':'game.js','hostname':'alipay.com','reload':function e(){},'replace':function f(){}};b['default']=d,a['exports']=b['default'];},'./src/navigator.js':function _src_navigatorJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]});var d=c('./src/utils/noop.js'),e=my['getSystemInfoSync'](),f=e||{},g=f['system'],h=f['platform'],i=h===undefined?'android':h,j=f['language'],k=i['toLowerCase']()['indexOf']('android')!==-0x1;my['onNetworkStatusChange']&&my['onNetworkStatusChange'](function(o){navigator['onLine']=o['isConnected']?!![]:![];});function l(o){if(typeof o!=='function')throw new TypeError('Failed\x20to\x20execute\x20\x27getCurrentPosition\x27\x20on\x20\x27Geolocation\x27:\x201\x20argument\x20required,\x20but\x20only\x200\x20present.');my['getLocation']({'success':function p(q){var r=q['accuracy'],s=q['latitude'],t=q['longitude'];o({'coords':{'accuracy':r,'latitude':s,'longitude':t},'timestamp':new Date()['valueOf']()});}});}var m=k?'Android;\x20CPU\x20'+g:'iPhone;\x20CPU\x20iPhone\x20OS\x20'+g+'\x20like\x20Mac\x20OS\x20X',n='Mozilla/5.0\x20('+m+')\x20AliApp(AP/'+e['version']+')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20MicroMessenger/6.6.0\x20AlipayMiniGame\x20NetType/WIFI\x20Language/'+j;window['navigator']&&(n=window['navigator']['userAgent']+'\x20AlipayMiniGame');var navigator={'platform':i,'language':j,'userAgent':n,'appVersion':'5.0\x20('+m+')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1','geolocation':{'getCurrentPosition':l,'watchPositon':d['noop'],'clearWatch':d['noop']}};b['default']=navigator,a['exports']=b['default'];},'./src/utils/noop.js':function _src_utils_noopJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]}),b['noop']=d;function d(){};},'./src/utils/util.js':function _src_utils_utilJs(a,b,c){'use strict';Object['defineProperty'](b,'__esModule',{'value':!![]}),b['isIDE']=undefined,b['transformArrayBufferToBase64']=e,b['arrayBufferToBase64']=h,b['base64ToArrayBuffer']=i;var d=c('./src/Base64.js');function e(k){var l='',m=new Uint8Array(k);for(var n=m['byteLength'],o=0x0;o0xff)throw new Error('\x22btoa\x22\x20failed');p=p<<0x8|q;var r=0x3f&p>>0x8-o%0x1*0x8;n+=l['charAt'](r);}return n;}function g(k){var l='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',m='',n=String(k)['replace'](/[=]+$/,''),p,q,s=0x0,t=0x0;while(q=n['charAt'](t)){t=t+0x1,q=l['indexOf'](q),~q&&(p=s%0x4?0x40*p+q:q,s++%0x4&&(m+=String['fromCharCode'](0xff&p>>(-0x2*s&0x6))));}return m;}function h(k){var l='',m=new Uint8Array(k),n=m['byteLength'];for(var o=0x0;owindowHeight;Object['assign'](globalAdapter,{'startAccelerometer':function startAccelerometer(a){accelerometerCallback=a,my['onAccelerometerChange']&&my['onAccelerometerChange'](accelerometerChangeCallback);},'stopAccelerometer':function stopAccelerometer(){my['offAccelerometerChange']&&my['offAccelerometerChange'](accelerometerChangeCallback);}});} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/wrapper/utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/wrapper/utils.js +new file mode 100644 +index 0000000..f6723a5 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/libs/wrapper/utils.js +@@ -0,0 +1 @@ ++'use strict';var utils={'cloneMethod':function cloneMethod(a,b,c,d){b[c]&&(d=d||c,a[d]=b[c]['bind'](b));}};module['exports']=utils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/web-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/web-adapter.js +deleted file mode 100644 +index 48e04a0..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/web-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function n(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function o(p,q,r,s){var t=this['doc'],u=t['createElementNS'](p,r||q),v=s['length'];j(this,u),this['currentElement']=u,this['locator']&&g(this['locator'],u);for(var w=0x0;w=G+H||G)return new java['lang']['String'](F,G,H)+'';return F;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(F){f['prototype'][F]=function(){return null;};});function j(F,G){!F['currentElement']?F['doc']['appendChild'](G):F['currentElement']['appendChild'](G);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d,window['DOMParser']=d;},{'./dom':0x2,'./entities':0x3,'./sax':0x4}],0x2:[function(a,b,c){'use strict';function d(ap){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(aq){return typeof aq;}:function(aq){return aq&&'function'==typeof Symbol&&aq['constructor']===Symbol&&aq!==Symbol['prototype']?'symbol':typeof aq;},d(ap);}function f(ap,aq){for(var ar in ap){aq[ar]=ap[ar];}}function g(ap,aq){var ar=ap['prototype'];if(!(ar instanceof aq)){var as=function au(){};;as['prototype']=aq['prototype'],as=new as();for(var at in ar){as[at]=ar[at];}ap['prototype']=ar=as;}ar['constructor']!=ap&&(typeof ap!='function'&&console['error']('unknow\x20Class:'+ap),ar['constructor']=ap);}var h='http://www.w3.org/1999/xhtml',i={},j=i['ELEMENT_NODE']=0x1,k=i['ATTRIBUTE_NODE']=0x2,l=i['TEXT_NODE']=0x3,m=i['CDATA_SECTION_NODE']=0x4,n=i['ENTITY_REFERENCE_NODE']=0x5,o=i['ENTITY_NODE']=0x6,p=i['PROCESSING_INSTRUCTION_NODE']=0x7,q=i['COMMENT_NODE']=0x8,r=i['DOCUMENT_NODE']=0x9,s=i['DOCUMENT_TYPE_NODE']=0xa,t=i['DOCUMENT_FRAGMENT_NODE']=0xb,u=i['NOTATION_NODE']=0xc,v={},w={},x=v['INDEX_SIZE_ERR']=(w[0x1]='Index\x20size\x20error',0x1),y=v['DOMSTRING_SIZE_ERR']=(w[0x2]='DOMString\x20size\x20error',0x2),z=v['HIERARCHY_REQUEST_ERR']=(w[0x3]='Hierarchy\x20request\x20error',0x3),A=v['WRONG_DOCUMENT_ERR']=(w[0x4]='Wrong\x20document',0x4),B=v['INVALID_CHARACTER_ERR']=(w[0x5]='Invalid\x20character',0x5),C=v['NO_DATA_ALLOWED_ERR']=(w[0x6]='No\x20data\x20allowed',0x6),D=v['NO_MODIFICATION_ALLOWED_ERR']=(w[0x7]='No\x20modification\x20allowed',0x7),E=v['NOT_FOUND_ERR']=(w[0x8]='Not\x20found',0x8),F=v['NOT_SUPPORTED_ERR']=(w[0x9]='Not\x20supported',0x9),G=v['INUSE_ATTRIBUTE_ERR']=(w[0xa]='Attribute\x20in\x20use',0xa),H=v['INVALID_STATE_ERR']=(w[0xb]='Invalid\x20state',0xb),I=v['SYNTAX_ERR']=(w[0xc]='Syntax\x20error',0xc),J=v['INVALID_MODIFICATION_ERR']=(w[0xd]='Invalid\x20modification',0xd),K=v['NAMESPACE_ERR']=(w[0xe]='Invalid\x20namespace',0xe),L=v['INVALID_ACCESS_ERR']=(w[0xf]='Invalid\x20access',0xf);function M(ap,aq){if(aq instanceof Error)var ar=aq;else{ar=this,Error['call'](this,w[ap]),this['message']=w[ap];if(Error['captureStackTrace'])Error['captureStackTrace'](this,M);}ar['code']=ap;if(aq)this['message']=this['message']+':\x20'+aq;return ar;};M['prototype']=Error['prototype'],f(v,M);function N(){};N['prototype']={'length':0x0,'item':function ap(aq){return this[aq]||null;},'toString':function aq(ar,as){for(var at=[],au=0x0;au=0x0){var av=as['length']-0x1;while(au0x0;},'lookupPrefix':function aJ(aK){var aL=this;while(aL){var aM=aL['_nsMap'];if(aM)for(var aN in aM){if(aM[aN]==aK)return aN;}aL=aL['nodeType']==k?aL['ownerDocument']:aL['parentNode'];}return null;},'lookupNamespaceURI':function aK(aL){var aM=this;while(aM){var aN=aM['_nsMap'];if(aN){if(aL in aN)return aN[aL];}aM=aM['nodeType']==k?aM['ownerDocument']:aM['parentNode'];}return null;},'isDefaultNamespace':function aL(aM){var aN=this['lookupPrefix'](aM);return aN==null;}};function W(aM){return aM=='<'&&'<'||aM=='>'&&'>'||aM=='&'&&'&'||aM=='\x22'&&'"'||'&#'+aM['charCodeAt']()+';';}f(i,V),f(i,V['prototype']);function X(aM,aN){if(aN(aM))return!![];if(aM=aM['firstChild'])do{if(X(aM,aN))return!![];}while(aM=aM['nextSibling']);}function Y(){}function Z(aM,aN,aO){aM&&aM['_inc']++;var aP=aO['namespaceURI'];aP=='http://www.w3.org/2000/xmlns/'&&(aN['_nsMap'][aO['prefix']?aO['localName']:'']=aO['value']);}function a0(aM,aN,aO,aP){aM&&aM['_inc']++;var aQ=aO['namespaceURI'];aQ=='http://www.w3.org/2000/xmlns/'&&delete aN['_nsMap'][aO['prefix']?aO['localName']:''];}function a1(aM,aN,aO){if(aM&&aM['_inc']){aM['_inc']++;var aP=aN['childNodes'];if(aO)aP[aP['length']++]=aO;else{var aQ=aN['firstChild'],aR=0x0;while(aQ){aP[aR++]=aQ,aQ=aQ['nextSibling'];}aP['length']=aR;}}}function a2(aM,aN){var aO=aN['previousSibling'],aP=aN['nextSibling'];return aO?aO['nextSibling']=aP:aM['firstChild']=aP,aP?aP['previousSibling']=aO:aM['lastChild']=aO,a1(aM['ownerDocument'],aM),aN;}function a3(aM,aN,aO){var aP=aN['parentNode'];aP&&aP['removeChild'](aN);if(aN['nodeType']===t){var aQ=aN['firstChild'];if(aQ==null)return aN;var aR=aN['lastChild'];}else aQ=aR=aN;var aS=aO?aO['previousSibling']:aM['lastChild'];aQ['previousSibling']=aS,aR['nextSibling']=aO;aS?aS['nextSibling']=aQ:aM['firstChild']=aQ;aO==null?aM['lastChild']=aR:aO['previousSibling']=aR;do{aQ['parentNode']=aM;}while(aQ!==aR&&(aQ=aQ['nextSibling']));return a1(aM['ownerDocument']||aM,aM),aN['nodeType']==t&&(aN['firstChild']=aN['lastChild']=null),aN;}function a4(aM,aN){var aO=aN['parentNode'];if(aO){var aP=aM['lastChild'];aO['removeChild'](aN);var aP=aM['lastChild'];}var aP=aM['lastChild'];return aN['parentNode']=aM,aN['previousSibling']=aP,aN['nextSibling']=null,aP?aP['nextSibling']=aN:aM['firstChild']=aN,aM['lastChild']=aN,a1(aM['ownerDocument'],aM,aN),aN;}Y['prototype']={'nodeName':'#document','nodeType':r,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function aM(aN,aO){if(aN['nodeType']==t){var aP=aN['firstChild'];while(aP){var aQ=aP['nextSibling'];this['insertBefore'](aP,aO),aP=aQ;}return aN;}return this['documentElement']==null&&aN['nodeType']==j&&(this['documentElement']=aN),(a3(this,aN,aO),aN['ownerDocument']=this,aN);},'removeChild':function aN(aO){return this['documentElement']==aO&&(this['documentElement']=null),a2(this,aO);},'importNode':function aO(aP,aQ){return al(this,aP,aQ);},'getElementById':function aP(aQ){var aR=null;return X(this['documentElement'],function(aS){if(aS['nodeType']==j){if(aS['getAttribute']('id')==aQ)return aR=aS,!![];}}),aR;},'createElement':function aQ(aR){var aS=new a5();aS['ownerDocument']=this,aS['nodeName']=aR,aS['tagName']=aR,aS['childNodes']=new N();var aT=aS['attributes']=new Q();return aT['_ownerElement']=aS,aS;},'createDocumentFragment':function aR(){var aS=new af();return aS['ownerDocument']=this,aS['childNodes']=new N(),aS;},'createTextNode':function aS(aT){var aU=new a8();return aU['ownerDocument']=this,aU['appendData'](aT),aU;},'createComment':function aT(aU){var aV=new a9();return aV['ownerDocument']=this,aV['appendData'](aU),aV;},'createCDATASection':function aU(aV){var aW=new aa();return aW['ownerDocument']=this,aW['appendData'](aV),aW;},'createProcessingInstruction':function aV(aW,aX){var aY=new ag();return aY['ownerDocument']=this,aY['tagName']=aY['target']=aW,aY['nodeValue']=aY['data']=aX,aY;},'createAttribute':function aW(aX){var aY=new a6();return aY['ownerDocument']=this,aY['name']=aX,aY['nodeName']=aX,aY['localName']=aX,aY['specified']=!![],aY;},'createEntityReference':function aX(aY){var aZ=new ae();return aZ['ownerDocument']=this,aZ['nodeName']=aY,aZ;},'createElementNS':function aY(aZ,b0){var b1=new a5(),b2=b0['split'](':'),b3=b1['attributes']=new Q();return b1['childNodes']=new N(),b1['ownerDocument']=this,b1['nodeName']=b0,b1['tagName']=b0,b1['namespaceURI']=aZ,b2['length']==0x2?(b1['prefix']=b2[0x0],b1['localName']=b2[0x1]):b1['localName']=b0,b3['_ownerElement']=b1,b1;},'createAttributeNS':function aZ(b0,b1){var b2=new a6(),b3=b1['split'](':');return b2['ownerDocument']=this,b2['nodeName']=b1,b2['name']=b1,b2['namespaceURI']=b0,b2['specified']=!![],b3['length']==0x2?(b2['prefix']=b3[0x0],b2['localName']=b3[0x1]):b2['localName']=b1,b2;}},g(Y,V);function a5(){this['_nsMap']={};};a5['prototype']={'nodeType':j,'hasAttribute':function b0(b1){return this['getAttributeNode'](b1)!=null;},'getAttribute':function b1(b2){var b3=this['getAttributeNode'](b2);return b3&&b3['value']||'';},'getAttributeNode':function b2(b3){return this['attributes']['getNamedItem'](b3);},'setAttribute':function b3(b4,b5){var b6=this['ownerDocument']['createAttribute'](b4);b6['value']=b6['nodeValue']=''+b5,this['setAttributeNode'](b6);},'removeAttribute':function b4(b5){var b6=this['getAttributeNode'](b5);b6&&this['removeAttributeNode'](b6);},'appendChild':function b5(b6){return b6['nodeType']===t?this['insertBefore'](b6,null):a4(this,b6);},'setAttributeNode':function b6(b7){return this['attributes']['setNamedItem'](b7);},'setAttributeNodeNS':function b7(b8){return this['attributes']['setNamedItemNS'](b8);},'removeAttributeNode':function b8(b9){return this['attributes']['removeNamedItem'](b9['nodeName']);},'removeAttributeNS':function b9(ba,bb){var bc=this['getAttributeNodeNS'](ba,bb);bc&&this['removeAttributeNode'](bc);},'hasAttributeNS':function ba(bb,bc){return this['getAttributeNodeNS'](bb,bc)!=null;},'getAttributeNS':function bb(bc,bd){var be=this['getAttributeNodeNS'](bc,bd);return be&&be['value']||'';},'setAttributeNS':function bc(bd,be,bf){var bg=this['ownerDocument']['createAttributeNS'](bd,be);bg['value']=bg['nodeValue']=''+bf,this['setAttributeNode'](bg);},'getAttributeNodeNS':function bd(be,bf){return this['attributes']['getNamedItemNS'](be,bf);},'getElementsByTagName':function be(bf){return new O(this,function(bg){var bh=[];return X(bg,function(bi){bi!==bg&&bi['nodeType']==j&&(bf==='*'||bi['tagName']==bf)&&bh['push'](bi);}),bh;});},'getElementsByTagNameNS':function bf(bg,bh){return new O(this,function(bi){var bj=[];return X(bi,function(bk){bk!==bi&&bk['nodeType']===j&&(bg==='*'||bk['namespaceURI']===bg)&&(bh==='*'||bk['localName']==bh)&&bj['push'](bk);}),bj;});}},Y['prototype']['getElementsByTagName']=a5['prototype']['getElementsByTagName'],Y['prototype']['getElementsByTagNameNS']=a5['prototype']['getElementsByTagNameNS'],g(a5,V);function a6(){};a6['prototype']['nodeType']=k,g(a6,V);function a7(){};a7['prototype']={'data':'','substringData':function bg(bh,bi){return this['data']['substring'](bh,bh+bi);},'appendData':function bh(bi){bi=this['data']+bi,this['nodeValue']=this['data']=bi,this['length']=bi['length'];},'insertData':function bi(bj,bk){this['replaceData'](bj,0x0,bk);},'appendChild':function bj(bk){throw new Error(w[z]);},'deleteData':function bk(bl,bm){this['replaceData'](bl,bm,'');},'replaceData':function bl(bm,bn,bo){var bp=this['data']['substring'](0x0,bm),bq=this['data']['substring'](bm+bn);bo=bp+bo+bq,this['nodeValue']=this['data']=bo,this['length']=bo['length'];}},g(a7,V);function a8(){};a8['prototype']={'nodeName':'#text','nodeType':l,'splitText':function bm(bn){var bo=this['data'],bp=bo['substring'](bn);bo=bo['substring'](0x0,bn),this['data']=this['nodeValue']=bo,this['length']=bo['length'];var bq=this['ownerDocument']['createTextNode'](bp);return this['parentNode']&&this['parentNode']['insertBefore'](bq,this['nextSibling']),bq;}},g(a8,a7);function a9(){};a9['prototype']={'nodeName':'#comment','nodeType':q},g(a9,a7);function aa(){};aa['prototype']={'nodeName':'#cdata-section','nodeType':m},g(aa,a7);function ab(){};ab['prototype']['nodeType']=s,g(ab,V);function ac(){};ac['prototype']['nodeType']=u,g(ac,V);function ad(){};ad['prototype']['nodeType']=o,g(ad,V);function ae(){};ae['prototype']['nodeType']=n,g(ae,V);function af(){};af['prototype']['nodeName']='#document-fragment',af['prototype']['nodeType']=t,g(af,V);function ag(){}ag['prototype']['nodeType']=p,g(ag,V);function ah(){}ah['prototype']['serializeToString']=function(bn,bo,bp){return ai['call'](bn,bo,bp);},V['prototype']['toString']=ai;function ai(bn,bo){var bp=[],bq=this['nodeType']==0x9&&this['documentElement']||this,br=bq['prefix'],bs=bq['namespaceURI'];if(bs&&br==null){var br=bq['lookupPrefix'](bs);if(br==null)var bt=[{'namespace':bs,'prefix':null}];}return ak(this,bp,bn,bo,bt),bp['join']('');}function aj(bn,bo,bp){var bq=bn['prefix']||'',br=bn['namespaceURI'];if(!bq&&!br)return![];if(bq==='xml'&&br==='http://www.w3.org/XML/1998/namespace'||br=='http://www.w3.org/2000/xmlns/')return![];var bs=bp['length'];while(bs--){var bt=bp[bs];if(bt['prefix']==bq)return bt['namespace']!=br;}return!![];}function ak(bn,bo,bp,bq,br){if(bq){bn=bq(bn);if(bn){if(typeof bn=='string'){bo['push'](bn);return;}}else return;}switch(bn['nodeType']){case j:if(!br)br=[];var bs=br['length'],bt=bn['attributes'],bu=bt['length'],bv=bn['firstChild'],bw=bn['tagName'];bp=h===bn['namespaceURI']||bp,bo['push']('<',bw);for(var bx=0x0;bx');if(bp&&/^script$/i['test'](bw))while(bv){bv['data']?bo['push'](bv['data']):ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}else while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}bo['push']('');}else bo['push']('/>');return;case r:case t:var bv=bn['firstChild'];while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}return;case k:return bo['push']('\x20',bn['name'],'=\x22',bn['value']['replace'](/[<&"]/g,W),'\x22');case l:return bo['push'](bn['data']['replace'](/[<&]/g,W));case m:return bo['push']('');case q:return bo['push']('');case s:var bC=bn['publicId'],bD=bn['systemId'];bo['push']('');else{if(bD&&bD!='.')bo['push']('\x20SYSTEM\x20\x22',bD,'\x22>');else{var bE=bn['internalSubset'];bE&&bo['push']('\x20[',bE,']'),bo['push']('>');}}return;case p:return bo['push']('');case n:return bo['push']('&',bn['nodeName'],';');default:bo['push']('??',bn['nodeName']);}}function al(bn,bo,bp){var bq;switch(bo['nodeType']){case j:bq=bo['cloneNode'](![]),bq['ownerDocument']=bn;case t:break;case k:bp=!![];break;}!bq&&(bq=bo['cloneNode'](![]));bq['ownerDocument']=bn,bq['parentNode']=null;if(bp){var br=bo['firstChild'];while(br){bq['appendChild'](al(bn,br,bp)),br=br['nextSibling'];}}return bq;}function am(bn,bo,bp){var bq=new bo['constructor']();for(var br in bo){var bs=bo[br];d(bs)!='object'&&(bs!=bq[br]&&(bq[br]=bs));}bo['childNodes']&&(bq['childNodes']=new N());bq['ownerDocument']=bn;switch(bq['nodeType']){case j:var bt=bo['attributes'],bu=bq['attributes']=new Q(),bv=bt['length'];bu['_ownerElement']=bq;for(var bw=0x0;bw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function A(B,C,D){var E=this['domBuilder'];E['startDocument'](),v(C,C={}),p(B,C,D,E,this['errorHandler']),E['endDocument']();}};function p(B,C,D,E,F){function G(a7){if(a7>0xffff){a7-=0x10000;var a8=0xd800+(a7>>0xa),a9=0xdc00+(a7&0x3ff);return String['fromCharCode'](a8,a9);}else return String['fromCharCode'](a7);}function H(a7){var a8=a7['slice'](0x1,-0x1);if(a8 in D)return D[a8];else return a8['charAt'](0x0)==='#'?G(parseInt(a8['substr'](0x1)['replace']('x','0x'))):(F['error']('entity\x20not\x20found:'+a7),a7);}function I(a7){if(a7>Q){var a8=B['substring'](Q,a7)['replace'](/&#?\w+;/g,H);N&&J(Q),E['characters'](a8,0x0,a7-Q),Q=a7;}}function J(a7,a8){while(a7>=L&&(a8=M['exec'](B))){K=a8['index'],L=K+a8[0x0]['length'],N['lineNumber']++;}N['columnNumber']=a7-K+0x1;}var K=0x0,L=0x0,M=/.*(?:\r\n?|\n)|.*$/g,N=E['locator'],O=[{'currentNSMap':C}],P={},Q=0x0;while(!![]){try{var R=B['indexOf']('<',Q);if(R<0x0){if(!B['substr'](Q)['match'](/^\s*$/)){var S=E['doc'],T=S['createTextNode'](B['substr'](Q));S['appendChild'](T),E['currentElement']=T;}return;}R>Q&&I(R);switch(B['charAt'](R+0x1)){case'/':var U=B['indexOf']('>',R+0x3),V=B['substring'](R+0x2,U),W=O['pop']();if(U<0x0)V=B['substring'](R+0x2)['replace'](/[\s<].*/,''),F['error']('end\x20tag\x20name:\x20'+V+'\x20is\x20not\x20complete:'+W['tagName']),U=R+0x1+V['length'];else V['match'](/\sQ?Q=U:I(Math['max'](R,Q)+0x1);}}function q(B,C){return C['lineNumber']=B['lineNumber'],C['columnNumber']=B['columnNumber'],C;}function r(B,C,D,E,F,G){var H,I,J=++C,K=g;while(!![]){var L=B['charAt'](J);switch(L){case'=':if(K===h)H=B['slice'](C,J),K=j;else{if(K===i)K=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(K===j||K===h){K===h&&(G['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),H=B['slice'](C,J));C=J+0x1,J=B['indexOf'](L,C);if(J>0x0)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C-0x1),K=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+L+'\x27\x20match');}else{if(K==k)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C),G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20start\x20quot('+L+')!!'),C=J+0x1,K=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:K=n,D['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':G['error']('unexpected\x20end\x20of\x20input');K==g&&D['setTagName'](B['slice'](C,J));return J;case'>':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:break;case k:case h:I=B['slice'](C,J);I['slice'](-0x1)==='/'&&(D['closed']=!![],I=I['slice'](0x0,-0x1));case i:K===i&&(I=H);K==k?(G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I['replace'](/&#?\w+;/g,F),C)):((E['']!=='http://www.w3.org/1999/xhtml'||!I['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20value!!\x20\x22'+I+'\x22\x20instead!!'),D['add'](I,I,C));break;case j:throw new Error('attribute\x20value\x20missed!!');}return J;case'\u0080':L='\x20';default:if(L<='\x20')switch(K){case g:D['setTagName'](B['slice'](C,J)),K=m;break;case h:H=B['slice'](C,J),K=i;break;case k:var I=B['slice'](C,J)['replace'](/&#?\w+;/g,F);G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I,C);case l:K=m;break;}else switch(K){case i:var M=D['tagName'];(E['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead2!!');D['add'](H,H,C),C=J,K=h;break;case l:G['warning']('attribute\x20space\x20is\x20required\x22'+H+'\x22!!');case m:K=h,C=J;break;case j:K=k,C=J;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}J++;}}function s(B,C,D){var E=B['tagName'],F=null,G=B['length'];while(G--){var H=B[G],I=H['qName'],J=H['value'],K=I['indexOf'](':');if(K>0x0)var L=H['prefix']=I['slice'](0x0,K),M=I['slice'](K+0x1),N=L==='xmlns'&&M;else M=I,L=null,N=I==='xmlns'&&'';H['localName']=M,N!==![]&&(F==null&&(F={},v(D,D={})),D[N]=F[N]=J,H['uri']='http://www.w3.org/2000/xmlns/',C['startPrefixMapping'](N,J));}var G=B['length'];while(G--){H=B[G];var L=H['prefix'];L&&(L==='xml'&&(H['uri']='http://www.w3.org/XML/1998/namespace'),L!=='xmlns'&&(H['uri']=D[L||'']));}var K=E['indexOf'](':');K>0x0?(L=B['prefix']=E['slice'](0x0,K),M=B['localName']=E['slice'](K+0x1)):(L=null,M=B['localName']=E);var O=B['uri']=D[L||''];C['startElement'](O,M,E,B);if(B['closed']){C['endElement'](O,M,E);if(F)for(L in F){C['endPrefixMapping'](L);}}else return B['currentNSMap']=D,B['localNSMap']=F,!![];}function t(B,C,D,E,F){if(/^(?:script|textarea)$/i['test'](D)){var G=B['indexOf']('',C),H=B['substring'](C+0x1,G);if(/[&<]/['test'](H)){if(/^script$/i['test'](D))return F['characters'](H,0x0,H['length']),G;return H=H['replace'](/&#?\w+;/g,E),F['characters'](H,0x0,H['length']),G;}}return C+0x1;}function u(B,C,D,E){var F=E[D];return F==null&&(F=B['lastIndexOf'](''),F',C+0x4);return G>C?(D['comment'](B,C+0x4,G-C-0x4),G+0x3):(E['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(B['substr'](C+0x3,0x6)=='CDATA['){var G=B['indexOf'](']]>',C+0x9);return D['startCDATA'](),D['characters'](B,C+0x9,G-C-0x9),D['endCDATA'](),G+0x3;}var H=z(B,C),I=H['length'];if(I>0x1&&/!doctype/i['test'](H[0x0][0x0])){var J=H[0x1][0x0],K=I>0x3&&/^public$/i['test'](H[0x2][0x0])&&H[0x3][0x0],L=I>0x4&&H[0x4][0x0],M=H[I-0x1];return D['startDTD'](J,K&&K['replace'](/^(['"])(.*?)\1$/,'$2'),L&&L['replace'](/^(['"])(.*?)\1$/,'$2')),D['endDTD'](),M['index']+M[0x0]['length'];}}return-0x1;}function x(B,C,D){var E=B['indexOf']('?>',C);if(E){var F=B['substring'](C,E)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(F){var G=F[0x0]['length'];return D['processingInstruction'](F[0x1],F[0x2]),E+0x2;}else return-0x1;}return-0x1;}function y(B){}y['prototype']={'setTagName':function B(C){if(!f['test'](C))throw new Error('invalid\x20tagName:'+C);this['tagName']=C;},'add':function C(D,E,F){if(!f['test'](D))throw new Error('invalid\x20attribute:'+D);this[this['length']++]={'qName':D,'value':E,'offset':F};},'length':0x0,'getLocalName':function D(E){return this[E]['localName'];},'getLocator':function E(F){return this[F]['locator'];},'getQName':function F(G){return this[G]['qName'];},'getURI':function G(H){return this[H]['uri'];},'getValue':function H(I){return this[I]['value'];}};function z(I,J){var K,L=[],M=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;M['lastIndex']=J,M['exec'](I);while(K=M['exec'](I)){L['push'](K);if(K[0x1])return L;}}c['XMLReader']=o;},{}],0x5:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./HTMLAudioElement'));function e(C){return C&&C['__esModule']?C:{'default':C};}function f(C){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(D){return typeof D;}:function(D){return D&&'function'==typeof Symbol&&D['constructor']===Symbol&&D!==Symbol['prototype']?'symbol':typeof D;},f(C);}function g(C,D){if(!(C instanceof D))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(C,D){for(var E=0x0;E0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};F=String(F)['toLowerCase'](),p(D,'addEventListener',this,0x3)([F,G,H]),this['_loaded']&&this['_canplayEvents']['indexOf'](F)!==-0x1&&this['dispatchEvent']({'type':F});}},{'key':'load','value':function F(){}},{'key':'play','value':function G(){v['get'](this)['play']();}},{'key':'resume','value':function H(){v['get'](this)['play']();}},{'key':'pause','value':function I(){v['get'](this)['pause']();}},{'key':'destroy','value':function J(){console['log']('destory:\x20'+f(v['get'](this)['destroy'])),v['get'](this)['destroy']();}},{'key':'canPlayType','value':function K(){var L=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof L!=='string')return'';if(L['indexOf']('audio/mpeg')>-0x1||L['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function L(){return v['get'](this)['currentTime'];},'set':function M(N){v['get'](this)['seek'](N);}},{'key':'duration','get':function N(){return v['get'](this)['duration'];}},{'key':'src','get':function O(){return this['_src'];},'set':function P(Q){this['_src']=Q,this['_loaded']=![],this['readyState']=w;var R=v['get'](this);R['src']=Q;}},{'key':'loop','get':function Q(){return this['_loop'];},'set':function R(S){this['_loop']=S,v['get'](this)['loop']=S;}},{'key':'autoplay','get':function S(){return this['_autoplay'];},'set':function T(U){this['_autoplay']=U,v['get'](this)['autoplay']=U;}},{'key':'paused','get':function U(){return this['_paused'];}},{'key':'volume','get':function V(){return this['_volume'];},'set':function W(X){this['_volume']=X,!this['_muted']&&(v['get'](this)['volume']=X);}},{'key':'muted','get':function X(){return this['_muted'];},'set':function Y(Z){this['_muted']=Z,Z?v['get'](this)['volume']=0x0:v['get'](this)['volume']=this['_volume'];}},{'key':'cloneNode','value':function Z(){var a0=new D();return a0['loop']=this['loop'],a0['autoplay']=this['autoplay'],a0['src']=this['src'],a0;}}]);}(d['default']);},{'./HTMLAudioElement':0xf}],0x6:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['atob']=g,c['btoa']=f;var d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';function e(h){this['message']=h;}e['prototype']=new Error(),e['prototype']['name']='InvalidCharacterError';function f(h){var i=String(h),j='';for(var k,l,m=0x0,n=d;i['charAt'](m|0x0)||(n='=',m%0x1);j+=n['charAt'](0x3f&k>>0x8-m%0x1*0x8)){l=i['charCodeAt'](m+=0x3/0x4);if(l>0xff)throw new e('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return j;}function g(h){var i=String(h)['replace'](/[=]+$/,''),j='';for(var k=0x0,l,m,n=0x0;m=i['charAt'](n++);~m&&(l=k%0x4?l*0x40+m:m,k++%0x4)?j+=String['fromCharCode'](0xff&l>>(-0x2*k&0x6)):0x0){m=d['indexOf'](m);}return j;}},{}],0x7:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=g;var d=f(a('./HTMLCanvasElement')),e=a('./utils/util');function f(h){return h&&h['__esModule']?h:{'default':h};}function g(){var canvas=my['createCanvas']();return!e['isIDE']&&(!('tagName'in canvas)&&(canvas['tagName']='canvas'),canvas['__proto__']['__proto__']=new d['default']()),canvas;}},{'./HTMLCanvasElement':0x10,'./utils/util':0x22}],0x8:[function(a,b,c){'use strict';function d(u){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},d(u);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=g(a('./Node')),f=a('./utils/noop');function g(u){return u&&u['__esModule']?u:{'default':u};}function h(u,v){if(!(u instanceof v))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function i(u,v){for(var w=0x0;w0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},q=j['get'](this);!q&&(q={},j['set'](this,q)),!q[n]&&(q[n]=[]),q[n]['push'](o);}},{'key':'removeEventListener','value':function n(o,p){var q=j['get'](this);if(q){var r=q[o];if(r&&r['length']>0x0)for(var s=r['length'];s--;s>0x0){if(r[s]===p){r['splice'](s,0x1);break;}}}}},{'key':'dispatchEvent','value':function o(){var p=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(typeof p['type']!=='string')return;if(!j['get'](this))return;var q=j['get'](this)[p['type']];if(q)for(var r=0x0;r0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return m(this,w),x=n(this,w),x['className']='',x['childern']=[],x['style']={'width':g['innerWidth']+'px','height':g['innerHeight']+'px'},x['focus']=f['noop'],x['blur']=f['noop'],x['innerHTML']='',x['tagName']=y['toUpperCase'](),x;}return s(w,v),j(w);}(e['default']);},{'./Element':0x8,'./WindowProperties':0x1a,'./utils/noop':0x21}],0x12:[function(a,b,c){'use strict';function d(t){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(u){return typeof u;}:function(u){return u&&'function'==typeof Symbol&&u['constructor']===Symbol&&u!==Symbol['prototype']?'symbol':typeof u;},d(t);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLElement'));function f(t){return t&&t['__esModule']?t:{'default':t};}function g(u,v){for(var w=0x0;w-0x1)return this['childNodes']['splice'](A,0x1);return null;}}]);}(e['default']);},{'./EventTarget':0xd,'./utils/noop':0x21}],0x18:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];f(this,o),this['OPEN']=o['OPEN'],this['CONNECTING']=o['CONNECTING'],this['CLOSING']=o['CLOSING'],this['CLOSED']=o['CLOSED'],this['binaryType']='',this['bufferedAmount']=0x0,this['extensions']='',this['onclose']=null,this['onerror']=null,this['onmessage']=null,this['onopen']=null,this['protocol']='',this['readyState']=this['CLOSED'];if(typeof p!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](p))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL=\x27'['concat'](p,'\x27\x20is\x20invalid'));this['url']=p,this['readyState']=this['CONNECTING'];var s=my['connectSocket']({'url':p,'multiple':!![],'protocols':Array['isArray'](r)?r:[r],'fail':function t(u){typeof q['onerror']==='function'&&q['onerror'](new Error(u['errorMessage']));}});l['set'](this,s),s['onOpen'](function(u){q['readyState']=q['OPEN'],typeof q['onopen']==='function'&&q['onopen'](u);}),s['onError'](function(u){typeof q['onerror']==='function'&&q['onerror'](new Error(u['errorMessage']));}),s['onMessage'](function(u){if(typeof q['onmessage']==='function'){if(u['data']){var v=u['data'];v['isBuffer']&&(v['data']=(0x0,d['base64ToArrayBuffer'])(v['data'])),q['onmessage'](v);}else q['onmessage'](null);}}),s['onClose'](function(u){q['readyState']=q['CLOSED'],typeof q['onclose']==='function'&&q['onclose'](u);});}return h(o,[{'key':'send','value':function p(q){var r=this;if(typeof q!=='string'&&!(q instanceof ArrayBuffer))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'+q+'\x20is\x20invalid');var s={};q instanceof ArrayBuffer&&(q=(0x0,d['transformArrayBufferToBase64'])(q),s['isBuffer']=!![]);s['data']=q,s['fail']=function(u){typeof r['onerror']==='function'&&r['onerror'](new Error(u['errorMessage']));};var t=l['get'](this);t['send'](s);}},{'key':'close','value':function q(){this['readyState']=this['CLOSING'];var r=l['get'](this);r['close']();}}]);}());i(m,'CONNECTING',0x0),i(m,'OPEN',0x1),i(m,'CLOSING',0x2),i(m,'CLOSED',0x3);var n=c['default']=m;},{'./utils/util':0x22}],0x1a:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['screen']=c['innerWidth']=c['innerHeight']=c['devicePixelRatio']=void 0x0;var d=my['getSystemInfoSync'](),e=d['screenWidth'],f=d['screenHeight'],g=d['pixelRatio'],h=d['windowHeight'],i=d['windowWidth'],j=c['innerHeight']=h,k=c['innerWidth']=i,l=c['devicePixelRatio']=g,m=c['screen']={'width':e,'height':f,'availWidth':k,'availHeight':j,'availLeft':0x0,'availTop':0x0};},{}],0x1b:[function(a,b,c){'use strict';function d(G){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(H){return typeof H;}:function(H){return H&&'function'==typeof Symbol&&H['constructor']===Symbol&&H!==Symbol['prototype']?'symbol':typeof H;},d(G);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./EventTarget'));function f(G){return G&&G['__esModule']?G:{'default':G};}function g(G,H){if(!(G instanceof H))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(G,H){for(var I=0x0;I0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};H['target']=H['target']||this,typeof this['on'+G]==='function'&&this['on'+G]['apply'](this,H);}function y(G){var H=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};this['readyState']=G,H['readyState']=G,x['call'](this,'readystatechange',H);}var z=0x0,A=0x1,B=0x2,C=0x3,D=0x4,E=function(G){function H(){var I;return g(this,H),I=l(this,H),I['onabort']=null,I['onerror']=null,I['onload']=null,I['onloadstart']=null,I['onprogress']=null,I['ontimeout']=null,I['onloadend']=null,I['onreadystatechange']=null,I['readyState']=0x0,I['response']=null,I['responseText']=null,I['responseType']='',I['dataType']='string',I['responseXML']=null,I['status']=0x0,I['statusText']='',I['upload']={},I['withCredentials']=![],I['timeout']=0x0,u['set'](I,{'content-type':'application/x-www-form-urlencoded'}),v['set'](I,{}),I;}return q(H,G),i(H,[{'key':'abort','value':function I(){var J=w['get'](this);J&&J['abort']();}},{'key':'getAllResponseHeaders','value':function J(){var K=v['get'](this);return Object['keys'](K)['map'](function(L){return L+':\x20'+K[L];})['join']('\x0a');}},{'key':'open','value':function K(L,M){t['set'](this,L),s['set'](this,M),y['call'](this,A);}},{'key':'overrideMimeType','value':function L(){}},{'key':'send','value':function M(){var N=this,O=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==A)throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var P=my['request']({'data':O,'url':s['get'](this),'method':t['get'](this),'headers':u['get'](this),'timeout':this['timeout'],'dataType':this['responseType']||'text','success':function Q(R){var S=R['data'],T=R['status'],U=R['headers'];N['status']=T,v['set'](N,U||{}),x['call'](N,'loadstart'),y['call'](N,B),y['call'](N,C),N['response']=S,N['responseText']=!N['responseType']||N['responseType']==='text'?S:'',y['call'](N,D),x['call'](N,'load'),x['call'](N,'loadend');},'fail':function R(S){var T=S['errorMessage'],U=T===void 0x0?'':T,V=S['error'],W=V===void 0x0?-0x1:V;if(W===0x9)x['call'](N,'abort');else U['includes']('超时')||W===0xd?x['call'](N,'timeout'):x['call'](N,'error');x['call'](N,'loadend');}});w['set'](this,P);}}},{'key':'setRequestHeader','value':function N(O,P){var Q=u['get'](this);Q[O]=P,u['set'](this,Q);}},{'key':'addEventListener','value':function O(P,Q){var R=this;typeof Q==='function'&&(this['on'+P]=function(){var S=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};S['target']=S['target']||R,Q['call'](R,S);});}},{'key':'removeEventListener','value':function P(Q,R){this['on'+Q]===R&&(this['on'+Q]=null);}}]);}(e['default']),F=c['default']=E;},{'./EventTarget':0xd}],0x1c:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=k(a('./Event')),e=k(a('./HTMLElement')),f=k(a('./HTMLVideoElement')),g=k(a('./Image')),h=k(a('./Audio')),i=k(a('./Canvas'));a('./EventIniter/index.js');var j=a('./WindowProperties');function k(p){return p&&p['__esModule']?p:{'default':p};}var l={},m;window['document']&&window['document']['getElementsByTagName']&&(m=window['document']['getElementsByTagName']['bind'](window['document']));var document={'readyState':'complete','visibilityState':'visible','fullscreen':!![],'hidden':![],'style':{},'scripts':[],'location':window['location'],'ontouchstart':null,'ontouchmove':null,'ontouchend':null,'onvisibilitychange':null,'head':new e['default']('head'),'body':new e['default']('body'),'documentElement':{'clientWidth':j['screen']['width'],'clientHight':j['screen']['height'],'clientLeft':0x0,'clientTop':0x0,'scrollLeft':0x0,'scrollTop':0x0},'createElement':function p(q){q=q['toLowerCase']();if(q==='canvas')return new i['default']();else{if(q==='audio')return new h['default']();else{if(q==='img')return new g['default']();else{if(q==='video')return new f['default']();}}}return new e['default'](q);},'createElementNS':function q(r,s){return this['createElement'](s);},'getElementById':function r(s){if(s===window['canvas']['id'])return window['canvas'];return null;},'getElementsByTagName':function s(t){if(m)return m(t);t=t['toLowerCase']();if(t==='head')return[document['head']];else{if(t==='body')return[document['body']];else{if(t==='canvas')return[window['canvas']];}}return[];},'getElementsByTagNameNS':function t(u,v){return this['getElementsByTagName'](v);},'getElementsByName':function u(v){if(v==='head')return[document['head']];else{if(v==='body')return[document['body']];else{if(v==='canvas')return[window['canvas']];}}return[];},'querySelector':function v(w){if(w==='head')return document['head'];else{if(w==='body')return document['body'];else{if(w==='canvas')return window['canvas'];else{if(w==='#'['concat'](window['canvas']['id']))return window['canvas'];}}}return null;},'querySelectorAll':function w(x){if(x==='head')return[document['head']];else{if(x==='body')return[document['body']];else{if(x==='canvas')return[window['canvas']];}}return[];},'addEventListener':function x(y,z){!l[y]&&(l[y]=[]),l[y]['push'](z);},'removeEventListener':function y(z,A){var B=l[z];if(B&&B['length']>0x0)for(var C=B['length'];C--;C>0x0){if(B[C]===A){B['splice'](C,0x1);break;}}},'dispatchEvent':function z(A){var B=A['type'],C=l[B];if(C)for(var D=0x0;D0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',p['type'],p);};if(g['isIDE']){for(var k in e){var l=Object['getOwnPropertyDescriptor'](window,k);(!l||l['configurable']===!![])&&Object['defineProperty'](window,k,{'value':e[k]});}for(var m in e['document']){var n=Object['getOwnPropertyDescriptor'](window['document'],m);(!n||n['configurable']===!![])&&Object['defineProperty'](window['document'],m,{'value':e['document'][m]});}window['parent']=window,window['my']=my;}else{e['my']=my;for(var o in e){window[o]=e[o];}}}j(),a('../../../../common/xmldom/dom-parser'),a('../unify');},{'../../../../common/xmldom/dom-parser':0x1,'../unify':0x24,'./document':0x1c,'./utils/util':0x22,'./window':0x23}],0x1e:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d={get 'length'(){var f=my['getStorageInfoSync'](),g=f['keys'];return console['log']('getStorageInfoSync:\x20'+JSON['stringify'](my['getStorageInfoSync']())),g['length'];},'key':function f(g){var h=my['getStorageInfoSync'](),i=h['keys'];return i[g];},'getItem':function g(h){var i=my['getStorageSync']({'key':h});return i['data']===null?null:i['data'];},'setItem':function h(i,j){if(window['asyncStorage'])return my['setStorage']({'key':i,'data':j});return my['setStorageSync']({'key':i,'data':j});},'removeItem':function i(j){if(window['asyncStorage'])return my['removeStorage']({'key':j});return my['removeStorageSync']({'key':j});},'clear':function j(){if(window['asyncStorage'])return my['clearStorage']();return my['clearStorageSync']();}},e=c['default']=d;},{}],0x1f:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d={'href':'game.js','hostname':'alipay.com','reload':function f(){},'replace':function g(){}},e=c['default']=d;},{}],0x20:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=a('./utils/noop'),e=my['getSystemInfoSync'](),f=e||{},g=f['system'],h=f['platform'],i=h===void 0x0?'android':h,j=f['language'],k=i['toLowerCase']()['indexOf']('android')!==-0x1;my['onNetworkStatusChange']&&my['onNetworkStatusChange'](function(p){navigator['onLine']=p['isConnected']?!![]:![];});function l(p){if(typeof p!=='function')throw new TypeError('Failed\x20to\x20execute\x20\x27getCurrentPosition\x27\x20on\x20\x27Geolocation\x27:\x201\x20argument\x20required,\x20but\x20only\x200\x20present.');my['getLocation']({'success':function q(r){var s=r['accuracy'],t=r['latitude'],u=r['longitude'];p({'coords':{'accuracy':s,'latitude':t,'longitude':u},'timestamp':new Date()['valueOf']()});}});}var m=k?'Android;\x20CPU\x20'+g:'iPhone;\x20CPU\x20iPhone\x20OS\x20'+g+'\x20like\x20Mac\x20OS\x20X',n='Mozilla/5.0\x20('['concat'](m,')\x20AliApp(AP/')['concat'](e['version'],')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20AlipayMiniGame\x20NetType/WIFI\x20Language/')['concat'](j);window['navigator']&&(n=window['navigator']['userAgent']+'\x20AlipayMiniGame');var navigator={'platform':i,'language':j,'userAgent':n,'appVersion':'5.0\x20('+m+')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1','geolocation':{'getCurrentPosition':l,'watchPositon':d['noop'],'clearWatch':d['noop']}},o=c['default']=navigator;},{'./utils/noop':0x21}],0x21:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['noop']=d;function d(){};},{}],0x22:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['arrayBufferToBase64']=h,c['base64ToArrayBuffer']=i,c['isIDE']=void 0x0,c['transformArrayBufferToBase64']=e;var d=a('../Base64');function e(k){var l='',m=new Uint8Array(k);for(var n=m['byteLength'],o=0x0;o0xff)throw new Error('\x22btoa\x22\x20failed');p=p<<0x8|q;var r=0x3f&p>>0x8-o%0x1*0x8;n+=l['charAt'](r);}return n;}function g(k){var l='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',m='',n=String(k)['replace'](/[=]+$/,''),p,q,s=0x0,t=0x0;while(q=n['charAt'](t)){t=t+0x1,q=l['indexOf'](q),~q&&(p=s%0x4?0x40*p+q:q,s++%0x4&&(m+=String['fromCharCode'](0xff&p>>(-0x2*s&0x6))));}return m;}function h(k){var l='',m=new Uint8Array(k),n=m['byteLength'];for(var o=0x0;oj;Object['assign'](f,{'startAccelerometer':function m(n){g=n,my['onAccelerometerChange']&&my['onAccelerometerChange'](e);},'stopAccelerometer':function n(){my['offAccelerometerChange']&&my['offAccelerometerChange'](e);}});}},{'./utils':0x25}],0x25:[function(a,b,c){'use strict';var d={'cloneMethod':function e(f,g,h,i){g[h]&&(i=i||h,f[i]=g[h]['bind'](g));}};b['exports']=d;},{}]},{},[0x1d])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/web-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/web-adapter.min.js +deleted file mode 100644 +index 95f9979..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/alipay/web-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function r(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],r,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},z=/\/x?html?$/['test'](z),G=z?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=((H,I,J)=>{if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;})(D,C,E),B['domBuilder']=A['domBuilder']||C,z&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,G):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==az&&'>')||('&'==az?'&':'\x22'==az&&'"')||'&#'+az['charCodeAt']()+';';}function ac(az,aA){if(aA(az))return 0x1;if(az=az['firstChild'])do{if(ac(az,aA))return 0x1;}while(az=az['nextSibling']);}function ad(){}function ae(az,aA,aB){az&&az['_inc']++,'http://www.w3.org/2000/xmlns/'==aB['namespaceURI']&&delete aA['_nsMap'][aB['prefix']?aB['localName']:''];}function af(az,aA,aB){if(az&&az['_inc']){az['_inc']++;var aC=aA['childNodes'];if(aB)aC[aC['length']++]=aB;else{for(var aD=aA['firstChild'],aE=0x0;aD;)aD=(aC[aE++]=aD)['nextSibling'];aC['length']=aE;}}}function ag(az,aA){var aB=aA['previousSibling'],aC=aA['nextSibling'];return aB?aB['nextSibling']=aC:az['firstChild']=aC,aC?aC['previousSibling']=aB:az['lastChild']=aB,af(az['ownerDocument'],az),aA;}function ah(az,aA,aB){var aC=aA['parentNode'];if(aC&&aC['removeChild'](aA),0xb===aA['nodeType']){var aD=aA['firstChild'];if(null==aD)return aA;var aE=aA['lastChild'];}else aD=aE=aA;aC=aB?aB['previousSibling']:az['lastChild'];for(aD['previousSibling']=aC,aE['nextSibling']=aB,aC?aC['nextSibling']=aD:az['firstChild']=aD,null==aB?az['lastChild']=aE:aB['previousSibling']=aE;aD['parentNode']=az,aD!==aE&&(aD=aD['nextSibling']););return af(az['ownerDocument']||az,az),0xb==aA['nodeType']&&(aA['firstChild']=aA['lastChild']=null),aA;}function ai(){this['_nsMap']={};}function aj(){}function ak(){}function al(){}function am(){}function an(){}function ao(){}function ap(){}function aq(){}function ar(){}function as(){}function at(){}function au(){}function av(az,aA){var aB,aC=[],aD=0x9==this['nodeType']&&this['documentElement']||this,aE=aD['prefix'],aF=aD['namespaceURI'];return ax(this,aC,az,aA,aB=aF&&null==aE&&null==aD['lookupPrefix'](aF)?[{'namespace':aF,'prefix':null}]:aB),aC['join']('');}function aw(az,aA,aB){var aC=az['prefix']||'',aD=az['namespaceURI'];if((aC||aD)&&('xml'!==aC||'http://www.w3.org/XML/1998/namespace'!==aD)&&'http://www.w3.org/2000/xmlns/'!=aD){for(var aE=aB['length'];aE--;){var aF=aB[aE];if(aF['prefix']==aC)return aF['namespace']!=aD;}return 0x1;}}function ax(az,aA,aB,aC,aD){if(aC){if(!(az=aC(az)))return;if('string'==typeof az)return void aA['push'](az);}switch(az['nodeType']){case 0x1:aD=aD||[];var aE=az['attributes'],aF=aE['length'],aG=az['firstChild'],aH=az['tagName'];aB='http://www.w3.org/1999/xhtml'===az['namespaceURI']||aB,aA['push']('<',aH);for(var aI=0x0;aI'),aB&&/^script$/i['test'](aH)){for(;aG;)aG['data']?aA['push'](aG['data']):ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}else{for(;aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}aA['push']('');}else aA['push']('/>');return;case 0x9:case 0xb:for(aG=az['firstChild'];aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];return;case 0x2:return aA['push']('\x20',az['name'],'=\x22',az['value']['replace'](/[<&"]/g,ab),'\x22');case 0x3:return aA['push'](az['data']['replace'](/[<&]/g,ab));case 0x4:return aA['push']('');case 0x8:return aA['push']('');case 0xa:var aH=az['publicId'],aM=az['systemId'];return aA['push']('')):aM&&'.'!=aM?aA['push']('\x20SYSTEM\x20\x22',aM,'\x22>'):((aH=az['internalSubset'])&&aA['push']('\x20[',aH,']'),aA['push']('>')));case 0x7:return aA['push']('');case 0x5:return aA['push']('&',az['nodeName'],';');default:aA['push']('??',az['nodeName']);}}function ay(az,aA,aB){az[aA]=aB;}a1['prototype']=Error['prototype'],Q(Z,a1),a2['prototype']={'length':0x0,'item':function(az){return this[az]||null;},'toString':function(az,aA){for(var aB=[],aC=0x0;aC','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(b,c,f){var g=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=new RegExp('[\x5c-\x5c.0-9'+g['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),j=new RegExp('^'+g['source']+h['source']+'*(?::'+g['source']+h['source']+'*)?$'),l=0x0,m=0x1,p=0x2,q=0x3,s=0x4,u=0x5,v=0x6,w=0x7;function y(){}function z(K,M){return M['lineNumber']=K['lineNumber'],M['columnNumber']=K['columnNumber'],M;}function E(K,M,N){for(var O=K['tagName'],P=null,Q=K['length'];Q--;){var S=K[Q],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==P&&(P={},G(N,N={})),N[T]=P[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',M['startPrefixMapping'](T,U));}for(var V,Q=K['length'];Q--;)(V=(S=K[Q])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V)&&(S['uri']=N[V||'']);var W,X=0x0<(W=O['indexOf'](':'))?(V=K['prefix']=O['slice'](0x0,W),K['localName']=O['slice'](W+0x1)):(V=null,K['localName']=O),Y=K['uri']=N[V||''];if(M['startElement'](Y,X,O,K),!K['closed'])return K['currentNSMap']=N,K['localNSMap']=P,0x1;if(M['endElement'](Y,X,O),P){for(V in P)M['endPrefixMapping'](V);}}function G(K,M){for(var N in K)M[N]=K[N];}function J(K){}y['prototype']={'parse':function(K,M,N){var O=this['domBuilder'];O['startDocument'](),G(M,M={}),((Q,U,V,W,X)=>{function Y(an){var ao=an['slice'](0x1,-0x1);return ao in V?V[ao]:'#'===ao['charAt'](0x0)?0xffff<(ao=parseInt(ao['substr'](0x1)['replace']('x','0x')))?(ao-=0x10000,String['fromCharCode'](0xd800+(ao>>0xa),0xdc00+(0x3ff&ao))):String['fromCharCode'](ao):(X['error']('entity\x20not\x20found:'+an),an);}function Z(an){var ao;a7',aa+0x3),ac=Q['substring'](aa+0x2,ab),ad=a5['pop'](),ae=(ab<0x0?(ac=Q['substring'](aa+0x2)['replace'](/[\s<].*/,''),X['error']('end\x20tag\x20name:\x20'+ac+'\x20is\x20not\x20complete:'+ad['tagName']),ab=aa+0x1+ac['length']):ac['match'](/\s{var aq=an['indexOf']('?>',ao);if(aq){an=an['substring'](ao,aq)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(an)return an[0x0]['length'],ap['processingInstruction'](an[0x1],an[0x2]),aq+0x2;}return-0x1;})(Q,aa,W);break;case'!':a4&&a0(aa),ab=((an,ao,ap,aq)=>{var ar,as;return'-'===an['charAt'](ao+0x2)?'-'===an['charAt'](ao+0x3)?(as=an['indexOf']('-->',ao+0x4),ao',ao+0x9),ap['startCDATA'](),ap['characters'](an,ao+0x9,as-ao-0x9),ap['endCDATA'](),as+0x3):0x1<(as=(aq=((at,au)=>{var av,aw=[],ax=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(ax['lastIndex']=au,ax['exec'](at);av=ax['exec'](at);)if(aw['push'](av),av[0x1])return aw;})(an,ao))['length'])&&/!doctype/i['test'](aq[0x0][0x0])?(an=aq[0x1][0x0],ao=0x3{for(var at,au=++ao,av=l;;){var aw=an['charAt'](au);switch(aw){case'=':if(av===m)at=an['slice'](ao,au);else{if(av!==p)throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}av=q;break;case'\x27':case'\x22':if(av===q||av===m){if(av===m&&(as['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),at=an['slice'](ao,au)),ao=au+0x1,!(0x0<(au=an['indexOf'](aw,ao))))throw new Error('attribute\x20value\x20no\x20end\x20\x27'+aw+'\x27\x20match');ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar),ap['add'](at,ax,ao-0x1);}else{if(av!=s)throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar),ap['add'](at,ax,ao),as['warning']('attribute\x20\x22'+at+'\x22\x20missed\x20start\x20quot('+aw+')!!'),ao=au+0x1;}av=u;break;case'/':switch(av){case l:ap['setTagName'](an['slice'](ao,au));case u:case v:case w:av=w,ap['closed']=!0x0;case s:case m:case p:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':return as['error']('unexpected\x20end\x20of\x20input'),av==l&&ap['setTagName'](an['slice'](ao,au)),au;case'>':switch(av){case l:ap['setTagName'](an['slice'](ao,au));case u:case v:case w:break;case s:case m:'/'===(ax=an['slice'](ao,au))['slice'](-0x1)&&(ap['closed']=!0x0,ax=ax['slice'](0x0,-0x1));case p:av===p&&(ax=at),av==s?(as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20quot(\x22)!!'),ap['add'](at,ax['replace'](/&#?\w+;/g,ar),ao)):('http://www.w3.org/1999/xhtml'===aq['']&&ax['match'](/^(?:disabled|checked|selected)$/i)||as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20value!!\x20\x22'+ax+'\x22\x20instead!!'),ap['add'](ax,ax,ao));break;case q:throw new Error('attribute\x20value\x20missed!!');}return au;case'\u0080':aw='\x20';default:if(aw<='\x20')switch(av){case l:ap['setTagName'](an['slice'](ao,au)),av=v;break;case m:at=an['slice'](ao,au),av=p;break;case s:var ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar);as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20quot(\x22)!!'),ap['add'](at,ax,ao);case u:av=v;}else switch(av){case p:ap['tagName'],('http://www.w3.org/1999/xhtml'===aq['']&&at['match'](/^(?:disabled|checked|selected)$/i)||as['warning']('attribute\x20\x22'+at+'\x22\x20missed\x20value!!\x20\x22'+at+'\x22\x20instead2!!'),ap['add'](at,at,ao),ao=au,av=m);break;case u:as['warning']('attribute\x20space\x20is\x20required\x22'+at+'\x22!!');case v:av=m,ao=au;break;case q:av=s,ao=au;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}au++;}})(Q,aa,ah,ai,Y,X),aj=ah['length'];if(!ah['closed']&&((an,ao,ap,aq)=>{var ar=aq[ap];return null==ar&&((ar=an['lastIndexOf']('')){if(/^(?:script|textarea)$/i['test'](ap)){var as=an['indexOf']('',ao),an=an['substring'](ao+0x1,as);if(/[&<]/['test'](an))return/^script$/i['test'](ap)?ar['characters'](an,0x0,an['length']):(an=an['replace'](/&#?\w+;/g,aq),ar['characters'](an,0x0,an['length'])),as;}return ao+0x1;})(Q,ab,ah['tagName'],Y,W);}}catch(an){X['error']('element\x20parse\x20error:\x20'+an),ab=-0x1;}a7(A=((B,C)=>{if('object'!=g(B)||!B)return B;var D=B[Symbol['toPrimitive']];if(void 0x0===D)return('string'===C?String:Number)(B);if('object'!=g(D=D['call'](B,C||'default')))return D;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(A,'string'),'symbol'==g(A)?A:A+''))(z['key']),z);}}function j(w,x,y){x=p(x);var z=w,x=k()?Reflect['construct'](x,y||[],p(w)['constructor']):x['apply'](w,y);if(!x||'object'!=g(x)&&'function'!=typeof x){if(void 0x0!==x)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(x=z))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return x;}function k(){try{var w=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(x){}return(k=function(){return!!w;})();}function m(){return(m='undefined'!=typeof Reflect&&Reflect['get']?Reflect['get']['bind']():function(w,x,y){var z=((A,B)=>{for(;!{}['hasOwnProperty']['call'](A,B)&&null!==(A=p(A)););return A;})(w,x);if(z)return(z=Object['getOwnPropertyDescriptor'](z,x))['get']?z['get']['call'](arguments['length']<0x3?w:y):z['value'];})['apply'](null,arguments);}function p(w){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(x){return x['__proto__']||Object['getPrototypeOf'](x);})(w);}function q(w,x){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(y,z){return y['__proto__']=z,y;})(w,x);}var v=new WeakMap();d['default']=(w=>{function x(A){var B;if(!(this instanceof x))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');(B=j(this,x))['readyState']=0x0;var C=my['createInnerAudioContext']();return v['set'](B,C),B['_canplayEvents']=['load','loadend','canplay','canplaythrough','loadedmetadata'],C['onCanPlay'](function(){B['_loaded']=!0x0,B['readyState']=0x2,B['_canplayEvents']['forEach'](function(D){B['dispatchEvent']({'type':D});}),'function'==typeof B['oncanplay']&&B['oncanplay']();}),C['onPlay'](function(){B['_paused']=!0x1,B['dispatchEvent']({'type':'play'}),'function'==typeof B['onplay']&&B['onplay']();}),C['onPause'](function(){B['_paused']=!0x0,B['dispatchEvent']({'type':'pause'}),'function'==typeof B['onpause']&&B['onpause']();}),C['onEnded'](function(){B['_paused']=!0x1,B['dispatchEvent']({'type':'ended'}),B['readyState']=0x4,'function'==typeof B['onended']&&B['onended']();}),C['onError'](function(){B['_paused']=!0x0,B['dispatchEvent']({'type':'error'}),'function'==typeof B['onerror']&&B['onerror']();}),A?B['src']=A:B['_src']='',B['_loop']=C['loop'],B['_autoplay']=C['autoplay'],B['_paused']=C['paused'],B['_volume']=C['volume'],B['_muted']=!0x1,B;}var y,z=x;if('function'!=typeof w&&null!==w)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return z['prototype']=Object['create'](w&&w['prototype'],{'constructor':{'value':z,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](z,'prototype',{'writable':!0x1}),w&&q(z,w),z=x,(w=[{'key':'addEventListener','value':function(A,B){var C,D,E,F,G,H=0x2>(-0x2*p&0x6))))k=f['indexOf'](k);return m;},d['btoa']=function(h){for(var j,k,l=String(h),m='',p=0x0,q=f;l['charAt'](0x0|p)||(q='=',p%0x1);m+=q['charAt'](0x3f&j>>0x8-p%0x1*0x8)){if(0xff<(k=l['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');j=j<<0x8|k;}return m;};var f='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';function g(h){this['message']=h;}(g['prototype']=new Error())['name']='InvalidCharacterError';},{}],0x7:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=function(){var g=my['createCanvas']();return f['isIDE']||('tagName'in g||(g['tagName']='canvas'),g['__proto__']['__proto__']=new d['default']()),g;};var d=(c=a('./HTMLCanvasElement'))&&c['__esModule']?c:{'default':c},f=a('./utils/util');},{'./HTMLCanvasElement':0x10,'./utils/util':0x22}],0x8:[function(b,d,f){function g(w){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(x){return typeof x;}:function(x){return x&&'function'==typeof Symbol&&x['constructor']===Symbol&&x!==Symbol['prototype']?'symbol':typeof x;})(w);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var h=(h=b('./Node'))&&h['__esModule']?h:{'default':h},j=b('./utils/noop');function k(w,x){for(var y=0x0;y(A=((B,C)=>{if('object'!=g(B)||!B)return B;var D=B[Symbol['toPrimitive']];if(void 0x0===D)return('string'===C?String:Number)(B);if('object'!=g(D=D['call'](B,C||'default')))return D;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(A,'string'),'symbol'==g(A)?A:A+''))(z['key']),z);}}function m(w,x,y){x=q(x);var z=w,x=p()?Reflect['construct'](x,y||[],q(w)['constructor']):x['apply'](w,y);if(!x||'object'!=g(x)&&'function'!=typeof x){if(void 0x0!==x)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(x=z))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return x;}function p(){try{var w=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(x){}return(p=function(){return!!w;})();}function q(w){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(x){return x['__proto__']||Object['getPrototypeOf'](x);})(w);}function v(w,x){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(y,z){return y['__proto__']=z,y;})(w,x);}f['default']=(w=>{function x(){var A;if(this instanceof x)return(A=m(this,x))['className']='',A['children']=[],A['remove']=j['noop'],A;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var y,z=x;if('function'!=typeof w&&null!==w)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return z['prototype']=Object['create'](w&&w['prototype'],{'constructor':{'value':z,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](z,'prototype',{'writable':!0x1}),w&&v(z,w),z=x,(w=[{'key':'setAttribute','value':function(A,B){this[A]=B;}},{'key':'getAttribute','value':function(A){return this[A];}},{'key':'setAttributeNS','value':function(A,B){this[A]=B;}},{'key':'getAttributeNS','value':function(A){return this[A];}}])&&k(z['prototype'],w),y&&k(z,y),Object['defineProperty'](z,'prototype',{'writable':!0x1}),z;})(h['default']);},{'./Node':0x17,'./utils/noop':0x21}],0x9:[function(b,c,d){function f(k){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;})(k);}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var g=b('./utils/noop');function h(k,l){for(var m=0x0;m(q=((s,u)=>{if('object'!=f(s)||!s)return s;var v=s[Symbol['toPrimitive']];if(void 0x0===v)return('string'===u?String:Number)(s);if('object'!=f(v=v['call'](s,u||'default')))return v;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(q,'string'),'symbol'==f(q)?q:q+''))(p['key']),p);}}function j(k,l,m){return l&&h(k['prototype'],l),m&&h(k,m),Object['defineProperty'](k,'prototype',{'writable':!0x1}),k;}d['default']=j(function k(l){if(!(this instanceof k))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');this['cancelBubble']=!0x1,this['cacelable']=!0x1,this['target']=null,this['timestampe']=Date['now'](),this['preventDefault']=g['noop'],this['stopPropagation']=g['noop'],this['type']=l;});},{'./utils/noop':0x21}],0xa:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0xb:[function(b,g,h){function j(E){return(j='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(F){return typeof F;}:function(F){return F&&'function'==typeof Symbol&&F['constructor']===Symbol&&F!==Symbol['prototype']?'symbol':typeof F;})(E);}Object['defineProperty'](h,'__esModule',{'value':!0x0}),h['default']=void 0x0;var k=v(b('../Event')),m=v(b('../document')),q=b('../utils/util');function v(E){return E&&E['__esModule']?E:{'default':E};}function w(E,F){for(var G=0x0;G(I=((J,K)=>{if('object'!=j(J)||!J)return J;var L=J[Symbol['toPrimitive']];if(void 0x0===L)return('string'===K?String:Number)(J);if('object'!=j(L=L['call'](J,K||'default')))return L;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(I,'string'),'symbol'==j(I)?I:I+''))(H['key']),H);}}function x(E,F,G){F=A(F);var H=E,F=z()?Reflect['construct'](F,G||[],A(E)['constructor']):F['apply'](E,G);if(!F||'object'!=j(F)&&'function'!=typeof F){if(void 0x0!==F)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(F=H))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return F;}function z(){try{var E=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(F){}return(z=function(){return!!E;})();}function A(E){return(A=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(F){return F['__proto__']||Object['getPrototypeOf'](F);})(E);}function B(E,F){return(B=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(G,H){return G['__proto__']=H,G;})(E,F);}var C=h['default']=(E=>{function F(J){if(this instanceof F)return(J=x(this,F,[J]))['touches']=[],J['targetTouches']=[],J['changedTouches']=[],J['target']=window['canvas'],J['currentTarget']=window['canvas'],J;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var G,H,I=F;if('function'!=typeof E&&null!==E)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return I['prototype']=Object['create'](E&&E['prototype'],{'constructor':{'value':I,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](I,'prototype',{'writable':!0x1}),E&&B(I,E),I=F,G&&w(I['prototype'],G),H&&w(I,H),Object['defineProperty'](I,'prototype',{'writable':!0x1}),I;})(k['default']);function D(E){return function(F){var G;q['isIDE']||((G=new C(E))['changedTouches']=F['touches'],G['touches']=F['touches'],G['targetTouches']=Array['prototype']['slice']['call'](F['touches']),m['default']['dispatchEvent'](G));};}my['onTouchStart'](D('touchstart')),my['onTouchMove'](D('touchmove')),my['onTouchEnd'](D('touchend')),my['onTouchCancel'](D('touchcancel'));},{'../Event':0x9,'../document':0x1c,'../utils/util':0x22}],0xc:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),Object['defineProperty'](c,'MouseEvent',{'enumerable':!0x0,'get':function(){return f['default'];}}),Object['defineProperty'](c,'TouchEvent',{'enumerable':!0x0,'get':function(){return d['default'];}});var d=g(a('./TouchEvent')),f=g(a('./MouseEvent'));function g(h){return h&&h['__esModule']?h:{'default':h};}},{'./MouseEvent':0xa,'./TouchEvent':0xb}],0xd:[function(b,c,d){function f(j){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(k){return typeof k;}:function(k){return k&&'function'==typeof Symbol&&k['constructor']===Symbol&&k!==Symbol['prototype']?'symbol':typeof k;})(j);}function g(j,k){for(var l=0x0;l(p=((q,s)=>{if('object'!=f(q)||!q)return q;var u=q[Symbol['toPrimitive']];if(void 0x0===u)return('string'===s?String:Number)(q);if('object'!=f(u=u['call'](q,s||'default')))return u;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==f(p)?p:p+''))(m['key']),m);}}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var h=new WeakMap();d['default']=((()=>{function j(){if(!(this instanceof j))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');h['set'](this,{});}return k=j,(l=[{'key':'addEventListener','value':function(p,q){var s=h['get'](this);s||h['set'](this,s={}),s[p]||(s[p]=[]),s[p]['push'](q);}},{'key':'removeEventListener','value':function(p,q){var s=h['get'](this);if(s){var u=s[p];if(u&&0x0(l=((m,p)=>{if('object'!=d(m)||!m)return m;var q=m[Symbol['toPrimitive']];if(void 0x0===q)return('string'===p?String:Number)(m);if('object'!=d(q=q['call'](m,p||'default')))return q;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(l,'string'),'symbol'==d(l)?l:l+''))(k['key']),k);}}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=((()=>{function g(){if(!(this instanceof g))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}return h=g,(j=[{'key':'construct','value':function(){}}])&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;var h,j,k;})());},{}],0xf:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLMediaElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['audio']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLMediaElement':0x13}],0x10:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['canvas']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLElement':0x11}],0x11:[function(b,d,g){function h(y){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(z){return typeof z;}:function(z){return z&&'function'==typeof Symbol&&z['constructor']===Symbol&&z!==Symbol['prototype']?'symbol':typeof z;})(y);}Object['defineProperty'](g,'__esModule',{'value':!0x0}),g['default']=void 0x0;var j=(j=b('./Element'))&&j['__esModule']?j:{'default':j},k=b('./utils/noop'),m=b('./WindowProperties');function p(y,z){for(var A=0x0;A(C=((D,E)=>{if('object'!=h(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=h(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==h(C)?C:C+''))(B['key']),B);}}function q(y,z,A){z=w(z);var B=y,z=v()?Reflect['construct'](z,A||[],w(y)['constructor']):z['apply'](y,A);if(!z||'object'!=h(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function v(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(v=function(){return!!y;})();}function w(y){return(w=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function x(y,z){return(x=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}g['default']=(y=>{function z(){var D=0x0(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['img']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLElement':0x11}],0x13:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s){if(s&&('object'==g(s)||'function'==typeof s))return s;if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');s=q;if(void 0x0===s)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(x){var y,z;if(this instanceof s)return j(void 0x0,(y=this,x=[x],z=m(z=s),j(y,k()?Reflect['construct'](z,x||[],m(y)['constructor']):z['apply'](y,x))));throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return w['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':w,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](w,'prototype',{'writable':!0x1}),q&&p(w,q),w=s,(q=[{'key':'addTextTrack','value':function(){}},{'key':'capureStream','value':function(){}},{'key':'fastSeek','value':function(){}},{'key':'load','value':function(){}},{'key':'pause','value':function(){}},{'key':'play','value':function(){}},{'key':'canPlayType','value':function(){}}])&&h(w['prototype'],q),v&&h(w,v),Object['defineProperty'](w,'prototype',{'writable':!0x1}),w;})(b['default']);},{'./HTMLElement':0x11}],0x14:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLMediaElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['video']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLMediaElement':0x13}],0x15:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=function(){var g=my['createImage']();return f['isIDE']||(g['__proto__']=new d['default'](),void 0x0===g['tagName']&&(g['tagName']='IMG'),g['onload']=function(){g['dispatchEvent']({'type':'load'});},g['onerror']=function(){g['dispatchEvent']({'type':'error'});}),g;};var d=(c=a('./HTMLImageElement'))&&c['__esModule']?c:{'default':c},f=a('./utils/util');},{'./HTMLImageElement':0x12,'./utils/util':0x22}],0x16:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x17:[function(b,d,f){function g(w){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(x){return typeof x;}:function(x){return x&&'function'==typeof Symbol&&x['constructor']===Symbol&&x!==Symbol['prototype']?'symbol':typeof x;})(w);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var h=(h=b('./EventTarget'))&&h['__esModule']?h:{'default':h},j=b('./utils/noop');function k(w,x){for(var y=0x0;y(A=((B,C)=>{if('object'!=g(B)||!B)return B;var D=B[Symbol['toPrimitive']];if(void 0x0===D)return('string'===C?String:Number)(B);if('object'!=g(D=D['call'](B,C||'default')))return D;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(A,'string'),'symbol'==g(A)?A:A+''))(z['key']),z);}}function m(w,x,y){x=q(x);var z=w,x=p()?Reflect['construct'](x,y||[],q(w)['constructor']):x['apply'](w,y);if(!x||'object'!=g(x)&&'function'!=typeof x){if(void 0x0!==x)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(x=z))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return x;}function p(){try{var w=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(x){}return(p=function(){return!!w;})();}function q(w){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(x){return x['__proto__']||Object['getPrototypeOf'](x);})(w);}function v(w,x){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(y,z){return y['__proto__']=z,y;})(w,x);}f['default']=(w=>{function x(){var A;if(this instanceof x)return(A=m(this,x))['childNodes']=[],A['insertBefor']=j['noop'],A;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var y,z=x;if('function'!=typeof w&&null!==w)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return z['prototype']=Object['create'](w&&w['prototype'],{'constructor':{'value':z,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](z,'prototype',{'writable':!0x1}),w&&v(z,w),z=x,(w=[{'key':'appendChild','value':function(A){if(!(A instanceof x||A instanceof window['Node']))throw new TypeError('Failed\x20to\x20executed\x20\x27appendChild\x27\x20on\x20\x27Node\x27:\x20parameter\x201\x20is\x20not\x20of\x20type\x20\x27Node\x27.');this['childNodes']['push'](A);}},{'key':'cloneNode','value':function(){var A=Object['create'](this);return Object['assign'](A,this);}},{'key':'removeChild','value':function(A){var B=this['childNodes']['findIndex'](function(C){return C===A;});return-0x1(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x19:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var g=b('./utils/util');function h(p){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(q){return typeof q;}:function(q){return q&&'function'==typeof Symbol&&q['constructor']===Symbol&&q!==Symbol['prototype']?'symbol':typeof q;})(p);}function j(p,q){for(var s=0x0;s{if('object'!=h(q)||!q)return q;var v=q[Symbol['toPrimitive']];if(void 0x0===v)return('string'===s?String:Number)(q);if('object'!=h(v=v['call'](q,s||'default')))return v;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==h(p)?p:p+'';}var m=new WeakMap(),b=((()=>{return p=function v(w){var x=this,y=0x1(L=((M,N)=>{if('object'!=k(M)||!M)return M;var O=M[Symbol['toPrimitive']];if(void 0x0===O)return('string'===N?String:Number)(M);if('object'!=k(O=O['call'](M,N||'default')))return O;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(L,'string'),'symbol'==k(L)?L:L+''))(K['key']),K);}}function v(H,I,J){I=x(I);var K=H,I=w()?Reflect['construct'](I,J||[],x(H)['constructor']):I['apply'](H,J);if(!I||'object'!=k(I)&&'function'!=typeof I){if(void 0x0!==I)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(I=K))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return I;}function w(){try{var H=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(I){}return(w=function(){return!!H;})();}function x(H){return(x=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(I){return I['__proto__']||Object['getPrototypeOf'](I);})(H);}function z(H,I){return(z=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(J,K){return J['__proto__']=K,J;})(H,I);}var A=new WeakMap(),B=new WeakMap(),C=new WeakMap(),D=new WeakMap(),E=new WeakMap();function F(H){var I=0x1{function I(){var L;if(this instanceof I)return(L=v(this,I))['onabort']=null,L['onerror']=null,L['onload']=null,L['onloadstart']=null,L['onprogress']=null,L['ontimeout']=null,L['onloadend']=null,L['onreadystatechange']=null,L['readyState']=0x0,L['response']=null,L['responseText']=null,L['responseType']='',L['dataType']='string',L['responseXML']=null,L['status']=0x0,L['statusText']='',L['upload']={},L['withCredentials']=!0x1,L['timeout']=0x0,C['set'](L,{'content-type':'application/x-www-form-urlencoded'}),D['set'](L,{}),L;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var J,K=I;if('function'!=typeof H&&null!==H)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return K['prototype']=Object['create'](H&&H['prototype'],{'constructor':{'value':K,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](K,'prototype',{'writable':!0x1}),H&&z(K,H),K=I,(H=[{'key':'abort','value':function(){var L=E['get'](this);L&&L['abort']();}},{'key':'getAllResponseHeaders','value':function(){var L=D['get'](this);return Object['keys'](L)['map'](function(M){return M+':\x20'+L[M];})['join']('\x0a');}},{'key':'open','value':function(L,M){B['set'](this,L),A['set'](this,M),G['call'](this,0x1);}},{'key':'overrideMimeType','value':function(){}},{'key':'send','value':function(){var L=this,M=0x0{for(var m,p='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',q=String(l),s='',u=0x0;q['charAt'](0x0|u)||(p='=',u%0x1);){u+=0.75;var v=q['charCodeAt'](u);if(0xff>0x8-u%0x1*0x8,s+=p['charAt'](v);}return s;})(g);},c['base64ToArrayBuffer']=function(f){for(var g=(l=>{for(var m,p,q='',s=String(l)['replace'](/[=]+$/,''),u=0x0,v=0x0;p=s['charAt'](v);)v+=0x1,~(p='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='['indexOf'](p))&&(m=u%0x4?0x40*m+p:p,u++%0x4)&&(q+=String['fromCharCode'](0xff&m>>(-0x2*u&0x6)));return q;})(f),h=g['length'],j=new Uint8Array(h),k=0x0;k0x0?setTimeout(e,b['deleteInterval']):cleaning=![];}setTimeout(e,b['deleteInterval']);},'removeCache':function removeCache(a){if(this['cachedFiles']['has'](a)){var b=this['cachedFiles']['remove'](a)['url'];clearTimeout(writeCacheFileList),this['_write'](),this['_isZipFile'](a)?(rmdirSync(b,!![]),this['_deleteFileCB']()):deleteFile(b,this['_deleteFileCB']['bind'](this));}},'_deleteFileCB':function _deleteFileCB(a){if(!a)this['outOfStorage']=![];},'makeBundleFolder':function makeBundleFolder(a){makeDirSync(this['cacheDir']+'/'+a,!![]);},'unzipAndCacheBundle':function unzipAndCacheBundle(a,b,c,d){var e=Date['now']()['toString'](),f=''['concat'](this['cacheDir'],'/')['concat'](c,'/')['concat'](e)['concat'](suffix++),g=this;makeDirSync(f,!![]),unzip(b,f,function(h){if(h){rmdirSync(f,!![]);isOutOfStorage(h['message'])&&(g['outOfStorage']=!![],g['autoClear']&&g['clearLRU']());d&&d(h);return;}g['cachedFiles']['add'](a,{'bundle':c,'url':f,'lastTime':e}),g['writeCacheFile'](),d&&d(null,f);});},'_isZipFile':function _isZipFile(a){return a['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=module['exports']=cacheManager; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/engine/AssetManager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/engine/AssetManager.js +new file mode 100644 +index 0000000..b6ad0d0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/engine/AssetManager.js +@@ -0,0 +1 @@ ++'use strict';var cacheManager=require('../cache-manager'),_window$fsUtils=window['fsUtils'],fs=_window$fsUtils['fs'],downloadFile=_window$fsUtils['downloadFile'],readText=_window$fsUtils['readText'],readArrayBuffer=_window$fsUtils['readArrayBuffer'],readJson=_window$fsUtils['readJson'],loadSubpackage=_window$fsUtils['loadSubpackage'],getUserDataPath=_window$fsUtils['getUserDataPath'],exists=_window$fsUtils['exists'],REGEX=/^https?:\/\/.*/,downloader=cc['assetManager']['downloader'],parser=cc['assetManager']['parser'],presets=cc['assetManager']['presets'];downloader['maxConcurrency']=0x8,downloader['maxRequestsPerFrame']=0x40,presets['scene']['maxConcurrency']=0xa,presets['scene']['maxRequestsPerFrame']=0x40;var subpackages={};function downloadScript(a,b,c){REGEX['test'](a)?c&&c(new Error('Can\x20not\x20load\x20remote\x20scripts')):(require('../../../'+a),c&&c(null));}function handleZip(a,b,c){var d=cacheManager['cachedFiles']['get'](a);if(d)cacheManager['updateLastTime'](a),c&&c(null,d['url']);else REGEX['test'](a)?downloadFile(a,null,b['header'],b['onFileProgress'],function(e,f){if(e){c&&c(e);return;}cacheManager['unzipAndCacheBundle'](a,f,b['__cacheBundleRoot__'],c);}):cacheManager['unzipAndCacheBundle'](a,a,b['__cacheBundleRoot__'],c);}function loadInnerAudioContext(a){return new Promise(function(b,c){var d=__globalAdapter['createInnerAudioContext'](),e=setTimeout(function(){f(),b(d);},0x1f40);function f(){d['offCanplay'](g),d['offError'](h);}function g(){f(),clearTimeout(e),b(d);}function h(){f(),clearTimeout(e),c('failed\x20to\x20load\x20innerAudioContext:\x20'+err);}d['onCanplay'](g),d['onError'](h),d['src']=a;});}function loadAudioPlayer(a,b,c){cc['AudioPlayer']['load'](a)['then'](function(d){var e={'url':a,'duration':d['duration'],'type':d['type']};d['destroy'](),c(null,e);})['catch'](function(d){c(d);});}function download(a,b,c,d,e){var f=transformUrl(a,c);if(f['inLocal'])b(f['url'],c,e);else f['inCache']?(cacheManager['updateLastTime'](a),b(f['url'],c,function(g,h){g&&cacheManager['removeCache'](a),e(g,h);})):downloadFile(a,null,c['header'],d,function(g,h){if(g){e(g,null);return;}b(h,c,function(i,j){!i&&(cacheManager['tempFiles']['add'](a,h),cacheManager['cacheFile'](a,h,c['cacheEnabled'],c['__cacheBundleRoot__'],!![])),e(i,j);});});}function parseArrayBuffer(a,b,c){readArrayBuffer(a,c);}function parseText(a,b,c){readText(a,c);}function parseJson(a,b,c){readJson(a,c);}function downloadText(a,b,c){download(a,parseText,b,b['onFileProgress'],c);}function downloadJson(a,b,c){download(a,parseJson,b,b['onFileProgress'],c);}function loadFont(a,b,c){var d=__globalAdapter['loadFont'](a);c(null,d||'Arial');}function doNothing(a,b,c){exists(a,function(d){d?c(null,a):c(new Error('file\x20'['concat'](a,'\x20does\x20not\x20exist!')));});}function downloadAsset(a,b,c){download(a,doNothing,b,b['onFileProgress'],c);}function downloadBundle(a,b,c){var d=cc['path']['basename'](a),e=b['version']||cc['assetManager']['downloader']['bundleVers'][d],f=e?e+'.':'';if(subpackages[d]){var g='subpackages/'['concat'](d,'/config.')['concat'](f,'json');loadSubpackage(d,b['onFileProgress'],function(j){if(j){c(j,null);return;}downloadJson(g,b,function(k,l){l&&(l['base']='subpackages/'['concat'](d,'/')),c(k,l);});});}else{var h,i;REGEX['test'](a)||a['startsWith'](getUserDataPath())?(i=a,h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):downloader['remoteBundles']['indexOf'](d)!==-0x1?(i=''['concat'](downloader['remoteServerAddress'],'remote/')['concat'](d),h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):(i='assets/'['concat'](d),h='assets/'['concat'](d,'/index.')['concat'](f,'js'));require('../../../'+h),b['__cacheBundleRoot__']=d;var g=''['concat'](i,'/config.')['concat'](f,'json');downloadJson(g,b,function(j,k){if(j){c&&c(j);return;}if(k['isZip']){var l=k['zipVersion'],m=''['concat'](i,'/res.')['concat'](l?l+'.':'','zip');handleZip(m,b,function(n,o){if(n){c&&c(n);return;}k['base']=o+'/res/';var p=cc['sys'];if(p['platform']===p['ALIPAY_MINI_GAME']&&p['os']===p['OS_ANDROID']){var q=o+'res/';fs['accessSync']({'path':q})&&(k['base']=q);}c&&c(null,k);});}else k['base']=i+'/',c&&c(null,k);});}};var originParsePVRTex=parser['parsePVRTex'],parsePVRTex=function parsePVRTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePVRTex(e,b,c);});},originParsePKMTex=parser['parsePKMTex'],parsePKMTex=function parsePKMTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePKMTex(e,b,c);});},originParseASTCTex=parser['parseASTCTex'],parseASTCTex=function parseASTCTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParseASTCTex(e,b,c);});},originParsePlist=parser['parsePlist'],parsePlist=function parsePlist(a,b,c){readText(a,function(d,e){if(d)return c(d);originParsePlist(e,b,c);});};downloader['downloadScript']=downloadScript,parser['parsePVRTex']=parsePVRTex,parser['parsePKMTex']=parsePKMTex,parser['parseASTCTex']=parseASTCTex,parser['parsePlist']=parsePlist,downloader['register']({'.js':downloadScript,'.mp3':downloadAsset,'.ogg':downloadAsset,'.wav':downloadAsset,'.m4a':downloadAsset,'.png':downloadAsset,'.jpg':downloadAsset,'.bmp':downloadAsset,'.jpeg':downloadAsset,'.gif':downloadAsset,'.ico':downloadAsset,'.tiff':downloadAsset,'.image':downloadAsset,'.webp':downloadAsset,'.pvr':downloadAsset,'.pkm':downloadAsset,'.astc':downloadAsset,'.font':downloadAsset,'.eot':downloadAsset,'.ttf':downloadAsset,'.woff':downloadAsset,'.svg':downloadAsset,'.ttc':downloadAsset,'.txt':downloadAsset,'.xml':downloadAsset,'.vsh':downloadAsset,'.fsh':downloadAsset,'.atlas':downloadAsset,'.tmx':downloadAsset,'.tsx':downloadAsset,'.plist':downloadAsset,'.fnt':downloadAsset,'.json':downloadJson,'.ExportJson':downloadAsset,'.binary':downloadAsset,'.bin':downloadAsset,'.dbbin':downloadAsset,'.skel':downloadAsset,'.mp4':downloadAsset,'.avi':downloadAsset,'.mov':downloadAsset,'.mpg':downloadAsset,'.mpeg':downloadAsset,'.rm':downloadAsset,'.rmvb':downloadAsset,'bundle':downloadBundle,'default':downloadText}),parser['register']({'.png':downloader['downloadDomImage'],'.jpg':downloader['downloadDomImage'],'.bmp':downloader['downloadDomImage'],'.jpeg':downloader['downloadDomImage'],'.gif':downloader['downloadDomImage'],'.ico':downloader['downloadDomImage'],'.tiff':downloader['downloadDomImage'],'.image':downloader['downloadDomImage'],'.webp':downloader['downloadDomImage'],'.pvr':parsePVRTex,'.pkm':parsePKMTex,'.astc':parseASTCTex,'.font':loadFont,'.eot':loadFont,'.ttf':loadFont,'.woff':loadFont,'.svg':loadFont,'.ttc':loadFont,'.mp3':loadAudioPlayer,'.ogg':loadAudioPlayer,'.wav':loadAudioPlayer,'.m4a':loadAudioPlayer,'.txt':parseText,'.xml':parseText,'.vsh':parseText,'.fsh':parseText,'.atlas':parseText,'.tmx':parseText,'.tsx':parseText,'.fnt':parseText,'.plist':parsePlist,'.binary':parseArrayBuffer,'.bin':parseArrayBuffer,'.dbbin':parseArrayBuffer,'.skel':parseArrayBuffer,'.ExportJson':parseJson});function transformUrl(a,b){var c=![],d=![],e=a['startsWith'](getUserDataPath());if(e)c=!![];else{if(REGEX['test'](a)){if(!b['reload']){var f=cacheManager['cachedFiles']['get'](a);if(f)d=!![],a=f['url'];else{var g=cacheManager['tempFiles']['get'](a);g&&(c=!![],a=g);}}}else c=!![];}return{'url':a,'inLocal':c,'inCache':d};}cc['assetManager']['transformPipeline']['append'](function(a){var b=a['output']=a['input'];for(var c=0x0,d=b['length'];c','amp':'&','quot':'\x22','apos':'\x27'};return g&&e['setDocumentLocator'](g),d['errorHandler']=buildErrorHandler(f,e,g),d['domBuilder']=c['domBuilder']||e,i&&(h['']='http://www.w3.org/1999/xhtml'),h['xml']=h['xml']||'http://www.w3.org/XML/1998/namespace',a?d['parse'](a,h,j):d['errorHandler']['error']('invalid\x20doc\x20source'),e['doc'];};function buildErrorHandler(a,b,c){if(!a){if(b instanceof DOMHandler)return b;a=b;}var d={},e=a instanceof Function;c=c||{};function f(g){var h=a[g];!h&&e&&(h=a['length']==0x2?function(i){a(g,i);}:a),d[g]=h&&function(i){h('[xmldom\x20'+g+']\x09'+i+_locator(c));}||function(){};}return f('warning'),f('error'),f('fatalError'),d;}function DOMHandler(){this['cdata']=![];}function position(a,b){b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'];}DOMHandler['prototype']={'startDocument':function startDocument(){this['doc']=new DOMImplementation()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function startElement(a,b,c,d){var e=this['doc'],f=e['createElementNS'](a,c||b),g=d['length'];appendElement(this,f),this['currentElement']=f,this['locator']&&position(this['locator'],f);for(var h=0x0;h=b+c||b)return new java['lang']['String'](a,b,c)+'';return a;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(a){DOMHandler['prototype'][a]=function(){return null;};});function appendElement(a,b){!a['currentElement']?a['doc']['appendChild'](b):a['currentElement']['appendChild'](b);}var htmlEntity=require('./entities'),XMLReader=require('./sax')['XMLReader'],DOMImplementation=exports['DOMImplementation']=require('./dom')['DOMImplementation'];exports['XMLSerializer']=require('./dom')['XMLSerializer'],exports['DOMParser']=DOMParser; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/xmldom/dom.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/xmldom/dom.js +new file mode 100644 +index 0000000..4471f72 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/xmldom/dom.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function copy(a,b){for(var c in a){b[c]=a[c];}}function _extends(a,b){var c=a['prototype'];if(!(c instanceof b)){var d=function g(){};;d['prototype']=b['prototype'],d=new d();for(var f in c){d[f]=c[f];}a['prototype']=c=d;}c['constructor']!=a&&(typeof a!='function'&&console['error']('unknow\x20Class:'+a),c['constructor']=a);}var htmlns='http://www.w3.org/1999/xhtml',NodeType={},ELEMENT_NODE=NodeType['ELEMENT_NODE']=0x1,ATTRIBUTE_NODE=NodeType['ATTRIBUTE_NODE']=0x2,TEXT_NODE=NodeType['TEXT_NODE']=0x3,CDATA_SECTION_NODE=NodeType['CDATA_SECTION_NODE']=0x4,ENTITY_REFERENCE_NODE=NodeType['ENTITY_REFERENCE_NODE']=0x5,ENTITY_NODE=NodeType['ENTITY_NODE']=0x6,PROCESSING_INSTRUCTION_NODE=NodeType['PROCESSING_INSTRUCTION_NODE']=0x7,COMMENT_NODE=NodeType['COMMENT_NODE']=0x8,DOCUMENT_NODE=NodeType['DOCUMENT_NODE']=0x9,DOCUMENT_TYPE_NODE=NodeType['DOCUMENT_TYPE_NODE']=0xa,DOCUMENT_FRAGMENT_NODE=NodeType['DOCUMENT_FRAGMENT_NODE']=0xb,NOTATION_NODE=NodeType['NOTATION_NODE']=0xc,ExceptionCode={},ExceptionMessage={},INDEX_SIZE_ERR=ExceptionCode['INDEX_SIZE_ERR']=(ExceptionMessage[0x1]='Index\x20size\x20error',0x1),DOMSTRING_SIZE_ERR=ExceptionCode['DOMSTRING_SIZE_ERR']=(ExceptionMessage[0x2]='DOMString\x20size\x20error',0x2),HIERARCHY_REQUEST_ERR=ExceptionCode['HIERARCHY_REQUEST_ERR']=(ExceptionMessage[0x3]='Hierarchy\x20request\x20error',0x3),WRONG_DOCUMENT_ERR=ExceptionCode['WRONG_DOCUMENT_ERR']=(ExceptionMessage[0x4]='Wrong\x20document',0x4),INVALID_CHARACTER_ERR=ExceptionCode['INVALID_CHARACTER_ERR']=(ExceptionMessage[0x5]='Invalid\x20character',0x5),NO_DATA_ALLOWED_ERR=ExceptionCode['NO_DATA_ALLOWED_ERR']=(ExceptionMessage[0x6]='No\x20data\x20allowed',0x6),NO_MODIFICATION_ALLOWED_ERR=ExceptionCode['NO_MODIFICATION_ALLOWED_ERR']=(ExceptionMessage[0x7]='No\x20modification\x20allowed',0x7),NOT_FOUND_ERR=ExceptionCode['NOT_FOUND_ERR']=(ExceptionMessage[0x8]='Not\x20found',0x8),NOT_SUPPORTED_ERR=ExceptionCode['NOT_SUPPORTED_ERR']=(ExceptionMessage[0x9]='Not\x20supported',0x9),INUSE_ATTRIBUTE_ERR=ExceptionCode['INUSE_ATTRIBUTE_ERR']=(ExceptionMessage[0xa]='Attribute\x20in\x20use',0xa),INVALID_STATE_ERR=ExceptionCode['INVALID_STATE_ERR']=(ExceptionMessage[0xb]='Invalid\x20state',0xb),SYNTAX_ERR=ExceptionCode['SYNTAX_ERR']=(ExceptionMessage[0xc]='Syntax\x20error',0xc),INVALID_MODIFICATION_ERR=ExceptionCode['INVALID_MODIFICATION_ERR']=(ExceptionMessage[0xd]='Invalid\x20modification',0xd),NAMESPACE_ERR=ExceptionCode['NAMESPACE_ERR']=(ExceptionMessage[0xe]='Invalid\x20namespace',0xe),INVALID_ACCESS_ERR=ExceptionCode['INVALID_ACCESS_ERR']=(ExceptionMessage[0xf]='Invalid\x20access',0xf);function DOMException(a,b){if(b instanceof Error)var c=b;else{c=this,Error['call'](this,ExceptionMessage[a]),this['message']=ExceptionMessage[a];if(Error['captureStackTrace'])Error['captureStackTrace'](this,DOMException);}c['code']=a;if(b)this['message']=this['message']+':\x20'+b;return c;};DOMException['prototype']=Error['prototype'],copy(ExceptionCode,DOMException);function NodeList(){};NodeList['prototype']={'length':0x0,'item':function item(a){return this[a]||null;},'toString':function toString(a,b){for(var c=[],d=0x0;d=0x0){var f=b['length']-0x1;while(d0x0;},'lookupPrefix':function lookupPrefix(a){var b=this;while(b){var c=b['_nsMap'];if(c)for(var d in c){if(c[d]==a)return d;}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'lookupNamespaceURI':function lookupNamespaceURI(a){var b=this;while(b){var c=b['_nsMap'];if(c){if(a in c)return c[a];}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'isDefaultNamespace':function isDefaultNamespace(a){var b=this['lookupPrefix'](a);return b==null;}};function _xmlEncoder(a){return a=='<'&&'<'||a=='>'&&'>'||a=='&'&&'&'||a=='\x22'&&'"'||'&#'+a['charCodeAt']()+';';}copy(NodeType,Node),copy(NodeType,Node['prototype']);function _visitNode(a,b){if(b(a))return!![];if(a=a['firstChild'])do{if(_visitNode(a,b))return!![];}while(a=a['nextSibling']);}function Document(){}function _onAddAttribute(a,b,c){a&&a['_inc']++;var d=c['namespaceURI'];d=='http://www.w3.org/2000/xmlns/'&&(b['_nsMap'][c['prefix']?c['localName']:'']=c['value']);}function _onRemoveAttribute(a,b,c,d){a&&a['_inc']++;var f=c['namespaceURI'];f=='http://www.w3.org/2000/xmlns/'&&delete b['_nsMap'][c['prefix']?c['localName']:''];}function _onUpdateChild(a,b,c){if(a&&a['_inc']){a['_inc']++;var d=b['childNodes'];if(c)d[d['length']++]=c;else{var f=b['firstChild'],g=0x0;while(f){d[g++]=f,f=f['nextSibling'];}d['length']=g;}}}function _removeChild(a,b){var c=b['previousSibling'],d=b['nextSibling'];return c?c['nextSibling']=d:a['firstChild']=d,d?d['previousSibling']=c:a['lastChild']=c,_onUpdateChild(a['ownerDocument'],a),b;}function _insertBefore(a,b,c){var d=b['parentNode'];d&&d['removeChild'](b);if(b['nodeType']===DOCUMENT_FRAGMENT_NODE){var f=b['firstChild'];if(f==null)return b;var g=b['lastChild'];}else f=g=b;var h=c?c['previousSibling']:a['lastChild'];f['previousSibling']=h,g['nextSibling']=c;h?h['nextSibling']=f:a['firstChild']=f;c==null?a['lastChild']=g:c['previousSibling']=g;do{f['parentNode']=a;}while(f!==g&&(f=f['nextSibling']));return _onUpdateChild(a['ownerDocument']||a,a),b['nodeType']==DOCUMENT_FRAGMENT_NODE&&(b['firstChild']=b['lastChild']=null),b;}function _appendSingleChild(a,b){var c=b['parentNode'];if(c){var d=a['lastChild'];c['removeChild'](b);var d=a['lastChild'];}var d=a['lastChild'];return b['parentNode']=a,b['previousSibling']=d,b['nextSibling']=null,d?d['nextSibling']=b:a['firstChild']=b,a['lastChild']=b,_onUpdateChild(a['ownerDocument'],a,b),b;}Document['prototype']={'nodeName':'#document','nodeType':DOCUMENT_NODE,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function insertBefore(a,b){if(a['nodeType']==DOCUMENT_FRAGMENT_NODE){var c=a['firstChild'];while(c){var d=c['nextSibling'];this['insertBefore'](c,b),c=d;}return a;}return this['documentElement']==null&&a['nodeType']==ELEMENT_NODE&&(this['documentElement']=a),(_insertBefore(this,a,b),a['ownerDocument']=this,a);},'removeChild':function removeChild(a){return this['documentElement']==a&&(this['documentElement']=null),_removeChild(this,a);},'importNode':function importNode(a,b){return _importNode(this,a,b);},'getElementById':function getElementById(a){var b=null;return _visitNode(this['documentElement'],function(c){if(c['nodeType']==ELEMENT_NODE){if(c['getAttribute']('id')==a)return b=c,!![];}}),b;},'createElement':function createElement(a){var b=new Element();b['ownerDocument']=this,b['nodeName']=a,b['tagName']=a,b['childNodes']=new NodeList();var c=b['attributes']=new NamedNodeMap();return c['_ownerElement']=b,b;},'createDocumentFragment':function createDocumentFragment(){var a=new DocumentFragment();return a['ownerDocument']=this,a['childNodes']=new NodeList(),a;},'createTextNode':function createTextNode(a){var b=new Text();return b['ownerDocument']=this,b['appendData'](a),b;},'createComment':function createComment(a){var b=new Comment();return b['ownerDocument']=this,b['appendData'](a),b;},'createCDATASection':function createCDATASection(a){var b=new CDATASection();return b['ownerDocument']=this,b['appendData'](a),b;},'createProcessingInstruction':function createProcessingInstruction(a,b){var c=new ProcessingInstruction();return c['ownerDocument']=this,c['tagName']=c['target']=a,c['nodeValue']=c['data']=b,c;},'createAttribute':function createAttribute(a){var b=new Attr();return b['ownerDocument']=this,b['name']=a,b['nodeName']=a,b['localName']=a,b['specified']=!![],b;},'createEntityReference':function createEntityReference(a){var b=new EntityReference();return b['ownerDocument']=this,b['nodeName']=a,b;},'createElementNS':function createElementNS(a,b){var c=new Element(),d=b['split'](':'),f=c['attributes']=new NamedNodeMap();return c['childNodes']=new NodeList(),c['ownerDocument']=this,c['nodeName']=b,c['tagName']=b,c['namespaceURI']=a,d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,f['_ownerElement']=c,c;},'createAttributeNS':function createAttributeNS(a,b){var c=new Attr(),d=b['split'](':');return c['ownerDocument']=this,c['nodeName']=b,c['name']=b,c['namespaceURI']=a,c['specified']=!![],d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,c;}},_extends(Document,Node);function Element(){this['_nsMap']={};};Element['prototype']={'nodeType':ELEMENT_NODE,'hasAttribute':function hasAttribute(a){return this['getAttributeNode'](a)!=null;},'getAttribute':function getAttribute(a){var b=this['getAttributeNode'](a);return b&&b['value']||'';},'getAttributeNode':function getAttributeNode(a){return this['attributes']['getNamedItem'](a);},'setAttribute':function setAttribute(a,b){var c=this['ownerDocument']['createAttribute'](a);c['value']=c['nodeValue']=''+b,this['setAttributeNode'](c);},'removeAttribute':function removeAttribute(a){var b=this['getAttributeNode'](a);b&&this['removeAttributeNode'](b);},'appendChild':function appendChild(a){return a['nodeType']===DOCUMENT_FRAGMENT_NODE?this['insertBefore'](a,null):_appendSingleChild(this,a);},'setAttributeNode':function setAttributeNode(a){return this['attributes']['setNamedItem'](a);},'setAttributeNodeNS':function setAttributeNodeNS(a){return this['attributes']['setNamedItemNS'](a);},'removeAttributeNode':function removeAttributeNode(a){return this['attributes']['removeNamedItem'](a['nodeName']);},'removeAttributeNS':function removeAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);c&&this['removeAttributeNode'](c);},'hasAttributeNS':function hasAttributeNS(a,b){return this['getAttributeNodeNS'](a,b)!=null;},'getAttributeNS':function getAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);return c&&c['value']||'';},'setAttributeNS':function setAttributeNS(a,b,c){var d=this['ownerDocument']['createAttributeNS'](a,b);d['value']=d['nodeValue']=''+c,this['setAttributeNode'](d);},'getAttributeNodeNS':function getAttributeNodeNS(a,b){return this['attributes']['getNamedItemNS'](a,b);},'getElementsByTagName':function getElementsByTagName(a){return new LiveNodeList(this,function(b){var c=[];return _visitNode(b,function(d){d!==b&&d['nodeType']==ELEMENT_NODE&&(a==='*'||d['tagName']==a)&&c['push'](d);}),c;});},'getElementsByTagNameNS':function getElementsByTagNameNS(a,b){return new LiveNodeList(this,function(c){var d=[];return _visitNode(c,function(f){f!==c&&f['nodeType']===ELEMENT_NODE&&(a==='*'||f['namespaceURI']===a)&&(b==='*'||f['localName']==b)&&d['push'](f);}),d;});}},Document['prototype']['getElementsByTagName']=Element['prototype']['getElementsByTagName'],Document['prototype']['getElementsByTagNameNS']=Element['prototype']['getElementsByTagNameNS'],_extends(Element,Node);function Attr(){};Attr['prototype']['nodeType']=ATTRIBUTE_NODE,_extends(Attr,Node);function CharacterData(){};CharacterData['prototype']={'data':'','substringData':function substringData(a,b){return this['data']['substring'](a,a+b);},'appendData':function appendData(a){a=this['data']+a,this['nodeValue']=this['data']=a,this['length']=a['length'];},'insertData':function insertData(a,b){this['replaceData'](a,0x0,b);},'appendChild':function appendChild(a){throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]);},'deleteData':function deleteData(a,b){this['replaceData'](a,b,'');},'replaceData':function replaceData(a,b,c){var d=this['data']['substring'](0x0,a),f=this['data']['substring'](a+b);c=d+c+f,this['nodeValue']=this['data']=c,this['length']=c['length'];}},_extends(CharacterData,Node);function Text(){};Text['prototype']={'nodeName':'#text','nodeType':TEXT_NODE,'splitText':function splitText(a){var b=this['data'],c=b['substring'](a);b=b['substring'](0x0,a),this['data']=this['nodeValue']=b,this['length']=b['length'];var d=this['ownerDocument']['createTextNode'](c);return this['parentNode']&&this['parentNode']['insertBefore'](d,this['nextSibling']),d;}},_extends(Text,CharacterData);function Comment(){};Comment['prototype']={'nodeName':'#comment','nodeType':COMMENT_NODE},_extends(Comment,CharacterData);function CDATASection(){};CDATASection['prototype']={'nodeName':'#cdata-section','nodeType':CDATA_SECTION_NODE},_extends(CDATASection,CharacterData);function DocumentType(){};DocumentType['prototype']['nodeType']=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node);function Notation(){};Notation['prototype']['nodeType']=NOTATION_NODE,_extends(Notation,Node);function Entity(){};Entity['prototype']['nodeType']=ENTITY_NODE,_extends(Entity,Node);function EntityReference(){};EntityReference['prototype']['nodeType']=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node);function DocumentFragment(){};DocumentFragment['prototype']['nodeName']='#document-fragment',DocumentFragment['prototype']['nodeType']=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node);function ProcessingInstruction(){}ProcessingInstruction['prototype']['nodeType']=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node);function XMLSerializer(){}XMLSerializer['prototype']['serializeToString']=function(a,b,c){return nodeSerializeToString['call'](a,b,c);},Node['prototype']['toString']=nodeSerializeToString;function nodeSerializeToString(a,b){var c=[],d=this['nodeType']==0x9&&this['documentElement']||this,f=d['prefix'],g=d['namespaceURI'];if(g&&f==null){var f=d['lookupPrefix'](g);if(f==null)var h=[{'namespace':g,'prefix':null}];}return serializeToString(this,c,a,b,h),c['join']('');}function needNamespaceDefine(a,b,c){var d=a['prefix']||'',f=a['namespaceURI'];if(!d&&!f)return![];if(d==='xml'&&f==='http://www.w3.org/XML/1998/namespace'||f=='http://www.w3.org/2000/xmlns/')return![];var g=c['length'];while(g--){var h=c[g];if(h['prefix']==d)return h['namespace']!=f;}return!![];}function serializeToString(a,b,c,d,f){if(d){a=d(a);if(a){if(typeof a=='string'){b['push'](a);return;}}else return;}switch(a['nodeType']){case ELEMENT_NODE:if(!f)f=[];var g=f['length'],h=a['attributes'],j=h['length'],k=a['firstChild'],l=a['tagName'];c=htmlns===a['namespaceURI']||c,b['push']('<',l);for(var m=0x0;m');if(c&&/^script$/i['test'](l))while(k){k['data']?b['push'](k['data']):serializeToString(k,b,c,d,f),k=k['nextSibling'];}else while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}b['push']('');}else b['push']('/>');return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:var k=a['firstChild'];while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}return;case ATTRIBUTE_NODE:return b['push']('\x20',a['name'],'=\x22',a['value']['replace'](/[<&"]/g,_xmlEncoder),'\x22');case TEXT_NODE:return b['push'](a['data']['replace'](/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return b['push']('');case COMMENT_NODE:return b['push']('');case DOCUMENT_TYPE_NODE:var r=a['publicId'],s=a['systemId'];b['push']('');else{if(s&&s!='.')b['push']('\x20SYSTEM\x20\x22',s,'\x22>');else{var t=a['internalSubset'];t&&b['push']('\x20[',t,']'),b['push']('>');}}return;case PROCESSING_INSTRUCTION_NODE:return b['push']('');case ENTITY_REFERENCE_NODE:return b['push']('&',a['nodeName'],';');default:b['push']('??',a['nodeName']);}}function _importNode(a,b,c){var d;switch(b['nodeType']){case ELEMENT_NODE:d=b['cloneNode'](![]),d['ownerDocument']=a;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:c=!![];break;}!d&&(d=b['cloneNode'](![]));d['ownerDocument']=a,d['parentNode']=null;if(c){var f=b['firstChild'];while(f){d['appendChild'](_importNode(a,f,c)),f=f['nextSibling'];}}return d;}function _cloneNode(a,b,c){var d=new b['constructor']();for(var f in b){var g=b[f];_typeof(g)!='object'&&(g!=d[f]&&(d[f]=g));}b['childNodes']&&(d['childNodes']=new NodeList());d['ownerDocument']=a;switch(d['nodeType']){case ELEMENT_NODE:var h=b['attributes'],j=d['attributes']=new NamedNodeMap(),k=h['length'];j['_ownerElement']=d;for(var l=0x0;l','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/xmldom/sax.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/xmldom/sax.js +new file mode 100644 +index 0000000..976ca2a +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/common/xmldom/sax.js +@@ -0,0 +1 @@ ++'use strict';var nameStartChar=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameChar=new RegExp('[\x5c-\x5c.0-9'+nameStartChar['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),tagNamePattern=new RegExp('^'+nameStartChar['source']+nameChar['source']+'*(?::'+nameStartChar['source']+nameChar['source']+'*)?$'),S_TAG=0x0,S_ATTR=0x1,S_ATTR_SPACE=0x2,S_EQ=0x3,S_ATTR_NOQUOT_VALUE=0x4,S_ATTR_END=0x5,S_TAG_SPACE=0x6,S_TAG_CLOSE=0x7;function XMLReader(){}XMLReader['prototype']={'parse':function parse(a,b,c){var d=this['domBuilder'];d['startDocument'](),_copy(b,b={}),_parse(a,b,c,d,this['errorHandler']),d['endDocument']();}};function _parse(b,c,d,f,g){function h(J){if(J>0xffff){J-=0x10000;var K=0xd800+(J>>0xa),L=0xdc00+(J&0x3ff);return String['fromCharCode'](K,L);}else return String['fromCharCode'](J);}function j(J){var K=J['slice'](0x1,-0x1);if(K in d)return d[K];else return K['charAt'](0x0)==='#'?h(parseInt(K['substr'](0x1)['replace']('x','0x'))):(g['error']('entity\x20not\x20found:'+J),J);}function k(J){if(J>s){var K=b['substring'](s,J)['replace'](/&#?\w+;/g,j);p&&l(s),f['characters'](K,0x0,J-s),s=J;}}function l(J,K){while(J>=n&&(K=o['exec'](b))){m=K['index'],n=m+K[0x0]['length'],p['lineNumber']++;}p['columnNumber']=J-m+0x1;}var m=0x0,n=0x0,o=/.*(?:\r\n?|\n)|.*$/g,p=f['locator'],q=[{'currentNSMap':c}],r={},s=0x0;while(!![]){try{var t=b['indexOf']('<',s);if(t<0x0){if(!b['substr'](s)['match'](/^\s*$/)){var u=f['doc'],v=u['createTextNode'](b['substr'](s));u['appendChild'](v),f['currentElement']=v;}return;}t>s&&k(t);switch(b['charAt'](t+0x1)){case'/':var w=b['indexOf']('>',t+0x3),x=b['substring'](t+0x2,w),y=q['pop']();if(w<0x0)x=b['substring'](t+0x2)['replace'](/[\s<].*/,''),g['error']('end\x20tag\x20name:\x20'+x+'\x20is\x20not\x20complete:'+y['tagName']),w=t+0x1+x['length'];else x['match'](/\ss?s=w:k(Math['max'](t,s)+0x1);}}function copyLocator(a,b){return b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'],b;}function parseElementStartPart(a,b,d,e,f,g){var h,i,j=++b,k=S_TAG;while(!![]){var l=a['charAt'](j);switch(l){case'=':if(k===S_ATTR)h=a['slice'](b,j),k=S_EQ;else{if(k===S_ATTR_SPACE)k=S_EQ;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(k===S_EQ||k===S_ATTR){k===S_ATTR&&(g['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),h=a['slice'](b,j));b=j+0x1,j=a['indexOf'](l,b);if(j>0x0)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b-0x1),k=S_ATTR_END;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+l+'\x27\x20match');}else{if(k==S_ATTR_NOQUOT_VALUE)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b),g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20start\x20quot('+l+')!!'),b=j+0x1,k=S_ATTR_END;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:k=S_TAG_CLOSE,d['closed']=!![];case S_ATTR_NOQUOT_VALUE:case S_ATTR:case S_ATTR_SPACE:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':g['error']('unexpected\x20end\x20of\x20input');k==S_TAG&&d['setTagName'](a['slice'](b,j));return j;case'>':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:break;case S_ATTR_NOQUOT_VALUE:case S_ATTR:i=a['slice'](b,j);i['slice'](-0x1)==='/'&&(d['closed']=!![],i=i['slice'](0x0,-0x1));case S_ATTR_SPACE:k===S_ATTR_SPACE&&(i=h);k==S_ATTR_NOQUOT_VALUE?(g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i['replace'](/&#?\w+;/g,f),b)):((e['']!=='http://www.w3.org/1999/xhtml'||!i['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20value!!\x20\x22'+i+'\x22\x20instead!!'),d['add'](i,i,b));break;case S_EQ:throw new Error('attribute\x20value\x20missed!!');}return j;case'\u0080':l='\x20';default:if(l<='\x20')switch(k){case S_TAG:d['setTagName'](a['slice'](b,j)),k=S_TAG_SPACE;break;case S_ATTR:h=a['slice'](b,j),k=S_ATTR_SPACE;break;case S_ATTR_NOQUOT_VALUE:var i=a['slice'](b,j)['replace'](/&#?\w+;/g,f);g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i,b);case S_ATTR_END:k=S_TAG_SPACE;break;}else switch(k){case S_ATTR_SPACE:var m=d['tagName'];(e['']!=='http://www.w3.org/1999/xhtml'||!h['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20value!!\x20\x22'+h+'\x22\x20instead2!!');d['add'](h,h,b),b=j,k=S_ATTR;break;case S_ATTR_END:g['warning']('attribute\x20space\x20is\x20required\x22'+h+'\x22!!');case S_TAG_SPACE:k=S_ATTR,b=j;break;case S_EQ:k=S_ATTR_NOQUOT_VALUE,b=j;break;case S_TAG_CLOSE:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}j++;}}function appendElement(b,c,d){var e=b['tagName'],f=null,g=b['length'];while(g--){var h=b[g],j=h['qName'],k=h['value'],l=j['indexOf'](':');if(l>0x0)var m=h['prefix']=j['slice'](0x0,l),n=j['slice'](l+0x1),o=m==='xmlns'&&n;else n=j,m=null,o=j==='xmlns'&&'';h['localName']=n,o!==![]&&(f==null&&(f={},_copy(d,d={})),d[o]=f[o]=k,h['uri']='http://www.w3.org/2000/xmlns/',c['startPrefixMapping'](o,k));}var g=b['length'];while(g--){h=b[g];var m=h['prefix'];m&&(m==='xml'&&(h['uri']='http://www.w3.org/XML/1998/namespace'),m!=='xmlns'&&(h['uri']=d[m||'']));}var l=e['indexOf'](':');l>0x0?(m=b['prefix']=e['slice'](0x0,l),n=b['localName']=e['slice'](l+0x1)):(m=null,n=b['localName']=e);var p=b['uri']=d[m||''];c['startElement'](p,n,e,b);if(b['closed']){c['endElement'](p,n,e);if(f)for(m in f){c['endPrefixMapping'](m);}}else return b['currentNSMap']=d,b['localNSMap']=f,!![];}function parseHtmlSpecialContent(a,b,c,d,e){if(/^(?:script|textarea)$/i['test'](c)){var f=a['indexOf']('',b),g=a['substring'](b+0x1,f);if(/[&<]/['test'](g)){if(/^script$/i['test'](c))return e['characters'](g,0x0,g['length']),f;return g=g['replace'](/&#?\w+;/g,d),e['characters'](g,0x0,g['length']),f;}}return b+0x1;}function fixSelfClosed(a,b,c,d){var e=d[c];return e==null&&(e=a['lastIndexOf'](''),e',b+0x4);return f>b?(c['comment'](a,b+0x4,f-b-0x4),f+0x3):(d['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(a['substr'](b+0x3,0x6)=='CDATA['){var f=a['indexOf'](']]>',b+0x9);return c['startCDATA'](),c['characters'](a,b+0x9,f-b-0x9),c['endCDATA'](),f+0x3;}var g=split(a,b),h=g['length'];if(h>0x1&&/!doctype/i['test'](g[0x0][0x0])){var i=g[0x1][0x0],j=h>0x3&&/^public$/i['test'](g[0x2][0x0])&&g[0x3][0x0],k=h>0x4&&g[0x4][0x0],l=g[h-0x1];return c['startDTD'](i,j&&j['replace'](/^(['"])(.*?)\1$/,'$2'),k&&k['replace'](/^(['"])(.*?)\1$/,'$2')),c['endDTD'](),l['index']+l[0x0]['length'];}}return-0x1;}function parseInstruction(a,b,c){var d=a['indexOf']('?>',b);if(d){var e=a['substring'](b,d)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(e){var f=e[0x0]['length'];return c['processingInstruction'](e[0x1],e[0x2]),d+0x2;}else return-0x1;}return-0x1;}function ElementAttributes(a){}ElementAttributes['prototype']={'setTagName':function setTagName(a){if(!tagNamePattern['test'](a))throw new Error('invalid\x20tagName:'+a);this['tagName']=a;},'add':function add(a,b,c){if(!tagNamePattern['test'](a))throw new Error('invalid\x20attribute:'+a);this[this['length']++]={'qName':a,'value':b,'offset':c};},'length':0x0,'getLocalName':function getLocalName(a){return this[a]['localName'];},'getLocator':function getLocator(a){return this[a]['locator'];},'getQName':function getQName(a){return this[a]['qName'];},'getURI':function getURI(a){return this[a]['uri'];},'getValue':function getValue(a){return this[a]['value'];}};function split(a,b){var c,d=[],e=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;e['lastIndex']=b,e['exec'](a);while(c=e['exec'](a)){d['push'](c);if(c[0x1])return d;}}exports['XMLReader']=XMLReader; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Audio.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Audio.js +new file mode 100644 +index 0000000..7386cbb +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Audio.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLAudioElement2=_interopRequireDefault(require('./HTMLAudioElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _callSuper(a,b,c){return b=_getPrototypeOf(b),_possibleConstructorReturn(a,_isNativeReflectConstruct()?Reflect['construct'](b,c||[],_getPrototypeOf(a)['constructor']):b['apply'](a,c));}function _possibleConstructorReturn(a,b){if(b&&('object'==_typeof(b)||'function'==typeof b))return b;if(void 0x0!==b)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _assertThisInitialized(a);}function _assertThisInitialized(a){if(void 0x0===a)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return a;}function _isNativeReflectConstruct(){try{var a=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(b){}return(_isNativeReflectConstruct=function c(){return!!a;})();}function _superPropGet(a,b,c,d){var f=_get(_getPrototypeOf(0x1&d?a['prototype']:a),b,c);return 0x2&d&&'function'==typeof f?function(g){return f['apply'](c,g);}:f;}function _get(){return _get='undefined'!=typeof Reflect&&Reflect['get']?Reflect['get']['bind']():function(a,b,c){var d=_superPropBase(a,b);if(d){var f=Object['getOwnPropertyDescriptor'](d,b);return f['get']?f['get']['call'](arguments['length']<0x3?a:c):f['value'];}},_get['apply'](null,arguments);}function _superPropBase(a,b){for(;!{}['hasOwnProperty']['call'](a,b)&&null!==(a=_getPrototypeOf(a)););return a;}function _getPrototypeOf(a){return _getPrototypeOf=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(b){return b['__proto__']||Object['getPrototypeOf'](b);},_getPrototypeOf(a);}function _inherits(a,b){if('function'!=typeof b&&null!==b)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');a['prototype']=Object['create'](b&&b['prototype'],{'constructor':{'value':a,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](a,'prototype',{'writable':!0x1}),b&&_setPrototypeOf(a,b);}function _setPrototypeOf(a,b){return _setPrototypeOf=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(c,d){return c['__proto__']=d,c;},_setPrototypeOf(a,b);}function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};d=String(d)['toLowerCase'](),_superPropGet(b,'addEventListener',this,0x3)([d,e,f]),this['_loaded']&&this['_canplayEvents']['indexOf'](d)!==-0x1&&this['dispatchEvent']({'type':d});}},{'key':'load','value':function d(){}},{'key':'play','value':function e(){_innerAudioContextMap[this['_$sn']]['play']();}},{'key':'resume','value':function f(){_innerAudioContextMap[this['_$sn']]['resume']();}},{'key':'pause','value':function g(){_innerAudioContextMap[this['_$sn']]['pause']();}},{'key':'destroy','value':function h(){_innerAudioContextMap[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function i(){var j=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof j!=='string')return'';if(j['indexOf']('audio/mpeg')>-0x1||j['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function j(){return _innerAudioContextMap[this['_$sn']]['currentTime'];},'set':function k(l){_innerAudioContextMap[this['_$sn']]['seek'](l);}},{'key':'duration','get':function l(){return _innerAudioContextMap[this['_$sn']]['duration'];}},{'key':'src','get':function m(){return this['_src'];},'set':function n(o){this['_src']=o,this['_loaded']=![],this['readyState']=b['HAVE_NOTHING'];var p=_innerAudioContextMap[this['_$sn']];p['src']=o;}},{'key':'loop','get':function o(){return this['_loop'];},'set':function p(q){this['_loop']=q,_innerAudioContextMap[this['_$sn']]['loop']=q;}},{'key':'autoplay','get':function q(){return this['_autoplay'];},'set':function r(s){this['_autoplay']=s,_innerAudioContextMap[this['_$sn']]['autoplay']=s;}},{'key':'paused','get':function s(){return this['_paused'];}},{'key':'volume','get':function t(){return this['_volume'];},'set':function u(v){this['_volume']=v,!this['_muted']&&(_innerAudioContextMap[this['_$sn']]['volume']=v);}},{'key':'muted','get':function v(){return this['_muted'];},'set':function w(x){this['_muted']=x,x?_innerAudioContextMap[this['_$sn']]['volume']=0x0:_innerAudioContextMap[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function x(){var y=new b();return y['loop']=this['loop'],y['autoplay']=this['autoplay'],y['src']=this['src'],y;}}]);}(_HTMLAudioElement2['default']);Audio['HAVE_NOTHING']=0x0,Audio['HAVE_METADATA']=0x1,Audio['HAVE_CURRENT_DATA']=0x2,Audio['HAVE_FUTURE_DATA']=0x3,Audio['HAVE_ENOUGH_DATA']=0x4,module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Base64.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Base64.js +new file mode 100644 +index 0000000..1e4f4d8 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Base64.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['atob']=atob,exports['btoa']=btoa;var chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';function InvalidCharacterError(a){this['message']=a;}InvalidCharacterError['prototype']=new Error(),InvalidCharacterError['prototype']['name']='InvalidCharacterError';function btoa(a){var b=String(a),c='';for(var d,e,f=0x0,g=chars;b['charAt'](f|0x0)||(g='=',f%0x1);c+=g['charAt'](0x3f&d>>0x8-f%0x1*0x8)){e=b['charCodeAt'](f+=0x3/0x4);if(e>0xff)throw new InvalidCharacterError('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');d=d<<0x8|e;}return c;}function atob(a){var b=String(a)['replace'](/=+$/,'');if(b['length']%0x4===0x1)throw new InvalidCharacterError('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');var c='';for(var d=0x0,e,f,g=0x0;f=b['charAt'](g++);~f&&(e=d%0x4?e*0x40+f:f,d++%0x4)?c+=String['fromCharCode'](0xff&e>>(-0x2*d&0x6)):0x0){f=chars['indexOf'](f);}return c;} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Body.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Body.js +new file mode 100644 +index 0000000..44cf056 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Body.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement2=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};document['addEventListener'](b,c,d);},canvas['removeEventListener']=function(b,c){document['removeEventListener'](b,c);},canvas['dispatchEvent']=function(){var b=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',b['type'],b);},canvas;}module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/DocumentElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/DocumentElement.js +new file mode 100644 +index 0000000..df56b30 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/DocumentElement.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement2=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},f=_events['get'](this);!f&&(f={},_events['set'](this,f));!f[c]&&(f[c]=[]);f[c]['push'](d);if(e['capture']){}if(e['once']){}if(e['passive']){}}},{'key':'removeEventListener','value':function c(d,e){var f=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},g=_events['get'](this);if(g){var h=g[d];if(h&&h['length']>0x0)for(var j=h['length'];j--;j>0x0){if(h[j]===e){h['splice'](j,0x1);break;}}}}},{'key':'dispatchEvent','value':function d(){var e=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},f=_events['get'](this)[e['type']];if(f)for(var g=0x0;g0x0&&arguments[0x0]!==undefined?arguments[0x0]:'',e=arguments['length']>0x1?arguments[0x1]:undefined;return _classCallCheck(this,b),c=_callSuper(this,b),c['className']='',c['childern']=[],c['focus']=_index['noop'],c['blur']=_index['noop'],c['insertBefore']=_index['noop'],c['appendChild']=_index['noop'],c['removeChild']=_index['noop'],c['remove']=_index['noop'],c['innerHTML']='',c['tagName']=d['toUpperCase'](),Mixin['parentNode'](c,e),Mixin['style'](c),Mixin['classList'](c),Mixin['clientRegion'](c),Mixin['offsetRegion'](c),Mixin['scrollRegion'](c),c;}return _inherits(b,a),_createClass(b);}(_Element2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/HTMLImageElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/HTMLImageElement.js +new file mode 100644 +index 0000000..29ab1b9 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/HTMLImageElement.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}var imageConstructor=swan['createImage']()['constructor'],_default=exports['default']=imageConstructor;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/HTMLMediaElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/HTMLMediaElement.js +new file mode 100644 +index 0000000..ce6068f +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/HTMLMediaElement.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement2=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c-0x1)return this['childNodes']['splice'](g,0x1);return null;}}]);}(_EventTarget2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/WebGLRenderingContext.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/WebGLRenderingContext.js +new file mode 100644 +index 0000000..f3733c2 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/WebGLRenderingContext.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;function _defineProperties(a,b){for(var c=0x0;c0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];_classCallCheck(this,a),this['binaryType']='',this['bufferedAmount']=0x0,this['extensions']='',this['onclose']=null,this['onerror']=null,this['onmessage']=null,this['onopen']=null,this['protocol']='',this['readyState']=0x3;if(typeof b!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](b))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](b,'\x27\x20is\x20invalid'));this['url']=b,this['readyState']=a['CONNECTING'];var e=swan['connectSocket']({'url':b,'protocols':Array['isArray'](d)?d:[d]});return _socketTask['set'](this,e),e['onClose'](function(f){c['readyState']=a['CLOSED'],typeof c['onclose']==='function'&&c['onclose'](f);}),e['onMessage'](function(f){typeof c['onmessage']==='function'&&c['onmessage'](f);}),e['onOpen'](function(){c['readyState']=a['OPEN'],typeof c['onopen']==='function'&&c['onopen']();}),e['onError'](function(f){typeof c['onerror']==='function'&&c['onerror'](new Error(f['errMsg']));}),this;}return _createClass(a,[{'key':'close','value':function b(c,d){this['readyState']=a['CLOSING'];var e=_socketTask['get'](this);e['close']({'code':c,'reason':d});}},{'key':'send','value':function c(d){if(typeof d!=='string'&&!(d instanceof ArrayBuffer))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](d,'\x20is\x20invalid'));var e=_socketTask['get'](this);e['send']({'data':d});}}]);}());WebSocket['CONNECTING']=0x0,WebSocket['OPEN']=0x1,WebSocket['CLOSING']=0x2,WebSocket['CLOSED']=0x3,module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/WindowProperties.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/WindowProperties.js +new file mode 100644 +index 0000000..6b15d9b +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/WindowProperties.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ontouchstart']=exports['ontouchmove']=exports['ontouchend']=exports['innerWidth']=exports['innerHeight']=exports['devicePixelRatio']=void 0x0,Object['defineProperty'](exports,'performance',{'enumerable':!![],'get':function get(){return _performance['default'];}}),exports['scrollY']=exports['scrollX']=exports['screen']=void 0x0;var _performance=_interopRequireDefault(require('./performance'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}var _ref=swan['getSystemInfoSync']?swan['getSystemInfoSync']():{'screenWidth':0x0,'screenHeight':0x0,'devicePixelRatio':0x1},screenWidth=_ref['screenWidth'],screenHeight=_ref['screenHeight'],devicePixelRatio=exports['devicePixelRatio']=_ref['devicePixelRatio'],innerWidth=exports['innerWidth']=screenWidth,innerHeight=exports['innerHeight']=screenHeight,screen=exports['screen']={'width':screenWidth,'height':screenHeight,'availWidth':innerWidth,'availHeight':innerHeight,'availLeft':0x0,'availTop':0x0},scrollX=exports['scrollX']=0x0,scrollY=exports['scrollY']=0x0,ontouchstart=exports['ontouchstart']=null,ontouchmove=exports['ontouchmove']=null,ontouchend=exports['ontouchend']=null; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Worker.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Worker.js +new file mode 100644 +index 0000000..e6b0745 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/Worker.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};b['target']=b['target']||this,typeof this['on'['concat'](a)]==='function'&&this['on'['concat'](a)]['call'](this,b);}function _changeReadyState(a){var b=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{};this['readyState']=a,b['readyState']=a,_triggerEvent['call'](this,'readystatechange',b);}function _isRelativePath(a){return!/^(http|https|ftp|wxfile):\/\/.*/i['test'](a);}var XMLHttpRequest=exports['default']=function(a){function b(){var c;return _classCallCheck(this,b),c=_callSuper(this,b),c['onabort']=null,c['onerror']=null,c['onload']=null,c['onloadstart']=null,c['onprogress']=null,c['ontimeout']=null,c['onloadend']=null,c['onreadystatechange']=null,c['readyState']=0x0,c['response']=null,c['responseText']=null,c['responseType']='',c['responseXML']=null,c['status']=0x0,c['statusText']='',c['upload']={},c['withCredentials']=![],_requestHeader['set'](c,{'content-type':'application/x-www-form-urlencoded'}),_responseHeader['set'](c,{}),c;}return _inherits(b,a),_createClass(b,[{'key':'abort','value':function c(){var d=_requestTask['get'](this);d&&d['abort']();}},{'key':'getAllResponseHeaders','value':function d(){var e=_responseHeader['get'](this);return Object['keys'](e)['map'](function(f){return''['concat'](f,':\x20')['concat'](e[f]);})['join']('\x0a');}},{'key':'getResponseHeader','value':function e(f){return _responseHeader['get'](this)[f];}},{'key':'open','value':function f(g,h){_method['set'](this,g),_url['set'](this,h),_changeReadyState['call'](this,b['OPENED']);}},{'key':'overrideMimeType','value':function g(){}},{'key':'send','value':function h(){var i=this,j=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==b['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var k=_url['get'](this),l=_requestHeader['get'](this),m=this['responseType'],n=_isRelativePath(k),o;if(m==='arraybuffer'){}else o='utf8';delete this['response'],this['response']=null;var p=function s(t){var u=t['data'],v=t['statusCode'],w=t['header'];v=v===undefined?0xc8:v;if(typeof u!=='string'&&!(u instanceof ArrayBuffer))try{u=JSON['stringify'](u);}catch(x){u=u;}i['status']=v,w&&_responseHeader['set'](i,w),_triggerEvent['call'](i,'loadstart'),_changeReadyState['call'](i,b['HEADERS_RECEIVED']),_changeReadyState['call'](i,b['LOADING']),i['response']=u,u instanceof ArrayBuffer?Object['defineProperty'](i,'responseText',{'enumerable':!![],'configurable':!![],'get':function y(){throw'InvalidStateError\x20:\x20responseType\x20is\x20'+this['responseType'];}}):Object['defineProperty'](i,'responseText',{'enumerable':!![],'configurable':!![],'value':u}),_changeReadyState['call'](i,b['DONE']),_triggerEvent['call'](i,'load'),_triggerEvent['call'](i,'loadend');},q=function t(u){var v=u['errMsg'];v['indexOf']('abort')!==-0x1?_triggerEvent['call'](i,'abort'):_triggerEvent['call'](i,'error',{'message':v}),_triggerEvent['call'](i,'loadend'),n&&console['warn'](v);};if(n){var r={'filePath':k,'success':p,'fail':q};o&&(r['encoding']=o);!fs&&(fs=swan['getFileSystemManager']());fs['readFile'](r);return;}swan['request']({'data':j,'url':k,'method':_method['get'](this),'header':l,'responseType':m,'success':p,'fail':q});}}},{'key':'setRequestHeader','value':function i(j,k){var l=_requestHeader['get'](this);l[j]=k,_requestHeader['set'](this,l);}},{'key':'addEventListener','value':function j(k,l){var m=this;if(typeof l!=='function')return;this['on'+k]=function(){var n=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};n['target']=n['target']||m,l['call'](m,n);};}},{'key':'removeEventListener','value':function k(l,m){this['on'+l]===m&&(this['on'+l]=null);}}]);}(_EventTarget2['default']);XMLHttpRequest['UNSEND']=0x0,XMLHttpRequest['OPENED']=0x1,XMLHttpRequest['HEADERS_RECEIVED']=0x2,XMLHttpRequest['LOADING']=0x3,XMLHttpRequest['DONE']=0x4,module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/document.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/document.js +new file mode 100644 +index 0000000..ee0a07e +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/document.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var window=_interopRequireWildcard(require('./window')),_Event=_interopRequireDefault(require('./Event')),_HTMLElement=_interopRequireDefault(require('./HTMLElement')),_HTMLVideoElement=_interopRequireDefault(require('./HTMLVideoElement')),_Image=_interopRequireDefault(require('./Image')),_Audio=_interopRequireDefault(require('./Audio')),_Canvas=_interopRequireDefault(require('./Canvas')),_DocumentElement=_interopRequireDefault(require('./DocumentElement')),_Body=_interopRequireDefault(require('./Body'));require('./EventIniter/index.js');var _location=_interopRequireDefault(require('./location'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _interopRequireWildcard(a,b){if('function'==typeof WeakMap)var c=new WeakMap(),d=new WeakMap();return(_interopRequireWildcard=function f(g,h){if(!h&&g&&g['__esModule'])return g;var j,k,l={'__proto__':null,'default':g};if(null===g||'object'!=_typeof(g)&&'function'!=typeof g)return l;if(j=h?d:c){if(j['has'](g))return j['get'](g);j['set'](g,l);}for(var m in g)'default'!==m&&{}['hasOwnProperty']['call'](g,m)&&((k=(j=Object['defineProperty'])&&Object['getOwnPropertyDescriptor'](g,m))&&(k['get']||k['set'])?j(l,m,k):l[m]=g[m]);return l;})(a,b);}var events={},document={'readyState':'complete','visibilityState':'visible','hidden':![],'fullscreen':!![],'URL':_location['default']['href'],'location':window['location'],'scripts':[],'style':{},'ontouchstart':null,'ontouchmove':null,'ontouchend':null,'onvisibilitychange':null,'parentNode':null,'parentElement':null,'createElement':function createElement(a){a=a['toLowerCase']();if(a==='canvas')return new _Canvas['default']();else{if(a==='audio')return new _Audio['default']();else{if(a==='img')return new _Image['default']();else{if(a==='video')return new _HTMLVideoElement['default']();}}}return new _HTMLElement['default'](a);},'createElementNS':function createElementNS(a,b){return this['createElement'](b);},'createTextNode':function createTextNode(a){return a;},'getElementById':function getElementById(a){if(a===window['canvas']['id'])return window['canvas'];return null;},'getElementsByTagName':function getElementsByTagName(a){a=a['toLowerCase']();if(a==='head')return[document['head']];else{if(a==='body')return[document['body']];else{if(a==='canvas')return[window['canvas']];}}return[];},'getElementsByTagNameNS':function getElementsByTagNameNS(a,b){return this['getElementsByTagName'](b);},'getElementsByName':function getElementsByName(a){if(a==='head')return[document['head']];else{if(a==='body')return[document['body']];else{if(a==='canvas')return[window['canvas']];}}return[];},'querySelector':function querySelector(a){if(a==='head')return document['head'];else{if(a==='body')return document['body'];else{if(a==='canvas')return window['canvas'];else{if(a==='#'['concat'](window['canvas']['id']))return window['canvas'];}}}return null;},'querySelectorAll':function querySelectorAll(a){if(a==='head')return[document['head']];else{if(a==='body')return[document['body']];else{if(a==='canvas')return[window['canvas']];}}return[];},'addEventListener':function addEventListener(a,b){!events[a]&&(events[a]=[]),events[a]['push'](b);},'removeEventListener':function removeEventListener(a,b){var c=events[a];if(c&&c['length']>0x0)for(var d=c['length'];d--;d>0x0){if(c[d]===b){c['splice'](d,0x1);break;}}},'dispatchEvent':function dispatchEvent(a){var b=a['type'],c=events[b];if(c)for(var d=0x0;d0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',f['type'],f);};if((0x0,_isDevtool['default'])()){for(var a in _window){var b=Object['getOwnPropertyDescriptor'](global,a);(!b||b['configurable']===!![])&&Object['defineProperty'](window,a,{'value':_window[a]});}for(var c in _window['document']){var d=Object['getOwnPropertyDescriptor'](global['document'],c);(!d||d['configurable']===!![])&&Object['defineProperty'](global['document'],c,{'value':_window['document'][c]});}window['parent']=window;}else{for(var e in _window){global[e]=_window[e];}global['window']=global,global['top']=global['parent']=global;}}if(swan['getSharedCanvas']){var sharedCanvas=swan['getSharedCanvas']();!_window['sharedCanvas']&&(_window['sharedCanvas']=sharedCanvas),sharedCanvas['addEventListener']=_window['addEventListener'],sharedCanvas['removeEventListener']=_window['removeEventListener'];}!GameGlobal['__isAdapterInjected']&&(GameGlobal['__isAdapterInjected']=!![],inject()); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/localStorage.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/localStorage.js +new file mode 100644 +index 0000000..8b0ee69 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/localStorage.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var localStorage={get 'length'(){var a=swan['getStorageInfoSync'](),b=a['keys'];return b['length'];},'key':function key(a){var b=swan['getStorageInfoSync'](),c=b['keys'];return c[a];},'getItem':function getItem(a){var b=swan['getStorageSync'](a);return b===''?null:b;},'setItem':function setItem(a,b){return swan['setStorageSync'](a,b);},'removeItem':function removeItem(a){swan['removeStorageSync'](a);},'clear':function clear(){swan['clearStorageSync']();}},_default=exports['default']=localStorage;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/location.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/location.js +new file mode 100644 +index 0000000..ba394c9 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/location.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var location={'href':'game.js','search':'','hash':'','reload':function reload(){},'replace':function replace(a){this['href']=a;}},_default=exports['default']=location;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/navigator.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/navigator.js +new file mode 100644 +index 0000000..09870c2 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/navigator.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _index=require('./util/index.js'),systemInfo=swan['getSystemInfoSync']&&swan['getSystemInfoSync'](),system=systemInfo&&systemInfo['system']||'',platform=systemInfo&&systemInfo['platform']||'',language=systemInfo&&systemInfo['language']||'\x22zh_CN\x22',android=system['toLowerCase']()['indexOf']('android')!==-0x1,uaDesc=android?'Android;\x20CPU\x20Android\x206.0':'iPhone;\x20CPU\x20iPhone\x20OS\x2010_3_1\x20like\x20Mac\x20OS\x20X',ua='Mozilla/5.0\x20('['concat'](uaDesc,')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20MicroMessenger/6.6.0\x20SwanGame\x20NetType/WIFI\x20Language/')['concat'](language),navigator={'platform':platform,'language':language,'appVersion':'5.0\x20('['concat'](uaDesc,')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1'),'userAgent':ua,'onLine':!![],'geolocation':{'getCurrentPosition':_index['noop'],'watchPosition':_index['noop'],'clearWatch':_index['noop']}};swan['onNetworkStatusChange']&&swan['onNetworkStatusChange'](function(a){navigator['onLine']=a['isConnected'];});var _default=exports['default']=navigator;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/performance.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/performance.js +new file mode 100644 +index 0000000..a2f59d0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/performance.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _isDevtool=_interopRequireDefault(require('./util/isDevtool'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}var performance;if(swan['getPerformance']){var swanPerf=swan['getPerformance'](),initTime=swanPerf['now'](),clientPerfAdapter=Object['assign']({},swanPerf,{'now':function now(){return(swanPerf['now']()-initTime)/0x3e8;}});performance=(0x0,_isDevtool['default'])()?swanPerf:clientPerfAdapter;}else performance={},performance['now']=Date['now'];var _default=exports['default']=performance;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/CanvasComputedStyle.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/CanvasComputedStyle.js +new file mode 100644 +index 0000000..004f312 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/CanvasComputedStyle.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _CommonComputedStyle=_interopRequireDefault(require('./CommonComputedStyle'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function getCanvasComputedStyle(canvas){var a=canvas['getBoundingClientRect'](),b=Object['assign'](_CommonComputedStyle['default'],{'display':'inline','position':'static','inlineSize':a['width']+'px','perspectiveOrigin':a['width']/0x2+'px\x20'+a['height']/0x2+'px','transformOrigin':a['width']/0x2+'px\x20'+a['height']/0x2+'px','webkitLogicalWidth':a['width']+'px','webkitLogicalHeight':a['height']+'px','width':a['width']+'px','height':a['height']+'px'});return b;}var _default=exports['default']=getCanvasComputedStyle;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/CommonComputedStyle.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/CommonComputedStyle.js +new file mode 100644 +index 0000000..494e2b5 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/CommonComputedStyle.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var style={'0':'animation-delay','1':'animation-direction','2':'animation-duration','3':'animation-fill-mode','4':'animation-iteration-count','5':'animation-name','6':'animation-play-state','7':'animation-timing-function','8':'background-attachment','9':'background-blend-mode','10':'background-clip','11':'background-color','12':'background-image','13':'background-origin','14':'background-position','15':'background-repeat','16':'background-size','17':'border-bottom-color','18':'border-bottom-left-radius','19':'border-bottom-right-radius','20':'border-bottom-style','21':'border-bottom-width','22':'border-collapse','23':'border-image-outset','24':'border-image-repeat','25':'border-image-slice','26':'border-image-source','27':'border-image-width','28':'border-left-color','29':'border-left-style','30':'border-left-width','31':'border-right-color','32':'border-right-style','33':'border-right-width','34':'border-top-color','35':'border-top-left-radius','36':'border-top-right-radius','37':'border-top-style','38':'border-top-width','39':'bottom','40':'box-shadow','41':'box-sizing','42':'break-after','43':'break-before','44':'break-inside','45':'caption-side','46':'clear','47':'clip','48':'color','49':'content','50':'cursor','51':'direction','52':'display','53':'empty-cells','54':'float','55':'font-family','56':'font-kerning','57':'font-size','58':'font-stretch','59':'font-style','60':'font-variant','61':'font-variant-ligatures','62':'font-variant-caps','63':'font-variant-numeric','64':'font-variant-east-asian','65':'font-weight','66':'height','67':'image-rendering','68':'isolation','69':'justify-items','70':'justify-self','71':'left','72':'letter-spacing','73':'line-height','74':'list-style-image','75':'list-style-position','76':'list-style-type','77':'margin-bottom','78':'margin-left','79':'margin-right','80':'margin-top','81':'max-height','82':'max-width','83':'min-height','84':'min-width','85':'mix-blend-mode','86':'object-fit','87':'object-position','88':'offset-distance','89':'offset-path','90':'offset-rotate','91':'opacity','92':'orphans','93':'outline-color','94':'outline-offset','95':'outline-style','96':'outline-width','97':'overflow-anchor','98':'overflow-wrap','99':'overflow-x','100':'overflow-y','101':'padding-bottom','102':'padding-left','103':'padding-right','104':'padding-top','105':'pointer-events','106':'position','107':'resize','108':'right','109':'scroll-behavior','110':'speak','111':'table-layout','112':'tab-size','113':'text-align','114':'text-align-last','115':'text-decoration','116':'text-decoration-line','117':'text-decoration-style','118':'text-decoration-color','119':'text-decoration-skip-ink','120':'text-underline-position','121':'text-indent','122':'text-rendering','123':'text-shadow','124':'text-size-adjust','125':'text-overflow','126':'text-transform','127':'top','128':'touch-action','129':'transition-delay','130':'transition-duration','131':'transition-property','132':'transition-timing-function','133':'unicode-bidi','134':'vertical-align','135':'visibility','136':'white-space','137':'widows','138':'width','139':'will-change','140':'word-break','141':'word-spacing','142':'word-wrap','143':'z-index','144':'zoom','145':'-webkit-appearance','146':'backface-visibility','147':'-webkit-border-horizontal-spacing','148':'-webkit-border-image','149':'-webkit-border-vertical-spacing','150':'-webkit-box-align','151':'-webkit-box-decoration-break','152':'-webkit-box-direction','153':'-webkit-box-flex','154':'-webkit-box-flex-group','155':'-webkit-box-lines','156':'-webkit-box-ordinal-group','157':'-webkit-box-orient','158':'-webkit-box-pack','159':'-webkit-box-reflect','160':'column-count','161':'column-gap','162':'column-rule-color','163':'column-rule-style','164':'column-rule-width','165':'column-span','166':'column-width','167':'align-content','168':'align-items','169':'align-self','170':'flex-basis','171':'flex-grow','172':'flex-shrink','173':'flex-direction','174':'flex-wrap','175':'justify-content','176':'-webkit-font-smoothing','177':'grid-auto-columns','178':'grid-auto-flow','179':'grid-auto-rows','180':'grid-column-end','181':'grid-column-start','182':'grid-template-areas','183':'grid-template-columns','184':'grid-template-rows','185':'grid-row-end','186':'grid-row-start','187':'grid-column-gap','188':'grid-row-gap','189':'-webkit-highlight','190':'hyphens','191':'-webkit-hyphenate-character','192':'-webkit-line-break','193':'-webkit-line-clamp','194':'-webkit-locale','195':'-webkit-margin-before-collapse','196':'-webkit-margin-after-collapse','197':'-webkit-mask-box-image','198':'-webkit-mask-box-image-outset','199':'-webkit-mask-box-image-repeat','200':'-webkit-mask-box-image-slice','201':'-webkit-mask-box-image-source','202':'-webkit-mask-box-image-width','203':'-webkit-mask-clip','204':'-webkit-mask-composite','205':'-webkit-mask-image','206':'-webkit-mask-origin','207':'-webkit-mask-position','208':'-webkit-mask-repeat','209':'-webkit-mask-size','210':'order','211':'perspective','212':'perspective-origin','213':'-webkit-print-color-adjust','214':'-webkit-rtl-ordering','215':'shape-outside','216':'shape-image-threshold','217':'shape-margin','218':'-webkit-tap-highlight-color','219':'-webkit-text-combine','220':'-webkit-text-decorations-in-effect','221':'-webkit-text-emphasis-color','222':'-webkit-text-emphasis-position','223':'-webkit-text-emphasis-style','224':'-webkit-text-fill-color','225':'-webkit-text-orientation','226':'-webkit-text-security','227':'-webkit-text-stroke-color','228':'-webkit-text-stroke-width','229':'transform','230':'transform-origin','231':'transform-style','232':'-webkit-user-drag','233':'-webkit-user-modify','234':'user-select','235':'-webkit-writing-mode','236':'-webkit-app-region','237':'buffered-rendering','238':'clip-path','239':'clip-rule','240':'mask','241':'filter','242':'flood-color','243':'flood-opacity','244':'lighting-color','245':'stop-color','246':'stop-opacity','247':'color-interpolation','248':'color-interpolation-filters','249':'color-rendering','250':'fill','251':'fill-opacity','252':'fill-rule','253':'marker-end','254':'marker-mid','255':'marker-start','256':'mask-type','257':'shape-rendering','258':'stroke','259':'stroke-dasharray','260':'stroke-dashoffset','261':'stroke-linecap','262':'stroke-linejoin','263':'stroke-miterlimit','264':'stroke-opacity','265':'stroke-width','266':'alignment-baseline','267':'baseline-shift','268':'dominant-baseline','269':'text-anchor','270':'writing-mode','271':'vector-effect','272':'paint-order','273':'d','274':'cx','275':'cy','276':'x','277':'y','278':'r','279':'rx','280':'ry','281':'caret-color','282':'line-break','display':'inline','dominantBaseline':'auto','emptyCells':'show','fill':'rgb(0,\x200,\x200)','fillOpacity':'1','fillRule':'nonzero','filter':'none','flex':'0\x201\x20auto','flexBasis':'auto','flexDirection':'row','flexFlow':'row\x20nowrap','flexGrow':'0','flexShrink':'1','flexWrap':'nowrap','float':'none','floodColor':'rgb(0,\x200,\x200)','floodOpacity':'1','font':'normal\x20normal\x20400\x20normal\x2016px\x20/\x20normal\x20\x22PingFang\x20SC\x22','fontDisplay':'','fontFamily':'\x22PingFang\x20SC\x22','fontFeatureSettings':'normal','fontKerning':'auto','fontSize':'16px','fontStretch':'100%','fontStyle':'normal','fontVariant':'normal','fontVariantCaps':'normal','fontVariantEastAsian':'normal','fontVariantLigatures':'normal','fontVariantNumeric':'normal','fontVariationSettings':'normal','fontWeight':'400','grid':'none\x20/\x20none\x20/\x20none\x20/\x20row\x20/\x20auto\x20/\x20auto','gridArea':'auto\x20/\x20auto\x20/\x20auto\x20/\x20auto','gridAutoColumns':'auto','gridAutoFlow':'row','gridAutoRows':'auto','gridColumn':'auto\x20/\x20auto','gridColumnEnd':'auto','gridColumnGap':'0px','gridColumnStart':'auto','gridGap':'0px\x200px','gridRow':'auto\x20/\x20auto','gridRowEnd':'auto','gridRowGap':'0px','gridRowStart':'auto','gridTemplate':'none\x20/\x20none\x20/\x20none','gridTemplateAreas':'none','gridTemplateColumns':'none','gridTemplateRows':'none','height':'0px','hyphens':'manual','imageRendering':'auto','inlineSize':'0px','isolation':'auto','justifyContent':'normal','justifyItems':'normal','justifySelf':'auto','left':'auto','letterSpacing':'normal','lightingColor':'rgb(255,\x20255,\x20255)','lineBreak':'auto','lineHeight':'normal','listStyle':'disc\x20outside\x20none','listStyleImage':'none','listStylePosition':'outside','listStyleType':'disc','margin':'0px','marginBottom':'0px','marginLeft':'0px','marginRight':'0px','marginTop':'0px','marker':'','markerEnd':'none','markerMid':'none','markerStart':'none','mask':'none','maskType':'luminance','maxBlockSize':'none','maxHeight':'none','maxInlineSize':'none','maxWidth':'none','maxZoom':'','minBlockSize':'0px','minHeight':'0px','minInlineSize':'0px','minWidth':'0px','minZoom':'','mixBlendMode':'normal','objectFit':'fill','objectPosition':'50%\x2050%','offset':'none\x200px\x20auto\x200deg','offsetDistance':'0px','offsetPath':'none','offsetRotate':'auto\x200deg','opacity':'1','order':'0','orientation':'','orphans':'2','outline':'rgb(0,\x200,\x200)\x20none\x200px','outlineColor':'rgb(0,\x200,\x200)','outlineOffset':'0px','outlineStyle':'none','outlineWidth':'0px','overflow':'visible','overflowAnchor':'auto','overflowWrap':'normal','overflowX':'visible','overflowY':'visible','overscrollBehavior':'auto\x20auto','overscrollBehaviorX':'auto','overscrollBehaviorY':'auto','padding':'0px','paddingBottom':'0px','paddingLeft':'0px','paddingRight':'0px','paddingTop':'0px','page':'','pageBreakAfter':'auto','pageBreakBefore':'auto','pageBreakInside':'auto','paintOrder':'fill\x20stroke\x20markers','perspective':'none','perspectiveOrigin':'0px\x200px','placeContent':'normal\x20normal','placeItems':'normal\x20normal','placeSelf':'auto\x20auto','pointerEvents':'auto','position':'static','quotes':'','r':'0px','resize':'none','right':'auto','rx':'auto','ry':'auto','scrollBehavior':'auto','shapeImageThreshold':'0','shapeMargin':'0px','shapeOutside':'none','shapeRendering':'auto','size':'','speak':'normal','src':'','stopColor':'rgb(0,\x200,\x200)','stopOpacity':'1','stroke':'none','strokeDasharray':'none','strokeDashoffset':'0px','strokeLinecap':'butt','strokeLinejoin':'miter','strokeMiterlimit':'4','strokeOpacity':'1','strokeWidth':'1px','tabSize':'8','tableLayout':'auto','textAlign':'start','textAlignLast':'auto','textAnchor':'start','textCombineUpright':'none','textDecoration':'none\x20solid\x20rgb(0,\x200,\x200)','textDecorationColor':'rgb(0,\x200,\x200)','textDecorationLine':'none','textDecorationSkipInk':'auto','textDecorationStyle':'solid','textIndent':'0px','textOrientation':'mixed','textOverflow':'clip','textRendering':'auto','textShadow':'none','textSizeAdjust':'auto','textTransform':'none','textUnderlinePosition':'auto','top':'auto','touchAction':'auto','transform':'none','transformBox':'view-box','transformOrigin':'0px\x200px','transformStyle':'flat','transition':'all\x200s\x20ease\x200s','transitionDelay':'0s','transitionDuration':'0s','transitionProperty':'all','transitionTimingFunction':'ease','unicodeBidi':'normal','unicodeRange':'','userSelect':'auto','userZoom':'','vectorEffect':'none','verticalAlign':'baseline','visibility':'visible','webkitAppRegion':'no-drag','webkitAppearance':'none','webkitBorderAfter':'0px\x20none\x20rgb(0,\x200,\x200)','webkitBorderAfterColor':'rgb(0,\x200,\x200)','webkitBorderAfterStyle':'none','webkitBorderAfterWidth':'0px','webkitBorderBefore':'0px\x20none\x20rgb(0,\x200,\x200)','webkitBorderBeforeColor':'rgb(0,\x200,\x200)','webkitBorderBeforeStyle':'none','webkitBorderBeforeWidth':'0px','webkitBorderEnd':'0px\x20none\x20rgb(0,\x200,\x200)','webkitBorderEndColor':'rgb(0,\x200,\x200)','webkitBorderEndStyle':'none','webkitBorderEndWidth':'0px','webkitBorderHorizontalSpacing':'0px','webkitBorderImage':'none','webkitBorderStart':'0px\x20none\x20rgb(0,\x200,\x200)','webkitBorderStartColor':'rgb(0,\x200,\x200)','webkitBorderStartStyle':'none','webkitBorderStartWidth':'0px','webkitBorderVerticalSpacing':'0px','webkitBoxAlign':'stretch','webkitBoxDecorationBreak':'slice','webkitBoxDirection':'normal','webkitBoxFlex':'0','webkitBoxFlexGroup':'1','webkitBoxLines':'single','webkitBoxOrdinalGroup':'1','webkitBoxOrient':'horizontal','webkitBoxPack':'start','webkitBoxReflect':'none','webkitColumnBreakAfter':'auto','webkitColumnBreakBefore':'auto','webkitColumnBreakInside':'auto','webkitFontSizeDelta':'','webkitFontSmoothing':'auto','webkitHighlight':'none','webkitHyphenateCharacter':'auto','webkitLineBreak':'auto','webkitLineClamp':'none','webkitLocale':'auto','webkitLogicalHeight':'0px','webkitLogicalWidth':'0px','webkitMarginAfter':'0px','webkitMarginAfterCollapse':'collapse','webkitMarginBefore':'0px','webkitMarginBeforeCollapse':'collapse','webkitMarginBottomCollapse':'collapse','webkitMarginCollapse':'','webkitMarginEnd':'0px','webkitMarginStart':'0px','webkitMarginTopCollapse':'collapse','webkitMask':'','webkitMaskBoxImage':'none','webkitMaskBoxImageOutset':'0px','webkitMaskBoxImageRepeat':'stretch','webkitMaskBoxImageSlice':'0\x20fill','webkitMaskBoxImageSource':'none','webkitMaskBoxImageWidth':'auto','webkitMaskClip':'border-box','webkitMaskComposite':'source-over','webkitMaskImage':'none','webkitMaskOrigin':'border-box','webkitMaskPosition':'0%\x200%','webkitMaskPositionX':'0%','webkitMaskPositionY':'0%','webkitMaskRepeat':'repeat','webkitMaskRepeatX':'','webkitMaskRepeatY':'','webkitMaskSize':'auto','webkitMaxLogicalHeight':'none','webkitMaxLogicalWidth':'none','webkitMinLogicalHeight':'0px','webkitMinLogicalWidth':'0px','webkitPaddingAfter':'0px','webkitPaddingBefore':'0px','webkitPaddingEnd':'0px','webkitPaddingStart':'0px','webkitPerspectiveOriginX':'','webkitPerspectiveOriginY':'','webkitPrintColorAdjust':'economy','webkitRtlOrdering':'logical','webkitRubyPosition':'before','webkitTapHighlightColor':'rgba(0,\x200,\x200,\x200.4)','webkitTextCombine':'none','webkitTextDecorationsInEffect':'none','webkitTextEmphasis':'','webkitTextEmphasisColor':'rgb(0,\x200,\x200)','webkitTextEmphasisPosition':'over\x20right','webkitTextEmphasisStyle':'none','webkitTextFillColor':'rgb(0,\x200,\x200)','webkitTextOrientation':'vertical-right','webkitTextSecurity':'none','webkitTextStroke':'','webkitTextStrokeColor':'rgb(0,\x200,\x200)','webkitTextStrokeWidth':'0px','webkitTransformOriginX':'','webkitTransformOriginY':'','webkitTransformOriginZ':'','webkitUserDrag':'auto','webkitUserModify':'read-only','webkitWritingMode':'horizontal-tb','whiteSpace':'normal','widows':'2','width':'0px','willChange':'auto','wordBreak':'normal','wordSpacing':'0px','wordWrap':'normal','writingMode':'horizontal-tb','x':'0px','y':'0px','zIndex':'auto','zoom':'1'},_default=exports['default']=style;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/ImageComputedStyle.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/ImageComputedStyle.js +new file mode 100644 +index 0000000..bbd0a28 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/style/ImageComputedStyle.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _CommonComputedStyle=_interopRequireDefault(require('./CommonComputedStyle'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function getImageComputedStyle(a){var b=a['width'],c=a['height'],d=Object['assign'](_CommonComputedStyle['default'],{'display':'inline','position':'static','inlineSize':b+'px','perspectiveOrigin':b/0x2+'px\x20'+c/0x2+'px','transformOrigin':b/0x2+'px\x20'+c/0x2+'px','webkitLogicalWidth':b+'px','webkitLogicalHeight':c+'px','width':b+'px','height':c+'px'});return d;}var _default=exports['default']=getImageComputedStyle;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/index.js +new file mode 100644 +index 0000000..112f54d +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/index.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['noop']=noop;function noop(){} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/isDevtool.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/isDevtool.js +new file mode 100644 +index 0000000..e3e385a +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/isDevtool.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=_default;var isDevtool=![];if(swan['getSystemInfoSync']){var _swan$getSystemInfoSy=swan['getSystemInfoSync'](),platform=_swan$getSystemInfoSy['platform'];isDevtool=platform==='devtools';}else{var descriptor=Object['getOwnPropertyDescriptor'](global,'window');isDevtool=!(!descriptor||descriptor['configurable']===!![]);}function _default(){return isDevtool;}module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/mixin.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/mixin.js +new file mode 100644 +index 0000000..a6c7153 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/util/mixin.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['classList']=classList,exports['clientRegion']=clientRegion,exports['offsetRegion']=offsetRegion,exports['parentNode']=parentNode,exports['scrollRegion']=scrollRegion,exports['style']=style;var _WindowProperties=require('../WindowProperties');function parentNode(a,b){if(!('parentNode'in a)){var c;if(b===0x0)c=function e(){return null;};else b===0x1?c=function f(){return document['documentElement'];}:c=function g(){return document['body'];};Object['defineProperty'](a,'parentNode',{'enumerable':!![],'get':c});}if(!('parentElement'in a)){var d;if(b===0x0)d=function h(){return null;};else b===0x1?d=function i(){return document['documentElement'];}:d=function j(){return document['body'];};Object['defineProperty'](a,'parentElement',{'enumerable':!![],'get':d});}}function style(a){a['style']=a['style']||{},Object['assign'](a['style'],{'top':'0px','left':'0px','width':_WindowProperties['innerWidth']+'px','height':_WindowProperties['innerHeight']+'px','margin':'0px','padding':'0px','removeProperty':function b(){},'setProperty':function c(){}});}function clientRegion(a){!('clientLeft'in a)&&(a['clientLeft']=0x0,a['clientTop']=0x0),!('clientWidth'in a)&&(a['clientWidth']=_WindowProperties['innerWidth'],a['clientHeight']=_WindowProperties['innerHeight']),!('getBoundingClientRect'in a)&&(a['getBoundingClientRect']=function(){var b={'x':0x0,'y':0x0,'top':0x0,'left':0x0,'width':this['clientWidth'],'height':this['clientHeight']};return b['right']=b['width'],b['bottom']=b['height'],b;});}function offsetRegion(a){!('offsetLeft'in a)&&(a['offsetLeft']=0x0,a['offsetTop']=0x0),!('offsetWidth'in a)&&(a['offsetWidth']=_WindowProperties['innerWidth'],a['offsetHeight']=_WindowProperties['innerHeight']);}function scrollRegion(a){!('scrollLeft'in a)&&(a['scrollLeft']=0x0,a['scrollTop']=0x0),!('scrollWidth'in a)&&(a['scrollWidth']=_WindowProperties['innerWidth'],a['scrollHeight']=_WindowProperties['innerHeight']);}function classList(a){var b=function c(){};a['classList']=[],a['classList']['add']=b,a['classList']['remove']=b,a['classList']['contains']=b,a['classList']['toggle']=b;} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/window.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/window.js +new file mode 100644 +index 0000000..91d32f2 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/builtin/window.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});var _exportNames={'canvas':!![],'alert':!![],'focus':!![],'blur':!![],'getComputedStyle':!![],'scrollTo':!![],'scrollBy':!![],'setTimeout':!![],'clearTimeout':!![],'setInterval':!![],'clearInterval':!![],'requestAnimationFrame':!![],'cancelAnimationFrame':!![],'navigator':!![],'XMLHttpRequest':!![],'WebSocket':!![],'Worker':!![],'Image':!![],'ImageBitmap':!![],'Audio':!![],'HTMLElement':!![],'HTMLImageElement':!![],'HTMLCanvasElement':!![],'HTMLMediaElement':!![],'HTMLAudioElement':!![],'HTMLVideoElement':!![],'WebGLRenderingContext':!![],'TouchEvent':!![],'PointerEvent':!![],'MouseEvent':!![],'localStorage':!![],'location':!![],'btoa':!![],'atob':!![]};Object['defineProperty'](exports,'Audio',{'enumerable':!![],'get':function get(){return _Audio['default'];}}),Object['defineProperty'](exports,'HTMLAudioElement',{'enumerable':!![],'get':function get(){return _HTMLAudioElement['default'];}}),Object['defineProperty'](exports,'HTMLCanvasElement',{'enumerable':!![],'get':function get(){return _HTMLCanvasElement['default'];}}),Object['defineProperty'](exports,'HTMLElement',{'enumerable':!![],'get':function get(){return _HTMLElement['default'];}}),Object['defineProperty'](exports,'HTMLImageElement',{'enumerable':!![],'get':function get(){return _HTMLImageElement['default'];}}),Object['defineProperty'](exports,'HTMLMediaElement',{'enumerable':!![],'get':function get(){return _HTMLMediaElement['default'];}}),Object['defineProperty'](exports,'HTMLVideoElement',{'enumerable':!![],'get':function get(){return _HTMLVideoElement['default'];}}),Object['defineProperty'](exports,'Image',{'enumerable':!![],'get':function get(){return _Image['default'];}}),Object['defineProperty'](exports,'ImageBitmap',{'enumerable':!![],'get':function get(){return _ImageBitmap['default'];}}),Object['defineProperty'](exports,'MouseEvent',{'enumerable':!![],'get':function get(){return _index['MouseEvent'];}}),Object['defineProperty'](exports,'PointerEvent',{'enumerable':!![],'get':function get(){return _index['PointerEvent'];}}),Object['defineProperty'](exports,'TouchEvent',{'enumerable':!![],'get':function get(){return _index['TouchEvent'];}}),Object['defineProperty'](exports,'WebGLRenderingContext',{'enumerable':!![],'get':function get(){return _WebGLRenderingContext['default'];}}),Object['defineProperty'](exports,'WebSocket',{'enumerable':!![],'get':function get(){return _WebSocket['default'];}}),Object['defineProperty'](exports,'Worker',{'enumerable':!![],'get':function get(){return _Worker['default'];}}),Object['defineProperty'](exports,'XMLHttpRequest',{'enumerable':!![],'get':function get(){return _XMLHttpRequest['default'];}}),exports['alert']=alert,Object['defineProperty'](exports,'atob',{'enumerable':!![],'get':function get(){return _Base['atob'];}}),exports['blur']=blur,Object['defineProperty'](exports,'btoa',{'enumerable':!![],'get':function get(){return _Base['btoa'];}}),exports['clearTimeout']=exports['clearInterval']=exports['canvas']=exports['cancelAnimationFrame']=void 0x0,exports['focus']=focus,exports['getComputedStyle']=getComputedStyle,Object['defineProperty'](exports,'localStorage',{'enumerable':!![],'get':function get(){return _localStorage['default'];}}),Object['defineProperty'](exports,'location',{'enumerable':!![],'get':function get(){return _location['default'];}}),Object['defineProperty'](exports,'navigator',{'enumerable':!![],'get':function get(){return _navigator['default'];}}),exports['requestAnimationFrame']=void 0x0,exports['scrollBy']=scrollBy,exports['scrollTo']=scrollTo,exports['setTimeout']=exports['setInterval']=void 0x0;var _Canvas=_interopRequireDefault(require('./Canvas')),_CommonComputedStyle=_interopRequireDefault(require('./style/CommonComputedStyle')),_ImageComputedStyle=_interopRequireDefault(require('./style/ImageComputedStyle')),_CanvasComputedStyle=_interopRequireDefault(require('./style/CanvasComputedStyle')),_Event=_interopRequireDefault(require('./Event')),_isDevtool=_interopRequireDefault(require('./util/isDevtool')),_navigator=_interopRequireDefault(require('./navigator')),_XMLHttpRequest=_interopRequireDefault(require('./XMLHttpRequest')),_WebSocket=_interopRequireDefault(require('./WebSocket')),_Worker=_interopRequireDefault(require('./Worker')),_Image=_interopRequireDefault(require('./Image')),_ImageBitmap=_interopRequireDefault(require('./ImageBitmap')),_Audio=_interopRequireDefault(require('./Audio')),_HTMLElement=_interopRequireDefault(require('./HTMLElement')),_HTMLImageElement=_interopRequireDefault(require('./HTMLImageElement')),_HTMLCanvasElement=_interopRequireDefault(require('./HTMLCanvasElement')),_HTMLMediaElement=_interopRequireDefault(require('./HTMLMediaElement')),_HTMLAudioElement=_interopRequireDefault(require('./HTMLAudioElement')),_HTMLVideoElement=_interopRequireDefault(require('./HTMLVideoElement')),_WebGLRenderingContext=_interopRequireDefault(require('./WebGLRenderingContext')),_index=require('./EventIniter/index.js'),_localStorage=_interopRequireDefault(require('./localStorage')),_location=_interopRequireDefault(require('./location')),_Base=require('./Base64.js'),_WindowProperties=require('./WindowProperties');Object['keys'](_WindowProperties)['forEach'](function(a){if(a==='default'||a==='__esModule')return;if(Object['prototype']['hasOwnProperty']['call'](_exportNames,a))return;if(a in exports&&exports[a]===_WindowProperties[a])return;Object['defineProperty'](exports,a,{'enumerable':!![],'get':function b(){return _WindowProperties[a];}});});function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new _Canvas['default']();var canvas=exports['canvas']=GameGlobal['screencanvas'];function getComputedStyle(a){var b=a['tagName'];if(b==='CANVAS')return(0x0,_CanvasComputedStyle['default'])(a);else{if(b==='IMG')return(0x0,_ImageComputedStyle['default'])(a);}return _CommonComputedStyle['default'];}function scrollTo(a,b){}function scrollBy(a,b){window['scrollTo'](window['scrollX']+a,window['scrollY']+b);}function alert(a){console['log'](a);}function focus(){}function blur(){}if((0x0,_isDevtool['default'])()&&swan['getPerformance']){var wxPerf=swan['getPerformance'](),consoleTimers={};console['time']=function(a){consoleTimers[a]=wxPerf['now']();},console['timeEnd']=function(a){var b=consoleTimers[a];if(!b)return;var c=wxPerf['now']()-b;console['log'](a+':\x20'+c/0x3e8+'ms'),delete consoleTimers[a];};}function eventHandlerFactory(){return function(a){var b=new _Event['default']('resize');b['target']=window,b['timeStamp']=Date['now'](),b['res']=a,b['windowWidth']=a['windowWidth'],b['windowHeight']=a['windowHeight'],document['dispatchEvent'](b);};}var _setTimeout=exports['setTimeout']=setTimeout,_clearTimeout=exports['clearTimeout']=clearTimeout,_setInterval=exports['setInterval']=setInterval,_clearInterval=exports['clearInterval']=clearInterval,_requestAnimationFrame=exports['requestAnimationFrame']=requestAnimationFrame,_cancelAnimationFrame=exports['cancelAnimationFrame']=cancelAnimationFrame; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/engine/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/engine/index.js +new file mode 100644 +index 0000000..9a4d2f0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/engine/index.js +@@ -0,0 +1 @@ ++'use strict';require('./sprite-frame'); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/engine/sprite-frame.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/engine/sprite-frame.js +new file mode 100644 +index 0000000..54fd92a +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/engine/sprite-frame.js +@@ -0,0 +1 @@ ++'use strict';cc['SpriteFrame']&&(cc['SpriteFrame']['prototype']['_checkPackable']=function(){var a=cc['internal']['dynamicAtlasManager'];if(!a)return;var b=this['_texture'];if(!(b instanceof cc['Texture2D'])||b['isCompressed']){this['_packable']=![];return;}var c=this['width'],d=this['height'];if(!b['image']||c>a['maxFrameSize']||d>a['maxFrameSize']){this['_packable']=![];return;}b['image']&&b['image']['getContext']&&(this['_packable']=!![]);}); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/fs-utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/fs-utils.js +new file mode 100644 +index 0000000..40ef1b0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/fs-utils.js +@@ -0,0 +1 @@ ++'use strict';var fs=swan['getFileSystemManager']?swan['getFileSystemManager']():null,outOfStorageRegExp=/file size over/,fsUtils={'fs':fs,'isOutOfStorage':function isOutOfStorage(a){return outOfStorageRegExp['test'](a);},'getUserDataPath':function getUserDataPath(){return swan['env']['USER_DATA_PATH'];},'checkFsValid':function checkFsValid(){if(!fs)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function deleteFile(a,b){fs['unlink']({'filePath':a,'success':function c(){b&&b(null);},'fail':function d(e){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](e['errMsg'])),b&&b(new Error(e['errMsg']));}});},'downloadFile':function downloadFile(a,b,c,d,e){var f={'url':a,'success':function h(i){i['statusCode']===0xc8?e&&e(null,i['tempFilePath']||i['filePath']):(i['filePath']&&fsUtils['deleteFile'](i['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](i['statusCode'])),e&&e(new Error(i['statusCode']),null));},'fail':function i(j){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](j['errMsg'])),e&&e(new Error(j['errMsg']),null);}};if(b)f['filePath']=b;if(c)f['header']=c;var g=swan['downloadFile'](f);d&&g['onProgressUpdate'](d);},'saveFile':function saveFile(a,b,c){swan['saveFile']({'tempFilePath':a,'filePath':b,'success':function d(e){c&&c(null);},'fail':function e(f){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']));}});},'copyFile':function copyFile(a,b,c){fs['copyFile']({'srcPath':a,'destPath':b,'success':function d(){c&&c(null);},'fail':function e(f){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']));}});},'writeFile':function writeFile(a,b,c,d){fs['writeFile']({'filePath':a,'encoding':c,'data':b,'success':function e(){d&&d(null);},'fail':function f(g){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['errMsg'])),d&&d(new Error(g['errMsg']));}});},'writeFileSync':function writeFileSync(a,b,c){try{return fs['writeFileSync'](a,b,c),null;}catch(d){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](d['message'])),new Error(d['message']);}},'readFile':function readFile(a,b,c){fs['readFile']({'filePath':a,'encoding':b,'success':function d(e){c&&c(null,e['data']);},'fail':function e(f){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']),null);}});},'readDir':function readDir(a,b){fs['readdir']({'dirPath':a,'success':function c(d){b&&b(null,d['files']);},'fail':function d(e){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](e['errMsg'])),b&&b(new Error(e['errMsg']),null);}});},'readText':function readText(a,b){fsUtils['readFile'](a,'utf8',b);},'readArrayBuffer':function readArrayBuffer(a,b){fsUtils['readFile'](a,'',b);},'readJson':function readJson(a,b){fsUtils['readFile'](a,'utf8',function(c,d){var f=null;if(!c)try{f=JSON['parse'](d);}catch(g){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['message'])),c=new Error(g['message']);}b&&b(c,f);});},'readJsonSync':function readJsonSync(a){try{var b=fs['readFileSync'](a,'utf8');return JSON['parse'](b);}catch(c){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'makeDirSync':function makeDirSync(a,b){try{return fs['mkdirSync'](a,b),null;}catch(c){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'rmdirSync':function rmdirSync(a,b){try{fs['rmdirSync'](a,b);}catch(c){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'exists':function exists(a,b){fs['access']({'path':a,'success':function c(){b&&b(!![]);},'fail':function d(){b&&b(![]);}});},'loadSubpackage':function loadSubpackage(a,b,c){var d=swan['loadSubpackage']({'name':a,'success':function e(){c&&c();},'fail':function f(g){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['errMsg'])),c&&c(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](a,':\x20')['concat'](g['errMsg'])));}});return b&&d['onProgressUpdate'](b),d;},'unzip':function unzip(a,b,c){fs['unzip']({'zipFilePath':a,'targetPath':b,'success':function d(){c&&c(null);},'fail':function e(f){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error('unzip\x20failed:\x20'+f['errMsg']));}});}};window['fsUtils']=module['exports']=fsUtils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/unify.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/unify.js +new file mode 100644 +index 0000000..e277cb0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/unify.js +@@ -0,0 +1 @@ ++'use strict';var utils=require('./utils');if(window['__globalAdapter']){var globalAdapter=window['__globalAdapter'],isLandscape=![];if(swan['getSystemInfoSync']){var systemInfo=swan['getSystemInfoSync'](),windowWidth=systemInfo['windowWidth'],windowHeight=systemInfo['windowHeight'];isLandscape=windowWidth>windowHeight,globalAdapter['isDevTool']=systemInfo['platform']==='devtools';}else{var descriptor=Object['getOwnPropertyDescriptor'](global,'window');globalAdapter['isDevTool']=!(!descriptor||descriptor['configurable']===!![]);}globalAdapter['isSubContext']=swan['getOpenDataContext']===undefined,utils['cloneMethod'](globalAdapter,swan,'getSystemInfoSync'),utils['cloneMethod'](globalAdapter,swan,'onTouchStart'),utils['cloneMethod'](globalAdapter,swan,'onTouchMove'),utils['cloneMethod'](globalAdapter,swan,'onTouchEnd'),utils['cloneMethod'](globalAdapter,swan,'onTouchCancel'),utils['cloneMethod'](globalAdapter,swan,'createInnerAudioContext'),utils['cloneMethod'](globalAdapter,swan,'setPreferredFramesPerSecond'),utils['cloneMethod'](globalAdapter,swan,'showKeyboard'),utils['cloneMethod'](globalAdapter,swan,'hideKeyboard'),utils['cloneMethod'](globalAdapter,swan,'updateKeyboard'),utils['cloneMethod'](globalAdapter,swan,'onKeyboardInput'),utils['cloneMethod'](globalAdapter,swan,'onKeyboardConfirm'),utils['cloneMethod'](globalAdapter,swan,'onKeyboardComplete'),utils['cloneMethod'](globalAdapter,swan,'offKeyboardInput'),utils['cloneMethod'](globalAdapter,swan,'offKeyboardConfirm'),utils['cloneMethod'](globalAdapter,swan,'offKeyboardComplete'),utils['cloneMethod'](globalAdapter,swan,'getOpenDataContext'),utils['cloneMethod'](globalAdapter,swan,'onMessage'),utils['cloneMethod'](globalAdapter,swan,'loadSubpackage'),utils['cloneMethod'](globalAdapter,swan,'getSharedCanvas'),utils['cloneMethod'](globalAdapter,swan,'loadFont'),utils['cloneMethod'](globalAdapter,swan,'onShow'),utils['cloneMethod'](globalAdapter,swan,'onHide');var isAccelerometerInit=![],deviceOrientation=0x1;swan['onDeviceOrientationChange']&&swan['onDeviceOrientationChange'](function(a){if(a['value']==='landscape')deviceOrientation=0x1;else a['value']==='landscapeReverse'&&(deviceOrientation=-0x1);}),Object['assign'](globalAdapter,{'startAccelerometer':function startAccelerometer(a){!isAccelerometerInit?(isAccelerometerInit=!![],swan['onAccelerometerChange']&&swan['onAccelerometerChange'](function(b){var c={},d=b['x'],e=b['y'];if(isLandscape){var f=d;d=-e,e=f;}c['x']=d*deviceOrientation,c['y']=e*deviceOrientation,c['z']=b['z'],a&&a(c);})):swan['startAccelerometer']&&swan['startAccelerometer']({'fail':function b(c){console['error']('start\x20accelerometer\x20failed',c);}});},'stopAccelerometer':function stopAccelerometer(){swan['stopAccelerometer']&&swan['stopAccelerometer']({'fail':function a(b){console['error']('stop\x20accelerometer\x20failed',b);}});}});} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/utils.js +new file mode 100644 +index 0000000..f6723a5 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/baidu/libs/wrapper/utils.js +@@ -0,0 +1 @@ ++'use strict';var utils={'cloneMethod':function cloneMethod(a,b,c,d){b[c]&&(d=d||c,a[d]=b[c]['bind'](b));}};module['exports']=utils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/engine-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/engine-adapter.js +deleted file mode 100644 +index f99c77c..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/engine-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x0?setTimeout(N,J['deleteInterval']):u=![];}setTimeout(N,J['deleteInterval']);});},'removeCache':function I(J){if(this['cachedFiles']['has'](J)){var K=this,L=this['cachedFiles']['remove'](J)['url'];clearTimeout(q),q=null,this['writeCacheFile'](function(){K['_removePathOrFile'](J,L);});}},'_removePathOrFile':function J(K,L){this['_isZipFile'](K)?this['_isZipFile'](L)?l(L,this['_deleteFileCB']['bind'](this)):(m(L,!![]),this['_deleteFileCB']()):l(L,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function K(L){if(!L)this['outOfStorage']=![];},'makeBundleFolder':function L(M){g(''['concat'](this['cacheDir'],'/')['concat'](M),!![]);},'unzipAndCacheBundle':function M(N,O,P,Q){var R=Date['now']()['toString'](),S=''['concat'](this['cacheDir'],'/')['concat'](P,'/')['concat'](R)['concat'](v++),T=this;g(S,!![]),n(O,S,function(U){if(U){m(S,!![]);o(U['message'])&&(T['outOfStorage']=!![],T['autoClear']&&T['clearLRU']());Q&&Q(U);return;}T['cachedFiles']['add'](N,{'bundle':P,'url':S,'lastTime':R}),T['writeCacheFile'](),Q&&Q(null,S);});},'_isZipFile':function N(O){return O['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=x;},{}],0x4:[function(a,b,c){'use strict';a('./Editbox'),a('./AssetManager');},{'./AssetManager':0x1,'./Editbox':0x2}],0x5:[function(a,b,c){'use strict';if(cc&&cc['Label']){var d=cc['Label'],e=document['createElement']('canvas'),f=e['getContext']('2d'),g={'canvas':e,'context':f};cc['game']['on'](cc['Game']['EVENT_ENGINE_INITED'],function(){Object['assign'](d['_canvasPool'],{'get':function h(){return g;},'put':function i(){}});});}},{}],0x6:[function(a,b,c){'use strict';function d(x){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(y){return typeof y;}:function(y){return y&&'function'==typeof Symbol&&y['constructor']===Symbol&&y!==Symbol['prototype']?'symbol':typeof y;},d(x);}function e(x,y){if(!(x instanceof y))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(x,y){for(var z=0x0;z{var at=!0x1,au=!0x1;return!ar['startsWith'](V())&&X['test'](ar)?as['reload']||((as=G['cachedFiles']['get'](ar))?(au=!0x0,ar=as['url']):(as=G['tempFiles']['get'](ar))&&(at=!0x0,ar=as)):at=!0x0,{'url':ar,'inLocal':at,'inCache':au};})(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):K(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a5(al,am,an){N(al,an);}function a6(al,am,an){L(al,an);}function a7(al,am,an){Q(al,an);}function a8(al,am,an){a4(al,a7,am,am['onFileProgress'],an);}function a9(al,am,an){an(null,__globalAdapter['loadFont'](al)||'Arial');}function aa(al,am,an){W(al,function(ao){ao?an(null,al):an(new Error('file\x20'['concat'](al,'\x20does\x20not\x20exist!')));});}function ab(al,am,an){a4(al,aa,am,am['onFileProgress'],an);}a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']&&(j=globalThis['__taobaoRequire']);function ac(al,am,an){N(al,function(ao,ap){ao?an(ao):ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){ao?an(ao):ah(ap,am,an);});}function ae(al,am,an){N(al,function(ao,ap){ao?an(ao):ai(ap,am,an);});}function af(al,am,an){L(al,function(ao,ap){ao?an(ao):aj(ap,am,an);});}var ag=H['parsePVRTex'],ah=H['parsePKMTex'],ai=H['parseASTCTex'],aj=H['parsePlist'];Y['downloadScript']=a2,Y['_downloadArrayBuffer']=function(al,am,an){a4(al,a5,am,am['onFileProgress'],an);},Y['_downloadJson']=a8,H['parsePVRTex']=ac,H['parsePKMTex']=ad,H['parseASTCTex']=ae,H['parsePlist']=af,Y['register']({'.js':a2,'.mp3':ab,'.ogg':ab,'.wav':ab,'.m4a':ab,'.png':ab,'.jpg':ab,'.bmp':ab,'.jpeg':ab,'.gif':ab,'.ico':ab,'.tiff':ab,'.image':ab,'.webp':ab,'.pvr':ab,'.pkm':ab,'.astc':ab,'.font':ab,'.eot':ab,'.ttf':ab,'.woff':ab,'.svg':ab,'.ttc':ab,'.txt':ab,'.xml':ab,'.vsh':ab,'.fsh':ab,'.atlas':ab,'.tmx':ab,'.tsx':ab,'.plist':ab,'.fnt':ab,'.json':a8,'.ExportJson':ab,'.binary':ab,'.bin':ab,'.dbbin':ab,'.skel':ab,'.mp4':ab,'.avi':ab,'.mov':ab,'.mpg':ab,'.mpeg':ab,'.rm':ab,'.rmvb':ab,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';a0[ar]?(ao=(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?'':'subpackages/')['concat'](ar,'/config.')['concat'](as,'json'),U(ar,am['onFileProgress'],function(at){at?an(at,null):a8(ao,am,function(au,av){var aw;(aw=av)&&(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?aw['base']=''['concat'](ar,'/'):aw['base']='subpackages/'['concat'](ar,'/')),an(au,av);});})):(X['test'](al)||al['startsWith'](V())?(aq=al,ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==Y['remoteBundles']['indexOf'](ar)?(aq=''['concat'](Y['remoteServerAddress'],'remote/')['concat'](ar),ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(aq='assets/'['concat'](ar),ap='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?j(ap):a1['platform']!==a1['Platform']['TAOBAO_CREATIVE_APP']&&j('./'['concat'](ap)),am['__cacheBundleRoot__']=ar,a8(''['concat'](aq,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](aq,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),a1['platform']===a1['Platform']['ALIPAY_MINI_GAME']&&a1['os']===a1['OS']['ANDROID']&&(ay=''['concat'](az,'res/'),J['accessSync']({'path':ay})['success'])&&(au['base']=ay),an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):X['test'](av)?K(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](aq,'/'),an&&an(null,au));}));},'default':function(al,am,an){a4(al,a6,am,am['onFileProgress'],an);}}),H['register']({'.png':Y['downloadDomImage'],'.jpg':Y['downloadDomImage'],'.bmp':Y['downloadDomImage'],'.jpeg':Y['downloadDomImage'],'.gif':Y['downloadDomImage'],'.ico':Y['downloadDomImage'],'.tiff':Y['downloadDomImage'],'.image':Y['downloadDomImage'],'.webp':Y['downloadDomImage'],'.pvr':ac,'.pkm':ad,'.astc':ae,'.font':a9,'.eot':a9,'.ttf':a9,'.woff':a9,'.svg':a9,'.ttc':a9,'.mp3':a3,'.ogg':a3,'.wav':a3,'.m4a':a3,'.txt':a6,'.xml':a6,'.vsh':a6,'.fsh':a6,'.atlas':a6,'.tmx':a6,'.tsx':a6,'.fnt':a6,'.plist':af,'.binary':a5,'.bin':a5,'.dbbin':a5,'.skel':a5,'.ExportJson':a7}),cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';default:return'done';}})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){__globalAdapter['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x3:[function(j,k,q){var x=window['fsUtils'],z=x['getUserDataPath'],A=x['readJsonSync'],B=x['makeDirSync'],C=x['writeFileSync'],D=x['writeFile'],F=x['copyFile'],G=x['downloadFile'],H=x['deleteFile'],I=x['rmdirSync'],J=x['unzip'],K=x['isOutOfStorage'],L=!0x1,M=null,N=!0x1,O=[],P=[],Q=!0x1,R=0x0,S=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=k['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(T){return this['cachedFiles']['has'](T)?this['cachedFiles']['get'](T)['url']:'';},'getTemp':function(T){return this['tempFiles']['has'](T)?this['tempFiles']['get'](T):'';},'init':function(){this['cacheDir']=''['concat'](z(),'/')['concat'](this['cacheDir']);var T=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),U=A(T);U instanceof Error||!U['version']?(U instanceof Error||I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),C(T,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](U['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(T){this['cachedFiles']['has'](T)&&(this['cachedFiles']['get'](T)['lastTime']=Date['now']());},'_write':function(){N=!(M=null),D(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8',function(){N=!0x1;for(var T=0x0,U=P['length'];T{var Y=V['cacheQueue'][X],Z=Y['srcUrl'],a0=Y['isCopy'],a1=Y['cacheBundleRoot'],a2=Date['now']()['toString'](),a3='';function a4(a5){if(L=!0x1,a5){if(K(a5['message']))return W['outOfStorage']=!0x0,void(W['autoClear']&&W['clearLRU']());}else W['cachedFiles']['add'](X,{'bundle':a1,'url':a3,'lastTime':a2}),delete W['cacheQueue'][X],W['writeCacheFile']();cc['js']['isEmptyObject'](W['cacheQueue'])||(L=!0x0,setTimeout(W['_cache']['bind'](W),W['cacheInterval']));}return a3=(a1?''['concat'](V['cacheDir'],'/')['concat'](a1,'/'):''['concat'](V['cacheDir'],'/'))['concat'](a2)['concat'](R++)['concat'](cc['path']['extname'](X)),a0?F(Z,a3,a4):G(Z,a3,null,a4),{'v':void 0x0};})(U))return T['v'];L=!0x1;},'cacheFile':function(T,U,V,W,X){!(V=void 0x0!==V?V:this['cacheEnabled'])||this['cacheQueue'][T]||this['cachedFiles']['has'](T)||(this['cacheQueue'][T]={'srcUrl':U,'cacheBundleRoot':W,'isCopy':X},L)||(L=!0x0,this['outOfStorage']?L=!0x1:setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var T=this,U=(I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),this['cacheDir']+'/'+this['cachedFileName']);this['outOfStorage']=!0x1,clearTimeout(M),M=null,C(U,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8'),cc['assetManager']['bundles']['forEach'](function(V){S['test'](V['base'])&&T['makeBundleFolder'](V['name']);});},'clearLRU':function(){if(!Q){Q=!0x0;var T=[],U=this;this['cachedFiles']['forEach'](function(Y,Z){U['_isZipFile'](Z)&&cc['assetManager']['bundles']['find'](function(a0){return-0x1!==a0['base']['indexOf'](Y['url']);})||T['push']({'originUrl':Z,'url':Y['url'],'lastTime':Y['lastTime']});}),T['sort'](function(Y,Z){return Y['lastTime']-Z['lastTime'];}),T['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):T['length']=Math['floor'](T['length']/0x3);for(var V=0x0,W=T['length'];V(C=((D,E)=>{if('object'!=h(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=h(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==h(C)?C:C+''))(B['key']),B);}}function k(y,z,A){z=p(z);var B=y,z=m()?Reflect['construct'](z,A||[],p(y)['constructor']):z['apply'](y,A);if(!z||'object'!=h(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function m(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(m=function(){return!!y;})();}function p(y){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function q(y,z){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}var v,w,x;cc['internal']['VideoPlayer']&&(v=cc['internal']['VideoPlayer']['EventType'],w=cc['Vec3'],cc['mat4'](),new w(),new w(),tt['getSystemInfoSync']()['pixelRatio'],cc['internal']['VideoPlayerImplManager']['getImpl']=function(y){return new x(y);},x=(y=>{function z(C){if(this instanceof z)return(C=k(this,z,[C]))['videoNode']=new cc['Node'](),C['videoNode']['addComponent'](cc['Sprite']),C['videoNode']['layer']=C['_node']['layer'],C['_node']['insertChild'](C['videoNode'],0x0),C;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var A,B=z;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),y&&q(B,y),B=z,(y=[{'key':'syncClip','value':function(C){this['removeVideoPlayer'](),C&&this['createVideoPlayer'](C['_nativeAsset']);}},{'key':'syncURL','value':function(C){this['removeVideoPlayer'](),C&&this['createVideoPlayer'](C);}},{'key':'onCanplay','value':function(){this['_loaded']||(this['_loaded']=!0x0,this['setVisible'](this['_visible']),this['dispatchEvent'](v['READY_TO_PLAY']),this['delayedPlay']());}},{'key':'_bindEvent','value':function(){var C=this,D=this['_video'],E=this;D&&(D['onCanplay'](function(){if(E['_video']===D){E['_loaded']=!0x0,E['_playing']=!0x0;try{E['setVisible'](E['_visible']),E['dispatchEvent'](v['READY_TO_PLAY']),D['play'](),C['videoTexture']=new cc['Texture2D'](),C['videoTexture']['reset']({'width':D['width'],'height':D['height'],'format':cc['Texture2D']['PixelFormat']['RGBA8888']});var F=C['videoNode']['getComponent'](cc['Sprite']),G=new cc['SpriteFrame']();G['texture']=C['videoTexture'],F['spriteFrame']=G;}catch(H){console['error']('Video\x20playback\x20error:',H);}}}),D['onPlay'](function(){E['_video']===D&&(E['_playing']=!0x0,E['dispatchEvent'](v['PLAYING']));}),D['onEnded'](function(){E['_video']===D&&(E['_playing']=!0x1,E['_currentTime']=E['_duration'],E['dispatchEvent'](v['COMPLETED']));}),D['onPause'](function(){E['_video']===D&&(E['_playing']=!0x1,E['dispatchEvent'](v['PAUSED']));}),D['onTimeUpdate'](function(F){E['_duration']=F['duration'],E['_currentTime']=F['position'];}),D['onStop'](function(){E['_video']===D&&(E['_playing']=!0x1,E['dispatchEvent'](v['STOPPED']));}));}},{'key':'_unbindEvent','value':function(){var C=this['_video'];C&&(C['offPlay'](),C['offEnded'](),C['offPause'](),C['offTimeUpdate'](),C['offStop']());}},{'key':'createVideoPlayer','value':function(C){tt['createVideo']?(this['_video']||(this['_video']=tt['createOffscreenVideo'](),this['_duration']=0x0,this['_currentTime']=0x0,this['_loaded']=!0x1,this['setVisible'](this['_visible']),this['_bindEvent'](),this['_forceUpdate']=!0x0),this['setURL'](C),this['_forceUpdate']=!0x0):console['warn']('VideoPlayer\x20not\x20supported');}},{'key':'setURL','value':function(C){var D=this,E=D['_video'];E&&E['src']!==C&&(D['_playing']&&E['stop'](),D['_unbindEvent'](),E['autoplay']=!0x0,E['src']=C,E['muted']=!0x0,D['_loaded']=!0x1,E['onPlay'](function(){D['_bindEvent'](),E['muted']=!0x1,D['_loaded']=!0x0,D['dispatchEvent'](v['READY_TO_PLAY']);}),E['onEnded'](function(){E['offPlay'](),E['stop'](),D['_playing']=!0x1,D['_currentTime']=0x0,D['dispatchEvent'](v['COMPLETED']);}));}},{'key':'removeVideoPlayer','value':function(){var C=this['video'];C&&(C['stop'](),C['destroy'](),this['_playing']=!0x1,this['_loaded']=!0x1,this['_loadedMeta']=!0x1,this['_ignorePause']=!0x1,this['_cachedCurrentTime']=0x0,this['_video']=null);}},{'key':'setVisible','value':function(C){var D=this['_video'];D&&this['_visible']!==C&&(D['width']=C&&this['_actualWidth']||0x0,this['_visible']=C);}},{'key':'getDuration','value':function(){return this['duration']();}},{'key':'duration','value':function(){return this['_duration'];}},{'key':'syncPlaybackRate','value':function(C){var D=this['_video'];D&&C!==D['playbackRate']&&(0.5===C|0.8===C|0x1===C|1.25===C|1.5===C?D['playbackRate']=C:console['warn']('The\x20platform\x20does\x20not\x20support\x20this\x20PlaybackRate!'));}},{'key':'syncVolume','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'syncMute','value':function(C){var D=this['_video'];D&&D['muted']!==C&&(D['muted']=C);}},{'key':'syncLoop','value':function(C){var D=this['_video'];D&&D['loop']!==C&&(D['loop']=C);}},{'key':'syncStayOnBottom','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'getCurrentTime','value':function(){return this['video']?this['currentTime']():-0x1;}},{'key':'currentTime','value':function(){return this['_currentTime'];}},{'key':'seekTo','value':function(C){var D=this['_video'];D&&this['_loaded']&&D['seek'](C);}},{'key':'disable','value':function(C){this['_video']&&(C||this['_video']['pause'](),this['setVisible'](!0x1),this['_visible']=!0x1);}},{'key':'enable','value':function(){this['_video']&&(this['setVisible'](!0x0),this['_visible']=!0x0);}},{'key':'canPlay','value':function(){this['_playing']=!0x0,this['_video']['play'](),this['syncCurrentTime']();}},{'key':'resume','value':function(){var C=this['_video'];!this['_playing']&&C&&C['play']();}},{'key':'pause','value':function(){var C=this['_video'];this['_playing']&&C&&C['pause']();}},{'key':'stop','value':function(){var C=this,D=this['_video'];D&&this['_visible']&&D['stop']()['then'](function(E){E['errMsg']&&!E['errMsg']['includes']('ok')?console['error']('failed\x20to\x20stop\x20video\x20player'):(C['_currentTime']=0x0,C['_playing']=!0x1,C['dispatchEvent'](v['STOPPED']));});}},{'key':'canFullScreen','value':function(C){this['_video']&&this['setFullScreenEnabled'](C);}},{'key':'setFullScreenEnabled','value':function(C){var D=this['_video'];D&&this['_fullScreenEnabled']!==C&&(C?D['requestFullScreen']():D['exitFullScreen'](),this['_fullScreenEnabled']=C);}},{'key':'syncKeepAspectRatio','value':function(C){console['warn']('On\x20bytedance\x20game\x20videoPlayer\x20is\x20always\x20keep\x20the\x20aspect\x20ratio');}},{'key':'syncMatrix','value':function(){this['videoTexture']&&this['videoTexture']['uploadData'](this['video']);}}])&&j(B['prototype'],y),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})(cc['internal']['VideoPlayerImpl']));},{}],0x7:[function(a,b,c){a('../fs-utils'),a('../../../../common/engine/index'),a('./VideoPlayer'),a('./Label');},{'../../../../common/engine/index':0x4,'../fs-utils':0x8,'./Label':0x5,'./VideoPlayer':0x6}],0x8:[function(b,c,d){var f=tt['getFileSystemManager']?tt['getFileSystemManager']():null,g=/size.*limit.*exceeded/,h={'fs':f,'isOutOfStorage':function(j){return g['test'](j);},'getUserDataPath':function(){return tt['env']['USER_DATA_PATH'];},'checkFsValid':function(){return!!f||(console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),!0x1);},'deleteFile':function(j,k){f['unlink']({'filePath':j,'success':function(){k&&k(null);},'fail':function(l){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['errMsg'])),k&&k(new Error(l['errMsg']));}});},'downloadFile':function(j,k,l,m,p){var q={'url':j,'success':function(s){0xc8===s['statusCode']?p&&p(null,s['tempFilePath']||s['filePath']):(s['filePath']&&h['deleteFile'](s['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](s['statusCode'])),p&&p(new Error(s['statusCode']),null));},'fail':function(s){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']),null);}},k=(k&&(q['filePath']=k),l&&(q['header']=l),tt['downloadFile'](q));m&&k['onProgressUpdate'](m);},'saveFile':function(j,k,l){tt['saveFile']({'tempFilePath':j,'filePath':k,'success':function(){l&&l(null);},'fail':function(m){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errMsg'])),l&&l(new Error(m['errMsg']));}});},'copyFile':function(j,k,l){f['copyFile']({'srcPath':j,'destPath':k,'success':function(){l&&l(null);},'fail':function(m){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errMsg'])),l&&l(new Error(m['errMsg']));}});},'writeFile':function(j,k,l,m){f['writeFile']({'filePath':j,'encoding':l,'data':k,'success':function(){m&&m(null);},'fail':function(p){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](p['errMsg'])),m&&m(new Error(p['errMsg']));}});},'writeFileSync':function(j,k,l){try{return f['writeFileSync'](j,k,l),null;}catch(m){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['message'])),new Error(m['message']);}},'readFile':function(j,k,l){f['readFile']({'filePath':j,'encoding':k,'success':function(m){l&&l(null,m['data']);},'fail':function(m){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errMsg'])),l&&l(new Error(m['errMsg']),null);}});},'readDir':function(j,k){f['readdir']({'dirPath':j,'success':function(l){k&&k(null,l['files']);},'fail':function(l){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['errMsg'])),k&&k(new Error(l['errMsg']),null);}});},'readText':function(j,k){h['readFile'](j,'utf8',k);},'readArrayBuffer':function(j,k){h['readFile'](j,void 0x0,k);},'readJson':function(j,k){h['readFile'](j,'utf8',function(l,m){var p=null;if(!l)try{p=JSON['parse'](m);}catch(q){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](q['message'])),l=new Error(q['message']);}k&&k(l,p);});},'readJsonSync':function(j){try{var k=f['readFileSync'](j,'utf8');return JSON['parse'](k);}catch(l){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'makeDirSync':function(j,k){try{return f['mkdirSync'](j,k),null;}catch(l){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'rmdirSync':function(j,k){try{return f['rmdirSync'](j,k),null;}catch(l){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'exists':function(j,k){f['access']({'path':j,'success':function(){k&&k(!0x0);},'fail':function(){k&&k(!0x1);}});},'loadSubpackage':function(j,k,l){var m;return tt['loadSubpackage']?(m=tt['loadSubpackage']({'name':j,'success':function(){l&&l();},'fail':function(p){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](p['errMsg'])),l&&l(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](j,':\x20')['concat'](p['errMsg'])));}}),k&&m['onProgressUpdate'](k),m):(console['warn']('tt.loadSubpackage\x20not\x20supported,\x20fallback\x20to\x20loading\x20bundle'),b('subpackages/'['concat'](j,'/game.js')),l&&l(),null);},'unzip':function(j,k,l){f['unzip']({'zipFilePath':j,'targetPath':k,'success':function(){l&&l(null);},'fail':function(m){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errMsg'])),l&&l(new Error('unzip\x20failed:\x20'['concat'](m['errMsg'])));}});}};window['fsUtils']=c['exports']=h;},{}]},{},[0x7]); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/cache-manager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/cache-manager.js +new file mode 100644 +index 0000000..b1f090d +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/cache-manager.js +@@ -0,0 +1 @@ ++'use strict';var _window$fsUtils=window['fsUtils'],getUserDataPath=_window$fsUtils['getUserDataPath'],readJsonSync=_window$fsUtils['readJsonSync'],makeDirSync=_window$fsUtils['makeDirSync'],writeFileSync=_window$fsUtils['writeFileSync'],copyFile=_window$fsUtils['copyFile'],downloadFile=_window$fsUtils['downloadFile'],deleteFile=_window$fsUtils['deleteFile'],rmdirSync=_window$fsUtils['rmdirSync'],unzip=_window$fsUtils['unzip'],isOutOfStorage=_window$fsUtils['isOutOfStorage'],checkNextPeriod=![],writeCacheFileList=null,cleaning=![],suffix=0x0,REGEX=/^https?:\/\/.*/,cacheManager={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!![],'autoClear':!![],'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':![],'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function getCache(a){return this['cachedFiles']['has'](a)?this['cachedFiles']['get'](a)['url']:'';},'getTemp':function getTemp(a){return this['tempFiles']['has'](a)?this['tempFiles']['get'](a):'';},'init':function init(){this['cacheDir']=getUserDataPath()+'/'+this['cacheDir'];var a=this['cacheDir']+'/'+this['cachedFileName'],b=readJsonSync(a);if(b instanceof Error||!b['version']){if(!(b instanceof Error))rmdirSync(this['cacheDir'],!![]);this['cachedFiles']=new cc['AssetManager']['Cache'](),makeDirSync(this['cacheDir'],!![]),writeFileSync(a,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');}else this['cachedFiles']=new cc['AssetManager']['Cache'](b['files']);this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function updateLastTime(a){if(this['cachedFiles']['has'](a)){var b=this['cachedFiles']['get'](a);b['lastTime']=Date['now']();}},'_write':function _write(){writeCacheFileList=null,writeFileSync(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');},'writeCacheFile':function writeCacheFile(){!writeCacheFileList&&(writeCacheFileList=setTimeout(this['_write']['bind'](this),this['writeFileInterval']));},'_cache':function _cache(){checkNextPeriod=![];var a=this,b='';for(var c in this['cacheQueue']){b=c;break;}if(!b)return;var d=this['cacheQueue'][b],e=d['srcUrl'],f=d['isCopy'],g=d['cacheBundleRoot'],h=Date['now']()['toString'](),i='';g?i=''['concat'](this['cacheDir'],'/')['concat'](g,'/')['concat'](h)['concat'](suffix++)['concat'](cc['path']['extname'](b)):i=''['concat'](this['cacheDir'],'/')['concat'](h)['concat'](suffix++)['concat'](cc['path']['extname'](b));function j(k){if(k){if(isOutOfStorage(k['message'])){a['outOfStorage']=!![],a['autoClear']&&a['clearLRU']();return;}}else a['cachedFiles']['add'](b,{'bundle':g,'url':i,'lastTime':h}),a['writeCacheFile']();delete a['cacheQueue'][b],!cc['js']['isEmptyObject'](a['cacheQueue'])&&!checkNextPeriod&&(checkNextPeriod=!![],setTimeout(a['_cache']['bind'](a),a['cacheInterval']));}!f?downloadFile(e,i,null,j):copyFile(e,i,j);},'cacheFile':function cacheFile(a,b,c,d,e){c=c!==undefined?c:this['cacheEnabled'];if(!c||this['cacheQueue'][a]||this['cachedFiles']['has'](a))return;this['cacheQueue'][a]={'srcUrl':b,'cacheBundleRoot':d,'isCopy':e},!checkNextPeriod&&!this['outOfStorage']&&(checkNextPeriod=!![],setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function clearCache(){var a=this;rmdirSync(this['cacheDir'],!![]),this['cachedFiles']=new cc['AssetManager']['Cache'](),makeDirSync(this['cacheDir'],!![]),this['outOfStorage']=![],clearTimeout(writeCacheFileList),this['_write'](),cc['assetManager']['bundles']['forEach'](function(b){if(REGEX['test'](b['base']))a['makeBundleFolder'](b['name']);});},'clearLRU':function clearLRU(){if(cleaning)return;cleaning=!![];var a=[],b=this;this['cachedFiles']['forEach'](function(f,g){if(b['_isZipFile'](g)&&cc['assetManager']['bundles']['find'](function(h){return h['base']['indexOf'](f['url'])!==-0x1;}))return;a['push']({'originUrl':g,'url':f['url'],'lastTime':f['lastTime']});}),a['sort'](function(f,g){return f['lastTime']-g['lastTime'];}),a['length']=Math['floor'](this['cachedFiles']['count']/0x3);if(a['length']===0x0)return;for(var c=0x0,d=a['length'];c0x0?setTimeout(e,b['deleteInterval']):cleaning=![];}setTimeout(e,b['deleteInterval']);},'removeCache':function removeCache(a){if(this['cachedFiles']['has'](a)){var b=this['cachedFiles']['remove'](a)['url'];clearTimeout(writeCacheFileList),this['_write'](),this['_isZipFile'](a)?(rmdirSync(b,!![]),this['_deleteFileCB']()):deleteFile(b,this['_deleteFileCB']['bind'](this));}},'_deleteFileCB':function _deleteFileCB(a){if(!a)this['outOfStorage']=![];},'makeBundleFolder':function makeBundleFolder(a){makeDirSync(this['cacheDir']+'/'+a,!![]);},'unzipAndCacheBundle':function unzipAndCacheBundle(a,b,c,d){var e=Date['now']()['toString'](),f=''['concat'](this['cacheDir'],'/')['concat'](c,'/')['concat'](e)['concat'](suffix++),g=this;makeDirSync(f,!![]),unzip(b,f,function(h){if(h){rmdirSync(f,!![]);isOutOfStorage(h['message'])&&(g['outOfStorage']=!![],g['autoClear']&&g['clearLRU']());d&&d(h);return;}g['cachedFiles']['add'](a,{'bundle':c,'url':f,'lastTime':e}),g['writeCacheFile'](),d&&d(null,f);});},'_isZipFile':function _isZipFile(a){return a['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=module['exports']=cacheManager; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/engine/AssetManager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/engine/AssetManager.js +new file mode 100644 +index 0000000..b6ad0d0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/engine/AssetManager.js +@@ -0,0 +1 @@ ++'use strict';var cacheManager=require('../cache-manager'),_window$fsUtils=window['fsUtils'],fs=_window$fsUtils['fs'],downloadFile=_window$fsUtils['downloadFile'],readText=_window$fsUtils['readText'],readArrayBuffer=_window$fsUtils['readArrayBuffer'],readJson=_window$fsUtils['readJson'],loadSubpackage=_window$fsUtils['loadSubpackage'],getUserDataPath=_window$fsUtils['getUserDataPath'],exists=_window$fsUtils['exists'],REGEX=/^https?:\/\/.*/,downloader=cc['assetManager']['downloader'],parser=cc['assetManager']['parser'],presets=cc['assetManager']['presets'];downloader['maxConcurrency']=0x8,downloader['maxRequestsPerFrame']=0x40,presets['scene']['maxConcurrency']=0xa,presets['scene']['maxRequestsPerFrame']=0x40;var subpackages={};function downloadScript(a,b,c){REGEX['test'](a)?c&&c(new Error('Can\x20not\x20load\x20remote\x20scripts')):(require('../../../'+a),c&&c(null));}function handleZip(a,b,c){var d=cacheManager['cachedFiles']['get'](a);if(d)cacheManager['updateLastTime'](a),c&&c(null,d['url']);else REGEX['test'](a)?downloadFile(a,null,b['header'],b['onFileProgress'],function(e,f){if(e){c&&c(e);return;}cacheManager['unzipAndCacheBundle'](a,f,b['__cacheBundleRoot__'],c);}):cacheManager['unzipAndCacheBundle'](a,a,b['__cacheBundleRoot__'],c);}function loadInnerAudioContext(a){return new Promise(function(b,c){var d=__globalAdapter['createInnerAudioContext'](),e=setTimeout(function(){f(),b(d);},0x1f40);function f(){d['offCanplay'](g),d['offError'](h);}function g(){f(),clearTimeout(e),b(d);}function h(){f(),clearTimeout(e),c('failed\x20to\x20load\x20innerAudioContext:\x20'+err);}d['onCanplay'](g),d['onError'](h),d['src']=a;});}function loadAudioPlayer(a,b,c){cc['AudioPlayer']['load'](a)['then'](function(d){var e={'url':a,'duration':d['duration'],'type':d['type']};d['destroy'](),c(null,e);})['catch'](function(d){c(d);});}function download(a,b,c,d,e){var f=transformUrl(a,c);if(f['inLocal'])b(f['url'],c,e);else f['inCache']?(cacheManager['updateLastTime'](a),b(f['url'],c,function(g,h){g&&cacheManager['removeCache'](a),e(g,h);})):downloadFile(a,null,c['header'],d,function(g,h){if(g){e(g,null);return;}b(h,c,function(i,j){!i&&(cacheManager['tempFiles']['add'](a,h),cacheManager['cacheFile'](a,h,c['cacheEnabled'],c['__cacheBundleRoot__'],!![])),e(i,j);});});}function parseArrayBuffer(a,b,c){readArrayBuffer(a,c);}function parseText(a,b,c){readText(a,c);}function parseJson(a,b,c){readJson(a,c);}function downloadText(a,b,c){download(a,parseText,b,b['onFileProgress'],c);}function downloadJson(a,b,c){download(a,parseJson,b,b['onFileProgress'],c);}function loadFont(a,b,c){var d=__globalAdapter['loadFont'](a);c(null,d||'Arial');}function doNothing(a,b,c){exists(a,function(d){d?c(null,a):c(new Error('file\x20'['concat'](a,'\x20does\x20not\x20exist!')));});}function downloadAsset(a,b,c){download(a,doNothing,b,b['onFileProgress'],c);}function downloadBundle(a,b,c){var d=cc['path']['basename'](a),e=b['version']||cc['assetManager']['downloader']['bundleVers'][d],f=e?e+'.':'';if(subpackages[d]){var g='subpackages/'['concat'](d,'/config.')['concat'](f,'json');loadSubpackage(d,b['onFileProgress'],function(j){if(j){c(j,null);return;}downloadJson(g,b,function(k,l){l&&(l['base']='subpackages/'['concat'](d,'/')),c(k,l);});});}else{var h,i;REGEX['test'](a)||a['startsWith'](getUserDataPath())?(i=a,h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):downloader['remoteBundles']['indexOf'](d)!==-0x1?(i=''['concat'](downloader['remoteServerAddress'],'remote/')['concat'](d),h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):(i='assets/'['concat'](d),h='assets/'['concat'](d,'/index.')['concat'](f,'js'));require('../../../'+h),b['__cacheBundleRoot__']=d;var g=''['concat'](i,'/config.')['concat'](f,'json');downloadJson(g,b,function(j,k){if(j){c&&c(j);return;}if(k['isZip']){var l=k['zipVersion'],m=''['concat'](i,'/res.')['concat'](l?l+'.':'','zip');handleZip(m,b,function(n,o){if(n){c&&c(n);return;}k['base']=o+'/res/';var p=cc['sys'];if(p['platform']===p['ALIPAY_MINI_GAME']&&p['os']===p['OS_ANDROID']){var q=o+'res/';fs['accessSync']({'path':q})&&(k['base']=q);}c&&c(null,k);});}else k['base']=i+'/',c&&c(null,k);});}};var originParsePVRTex=parser['parsePVRTex'],parsePVRTex=function parsePVRTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePVRTex(e,b,c);});},originParsePKMTex=parser['parsePKMTex'],parsePKMTex=function parsePKMTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePKMTex(e,b,c);});},originParseASTCTex=parser['parseASTCTex'],parseASTCTex=function parseASTCTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParseASTCTex(e,b,c);});},originParsePlist=parser['parsePlist'],parsePlist=function parsePlist(a,b,c){readText(a,function(d,e){if(d)return c(d);originParsePlist(e,b,c);});};downloader['downloadScript']=downloadScript,parser['parsePVRTex']=parsePVRTex,parser['parsePKMTex']=parsePKMTex,parser['parseASTCTex']=parseASTCTex,parser['parsePlist']=parsePlist,downloader['register']({'.js':downloadScript,'.mp3':downloadAsset,'.ogg':downloadAsset,'.wav':downloadAsset,'.m4a':downloadAsset,'.png':downloadAsset,'.jpg':downloadAsset,'.bmp':downloadAsset,'.jpeg':downloadAsset,'.gif':downloadAsset,'.ico':downloadAsset,'.tiff':downloadAsset,'.image':downloadAsset,'.webp':downloadAsset,'.pvr':downloadAsset,'.pkm':downloadAsset,'.astc':downloadAsset,'.font':downloadAsset,'.eot':downloadAsset,'.ttf':downloadAsset,'.woff':downloadAsset,'.svg':downloadAsset,'.ttc':downloadAsset,'.txt':downloadAsset,'.xml':downloadAsset,'.vsh':downloadAsset,'.fsh':downloadAsset,'.atlas':downloadAsset,'.tmx':downloadAsset,'.tsx':downloadAsset,'.plist':downloadAsset,'.fnt':downloadAsset,'.json':downloadJson,'.ExportJson':downloadAsset,'.binary':downloadAsset,'.bin':downloadAsset,'.dbbin':downloadAsset,'.skel':downloadAsset,'.mp4':downloadAsset,'.avi':downloadAsset,'.mov':downloadAsset,'.mpg':downloadAsset,'.mpeg':downloadAsset,'.rm':downloadAsset,'.rmvb':downloadAsset,'bundle':downloadBundle,'default':downloadText}),parser['register']({'.png':downloader['downloadDomImage'],'.jpg':downloader['downloadDomImage'],'.bmp':downloader['downloadDomImage'],'.jpeg':downloader['downloadDomImage'],'.gif':downloader['downloadDomImage'],'.ico':downloader['downloadDomImage'],'.tiff':downloader['downloadDomImage'],'.image':downloader['downloadDomImage'],'.webp':downloader['downloadDomImage'],'.pvr':parsePVRTex,'.pkm':parsePKMTex,'.astc':parseASTCTex,'.font':loadFont,'.eot':loadFont,'.ttf':loadFont,'.woff':loadFont,'.svg':loadFont,'.ttc':loadFont,'.mp3':loadAudioPlayer,'.ogg':loadAudioPlayer,'.wav':loadAudioPlayer,'.m4a':loadAudioPlayer,'.txt':parseText,'.xml':parseText,'.vsh':parseText,'.fsh':parseText,'.atlas':parseText,'.tmx':parseText,'.tsx':parseText,'.fnt':parseText,'.plist':parsePlist,'.binary':parseArrayBuffer,'.bin':parseArrayBuffer,'.dbbin':parseArrayBuffer,'.skel':parseArrayBuffer,'.ExportJson':parseJson});function transformUrl(a,b){var c=![],d=![],e=a['startsWith'](getUserDataPath());if(e)c=!![];else{if(REGEX['test'](a)){if(!b['reload']){var f=cacheManager['cachedFiles']['get'](a);if(f)d=!![],a=f['url'];else{var g=cacheManager['tempFiles']['get'](a);g&&(c=!![],a=g);}}}else c=!![];}return{'url':a,'inLocal':c,'inCache':d};}cc['assetManager']['transformPipeline']['append'](function(a){var b=a['output']=a['input'];for(var c=0x0,d=b['length'];c','amp':'&','quot':'\x22','apos':'\x27'};return g&&e['setDocumentLocator'](g),d['errorHandler']=buildErrorHandler(f,e,g),d['domBuilder']=c['domBuilder']||e,i&&(h['']='http://www.w3.org/1999/xhtml'),h['xml']=h['xml']||'http://www.w3.org/XML/1998/namespace',a?d['parse'](a,h,j):d['errorHandler']['error']('invalid\x20doc\x20source'),e['doc'];};function buildErrorHandler(a,b,c){if(!a){if(b instanceof DOMHandler)return b;a=b;}var d={},e=a instanceof Function;c=c||{};function f(g){var h=a[g];!h&&e&&(h=a['length']==0x2?function(i){a(g,i);}:a),d[g]=h&&function(i){h('[xmldom\x20'+g+']\x09'+i+_locator(c));}||function(){};}return f('warning'),f('error'),f('fatalError'),d;}function DOMHandler(){this['cdata']=![];}function position(a,b){b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'];}DOMHandler['prototype']={'startDocument':function startDocument(){this['doc']=new DOMImplementation()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function startElement(a,b,c,d){var e=this['doc'],f=e['createElementNS'](a,c||b),g=d['length'];appendElement(this,f),this['currentElement']=f,this['locator']&&position(this['locator'],f);for(var h=0x0;h=b+c||b)return new java['lang']['String'](a,b,c)+'';return a;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(a){DOMHandler['prototype'][a]=function(){return null;};});function appendElement(a,b){!a['currentElement']?a['doc']['appendChild'](b):a['currentElement']['appendChild'](b);}var htmlEntity=require('./entities'),XMLReader=require('./sax')['XMLReader'],DOMImplementation=exports['DOMImplementation']=require('./dom')['DOMImplementation'];exports['XMLSerializer']=require('./dom')['XMLSerializer'],exports['DOMParser']=DOMParser; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/xmldom/dom.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/xmldom/dom.js +new file mode 100644 +index 0000000..4471f72 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/xmldom/dom.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function copy(a,b){for(var c in a){b[c]=a[c];}}function _extends(a,b){var c=a['prototype'];if(!(c instanceof b)){var d=function g(){};;d['prototype']=b['prototype'],d=new d();for(var f in c){d[f]=c[f];}a['prototype']=c=d;}c['constructor']!=a&&(typeof a!='function'&&console['error']('unknow\x20Class:'+a),c['constructor']=a);}var htmlns='http://www.w3.org/1999/xhtml',NodeType={},ELEMENT_NODE=NodeType['ELEMENT_NODE']=0x1,ATTRIBUTE_NODE=NodeType['ATTRIBUTE_NODE']=0x2,TEXT_NODE=NodeType['TEXT_NODE']=0x3,CDATA_SECTION_NODE=NodeType['CDATA_SECTION_NODE']=0x4,ENTITY_REFERENCE_NODE=NodeType['ENTITY_REFERENCE_NODE']=0x5,ENTITY_NODE=NodeType['ENTITY_NODE']=0x6,PROCESSING_INSTRUCTION_NODE=NodeType['PROCESSING_INSTRUCTION_NODE']=0x7,COMMENT_NODE=NodeType['COMMENT_NODE']=0x8,DOCUMENT_NODE=NodeType['DOCUMENT_NODE']=0x9,DOCUMENT_TYPE_NODE=NodeType['DOCUMENT_TYPE_NODE']=0xa,DOCUMENT_FRAGMENT_NODE=NodeType['DOCUMENT_FRAGMENT_NODE']=0xb,NOTATION_NODE=NodeType['NOTATION_NODE']=0xc,ExceptionCode={},ExceptionMessage={},INDEX_SIZE_ERR=ExceptionCode['INDEX_SIZE_ERR']=(ExceptionMessage[0x1]='Index\x20size\x20error',0x1),DOMSTRING_SIZE_ERR=ExceptionCode['DOMSTRING_SIZE_ERR']=(ExceptionMessage[0x2]='DOMString\x20size\x20error',0x2),HIERARCHY_REQUEST_ERR=ExceptionCode['HIERARCHY_REQUEST_ERR']=(ExceptionMessage[0x3]='Hierarchy\x20request\x20error',0x3),WRONG_DOCUMENT_ERR=ExceptionCode['WRONG_DOCUMENT_ERR']=(ExceptionMessage[0x4]='Wrong\x20document',0x4),INVALID_CHARACTER_ERR=ExceptionCode['INVALID_CHARACTER_ERR']=(ExceptionMessage[0x5]='Invalid\x20character',0x5),NO_DATA_ALLOWED_ERR=ExceptionCode['NO_DATA_ALLOWED_ERR']=(ExceptionMessage[0x6]='No\x20data\x20allowed',0x6),NO_MODIFICATION_ALLOWED_ERR=ExceptionCode['NO_MODIFICATION_ALLOWED_ERR']=(ExceptionMessage[0x7]='No\x20modification\x20allowed',0x7),NOT_FOUND_ERR=ExceptionCode['NOT_FOUND_ERR']=(ExceptionMessage[0x8]='Not\x20found',0x8),NOT_SUPPORTED_ERR=ExceptionCode['NOT_SUPPORTED_ERR']=(ExceptionMessage[0x9]='Not\x20supported',0x9),INUSE_ATTRIBUTE_ERR=ExceptionCode['INUSE_ATTRIBUTE_ERR']=(ExceptionMessage[0xa]='Attribute\x20in\x20use',0xa),INVALID_STATE_ERR=ExceptionCode['INVALID_STATE_ERR']=(ExceptionMessage[0xb]='Invalid\x20state',0xb),SYNTAX_ERR=ExceptionCode['SYNTAX_ERR']=(ExceptionMessage[0xc]='Syntax\x20error',0xc),INVALID_MODIFICATION_ERR=ExceptionCode['INVALID_MODIFICATION_ERR']=(ExceptionMessage[0xd]='Invalid\x20modification',0xd),NAMESPACE_ERR=ExceptionCode['NAMESPACE_ERR']=(ExceptionMessage[0xe]='Invalid\x20namespace',0xe),INVALID_ACCESS_ERR=ExceptionCode['INVALID_ACCESS_ERR']=(ExceptionMessage[0xf]='Invalid\x20access',0xf);function DOMException(a,b){if(b instanceof Error)var c=b;else{c=this,Error['call'](this,ExceptionMessage[a]),this['message']=ExceptionMessage[a];if(Error['captureStackTrace'])Error['captureStackTrace'](this,DOMException);}c['code']=a;if(b)this['message']=this['message']+':\x20'+b;return c;};DOMException['prototype']=Error['prototype'],copy(ExceptionCode,DOMException);function NodeList(){};NodeList['prototype']={'length':0x0,'item':function item(a){return this[a]||null;},'toString':function toString(a,b){for(var c=[],d=0x0;d=0x0){var f=b['length']-0x1;while(d0x0;},'lookupPrefix':function lookupPrefix(a){var b=this;while(b){var c=b['_nsMap'];if(c)for(var d in c){if(c[d]==a)return d;}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'lookupNamespaceURI':function lookupNamespaceURI(a){var b=this;while(b){var c=b['_nsMap'];if(c){if(a in c)return c[a];}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'isDefaultNamespace':function isDefaultNamespace(a){var b=this['lookupPrefix'](a);return b==null;}};function _xmlEncoder(a){return a=='<'&&'<'||a=='>'&&'>'||a=='&'&&'&'||a=='\x22'&&'"'||'&#'+a['charCodeAt']()+';';}copy(NodeType,Node),copy(NodeType,Node['prototype']);function _visitNode(a,b){if(b(a))return!![];if(a=a['firstChild'])do{if(_visitNode(a,b))return!![];}while(a=a['nextSibling']);}function Document(){}function _onAddAttribute(a,b,c){a&&a['_inc']++;var d=c['namespaceURI'];d=='http://www.w3.org/2000/xmlns/'&&(b['_nsMap'][c['prefix']?c['localName']:'']=c['value']);}function _onRemoveAttribute(a,b,c,d){a&&a['_inc']++;var f=c['namespaceURI'];f=='http://www.w3.org/2000/xmlns/'&&delete b['_nsMap'][c['prefix']?c['localName']:''];}function _onUpdateChild(a,b,c){if(a&&a['_inc']){a['_inc']++;var d=b['childNodes'];if(c)d[d['length']++]=c;else{var f=b['firstChild'],g=0x0;while(f){d[g++]=f,f=f['nextSibling'];}d['length']=g;}}}function _removeChild(a,b){var c=b['previousSibling'],d=b['nextSibling'];return c?c['nextSibling']=d:a['firstChild']=d,d?d['previousSibling']=c:a['lastChild']=c,_onUpdateChild(a['ownerDocument'],a),b;}function _insertBefore(a,b,c){var d=b['parentNode'];d&&d['removeChild'](b);if(b['nodeType']===DOCUMENT_FRAGMENT_NODE){var f=b['firstChild'];if(f==null)return b;var g=b['lastChild'];}else f=g=b;var h=c?c['previousSibling']:a['lastChild'];f['previousSibling']=h,g['nextSibling']=c;h?h['nextSibling']=f:a['firstChild']=f;c==null?a['lastChild']=g:c['previousSibling']=g;do{f['parentNode']=a;}while(f!==g&&(f=f['nextSibling']));return _onUpdateChild(a['ownerDocument']||a,a),b['nodeType']==DOCUMENT_FRAGMENT_NODE&&(b['firstChild']=b['lastChild']=null),b;}function _appendSingleChild(a,b){var c=b['parentNode'];if(c){var d=a['lastChild'];c['removeChild'](b);var d=a['lastChild'];}var d=a['lastChild'];return b['parentNode']=a,b['previousSibling']=d,b['nextSibling']=null,d?d['nextSibling']=b:a['firstChild']=b,a['lastChild']=b,_onUpdateChild(a['ownerDocument'],a,b),b;}Document['prototype']={'nodeName':'#document','nodeType':DOCUMENT_NODE,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function insertBefore(a,b){if(a['nodeType']==DOCUMENT_FRAGMENT_NODE){var c=a['firstChild'];while(c){var d=c['nextSibling'];this['insertBefore'](c,b),c=d;}return a;}return this['documentElement']==null&&a['nodeType']==ELEMENT_NODE&&(this['documentElement']=a),(_insertBefore(this,a,b),a['ownerDocument']=this,a);},'removeChild':function removeChild(a){return this['documentElement']==a&&(this['documentElement']=null),_removeChild(this,a);},'importNode':function importNode(a,b){return _importNode(this,a,b);},'getElementById':function getElementById(a){var b=null;return _visitNode(this['documentElement'],function(c){if(c['nodeType']==ELEMENT_NODE){if(c['getAttribute']('id')==a)return b=c,!![];}}),b;},'createElement':function createElement(a){var b=new Element();b['ownerDocument']=this,b['nodeName']=a,b['tagName']=a,b['childNodes']=new NodeList();var c=b['attributes']=new NamedNodeMap();return c['_ownerElement']=b,b;},'createDocumentFragment':function createDocumentFragment(){var a=new DocumentFragment();return a['ownerDocument']=this,a['childNodes']=new NodeList(),a;},'createTextNode':function createTextNode(a){var b=new Text();return b['ownerDocument']=this,b['appendData'](a),b;},'createComment':function createComment(a){var b=new Comment();return b['ownerDocument']=this,b['appendData'](a),b;},'createCDATASection':function createCDATASection(a){var b=new CDATASection();return b['ownerDocument']=this,b['appendData'](a),b;},'createProcessingInstruction':function createProcessingInstruction(a,b){var c=new ProcessingInstruction();return c['ownerDocument']=this,c['tagName']=c['target']=a,c['nodeValue']=c['data']=b,c;},'createAttribute':function createAttribute(a){var b=new Attr();return b['ownerDocument']=this,b['name']=a,b['nodeName']=a,b['localName']=a,b['specified']=!![],b;},'createEntityReference':function createEntityReference(a){var b=new EntityReference();return b['ownerDocument']=this,b['nodeName']=a,b;},'createElementNS':function createElementNS(a,b){var c=new Element(),d=b['split'](':'),f=c['attributes']=new NamedNodeMap();return c['childNodes']=new NodeList(),c['ownerDocument']=this,c['nodeName']=b,c['tagName']=b,c['namespaceURI']=a,d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,f['_ownerElement']=c,c;},'createAttributeNS':function createAttributeNS(a,b){var c=new Attr(),d=b['split'](':');return c['ownerDocument']=this,c['nodeName']=b,c['name']=b,c['namespaceURI']=a,c['specified']=!![],d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,c;}},_extends(Document,Node);function Element(){this['_nsMap']={};};Element['prototype']={'nodeType':ELEMENT_NODE,'hasAttribute':function hasAttribute(a){return this['getAttributeNode'](a)!=null;},'getAttribute':function getAttribute(a){var b=this['getAttributeNode'](a);return b&&b['value']||'';},'getAttributeNode':function getAttributeNode(a){return this['attributes']['getNamedItem'](a);},'setAttribute':function setAttribute(a,b){var c=this['ownerDocument']['createAttribute'](a);c['value']=c['nodeValue']=''+b,this['setAttributeNode'](c);},'removeAttribute':function removeAttribute(a){var b=this['getAttributeNode'](a);b&&this['removeAttributeNode'](b);},'appendChild':function appendChild(a){return a['nodeType']===DOCUMENT_FRAGMENT_NODE?this['insertBefore'](a,null):_appendSingleChild(this,a);},'setAttributeNode':function setAttributeNode(a){return this['attributes']['setNamedItem'](a);},'setAttributeNodeNS':function setAttributeNodeNS(a){return this['attributes']['setNamedItemNS'](a);},'removeAttributeNode':function removeAttributeNode(a){return this['attributes']['removeNamedItem'](a['nodeName']);},'removeAttributeNS':function removeAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);c&&this['removeAttributeNode'](c);},'hasAttributeNS':function hasAttributeNS(a,b){return this['getAttributeNodeNS'](a,b)!=null;},'getAttributeNS':function getAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);return c&&c['value']||'';},'setAttributeNS':function setAttributeNS(a,b,c){var d=this['ownerDocument']['createAttributeNS'](a,b);d['value']=d['nodeValue']=''+c,this['setAttributeNode'](d);},'getAttributeNodeNS':function getAttributeNodeNS(a,b){return this['attributes']['getNamedItemNS'](a,b);},'getElementsByTagName':function getElementsByTagName(a){return new LiveNodeList(this,function(b){var c=[];return _visitNode(b,function(d){d!==b&&d['nodeType']==ELEMENT_NODE&&(a==='*'||d['tagName']==a)&&c['push'](d);}),c;});},'getElementsByTagNameNS':function getElementsByTagNameNS(a,b){return new LiveNodeList(this,function(c){var d=[];return _visitNode(c,function(f){f!==c&&f['nodeType']===ELEMENT_NODE&&(a==='*'||f['namespaceURI']===a)&&(b==='*'||f['localName']==b)&&d['push'](f);}),d;});}},Document['prototype']['getElementsByTagName']=Element['prototype']['getElementsByTagName'],Document['prototype']['getElementsByTagNameNS']=Element['prototype']['getElementsByTagNameNS'],_extends(Element,Node);function Attr(){};Attr['prototype']['nodeType']=ATTRIBUTE_NODE,_extends(Attr,Node);function CharacterData(){};CharacterData['prototype']={'data':'','substringData':function substringData(a,b){return this['data']['substring'](a,a+b);},'appendData':function appendData(a){a=this['data']+a,this['nodeValue']=this['data']=a,this['length']=a['length'];},'insertData':function insertData(a,b){this['replaceData'](a,0x0,b);},'appendChild':function appendChild(a){throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]);},'deleteData':function deleteData(a,b){this['replaceData'](a,b,'');},'replaceData':function replaceData(a,b,c){var d=this['data']['substring'](0x0,a),f=this['data']['substring'](a+b);c=d+c+f,this['nodeValue']=this['data']=c,this['length']=c['length'];}},_extends(CharacterData,Node);function Text(){};Text['prototype']={'nodeName':'#text','nodeType':TEXT_NODE,'splitText':function splitText(a){var b=this['data'],c=b['substring'](a);b=b['substring'](0x0,a),this['data']=this['nodeValue']=b,this['length']=b['length'];var d=this['ownerDocument']['createTextNode'](c);return this['parentNode']&&this['parentNode']['insertBefore'](d,this['nextSibling']),d;}},_extends(Text,CharacterData);function Comment(){};Comment['prototype']={'nodeName':'#comment','nodeType':COMMENT_NODE},_extends(Comment,CharacterData);function CDATASection(){};CDATASection['prototype']={'nodeName':'#cdata-section','nodeType':CDATA_SECTION_NODE},_extends(CDATASection,CharacterData);function DocumentType(){};DocumentType['prototype']['nodeType']=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node);function Notation(){};Notation['prototype']['nodeType']=NOTATION_NODE,_extends(Notation,Node);function Entity(){};Entity['prototype']['nodeType']=ENTITY_NODE,_extends(Entity,Node);function EntityReference(){};EntityReference['prototype']['nodeType']=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node);function DocumentFragment(){};DocumentFragment['prototype']['nodeName']='#document-fragment',DocumentFragment['prototype']['nodeType']=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node);function ProcessingInstruction(){}ProcessingInstruction['prototype']['nodeType']=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node);function XMLSerializer(){}XMLSerializer['prototype']['serializeToString']=function(a,b,c){return nodeSerializeToString['call'](a,b,c);},Node['prototype']['toString']=nodeSerializeToString;function nodeSerializeToString(a,b){var c=[],d=this['nodeType']==0x9&&this['documentElement']||this,f=d['prefix'],g=d['namespaceURI'];if(g&&f==null){var f=d['lookupPrefix'](g);if(f==null)var h=[{'namespace':g,'prefix':null}];}return serializeToString(this,c,a,b,h),c['join']('');}function needNamespaceDefine(a,b,c){var d=a['prefix']||'',f=a['namespaceURI'];if(!d&&!f)return![];if(d==='xml'&&f==='http://www.w3.org/XML/1998/namespace'||f=='http://www.w3.org/2000/xmlns/')return![];var g=c['length'];while(g--){var h=c[g];if(h['prefix']==d)return h['namespace']!=f;}return!![];}function serializeToString(a,b,c,d,f){if(d){a=d(a);if(a){if(typeof a=='string'){b['push'](a);return;}}else return;}switch(a['nodeType']){case ELEMENT_NODE:if(!f)f=[];var g=f['length'],h=a['attributes'],j=h['length'],k=a['firstChild'],l=a['tagName'];c=htmlns===a['namespaceURI']||c,b['push']('<',l);for(var m=0x0;m');if(c&&/^script$/i['test'](l))while(k){k['data']?b['push'](k['data']):serializeToString(k,b,c,d,f),k=k['nextSibling'];}else while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}b['push']('');}else b['push']('/>');return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:var k=a['firstChild'];while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}return;case ATTRIBUTE_NODE:return b['push']('\x20',a['name'],'=\x22',a['value']['replace'](/[<&"]/g,_xmlEncoder),'\x22');case TEXT_NODE:return b['push'](a['data']['replace'](/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return b['push']('');case COMMENT_NODE:return b['push']('');case DOCUMENT_TYPE_NODE:var r=a['publicId'],s=a['systemId'];b['push']('');else{if(s&&s!='.')b['push']('\x20SYSTEM\x20\x22',s,'\x22>');else{var t=a['internalSubset'];t&&b['push']('\x20[',t,']'),b['push']('>');}}return;case PROCESSING_INSTRUCTION_NODE:return b['push']('');case ENTITY_REFERENCE_NODE:return b['push']('&',a['nodeName'],';');default:b['push']('??',a['nodeName']);}}function _importNode(a,b,c){var d;switch(b['nodeType']){case ELEMENT_NODE:d=b['cloneNode'](![]),d['ownerDocument']=a;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:c=!![];break;}!d&&(d=b['cloneNode'](![]));d['ownerDocument']=a,d['parentNode']=null;if(c){var f=b['firstChild'];while(f){d['appendChild'](_importNode(a,f,c)),f=f['nextSibling'];}}return d;}function _cloneNode(a,b,c){var d=new b['constructor']();for(var f in b){var g=b[f];_typeof(g)!='object'&&(g!=d[f]&&(d[f]=g));}b['childNodes']&&(d['childNodes']=new NodeList());d['ownerDocument']=a;switch(d['nodeType']){case ELEMENT_NODE:var h=b['attributes'],j=d['attributes']=new NamedNodeMap(),k=h['length'];j['_ownerElement']=d;for(var l=0x0;l','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/xmldom/sax.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/xmldom/sax.js +new file mode 100644 +index 0000000..976ca2a +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/common/xmldom/sax.js +@@ -0,0 +1 @@ ++'use strict';var nameStartChar=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameChar=new RegExp('[\x5c-\x5c.0-9'+nameStartChar['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),tagNamePattern=new RegExp('^'+nameStartChar['source']+nameChar['source']+'*(?::'+nameStartChar['source']+nameChar['source']+'*)?$'),S_TAG=0x0,S_ATTR=0x1,S_ATTR_SPACE=0x2,S_EQ=0x3,S_ATTR_NOQUOT_VALUE=0x4,S_ATTR_END=0x5,S_TAG_SPACE=0x6,S_TAG_CLOSE=0x7;function XMLReader(){}XMLReader['prototype']={'parse':function parse(a,b,c){var d=this['domBuilder'];d['startDocument'](),_copy(b,b={}),_parse(a,b,c,d,this['errorHandler']),d['endDocument']();}};function _parse(b,c,d,f,g){function h(J){if(J>0xffff){J-=0x10000;var K=0xd800+(J>>0xa),L=0xdc00+(J&0x3ff);return String['fromCharCode'](K,L);}else return String['fromCharCode'](J);}function j(J){var K=J['slice'](0x1,-0x1);if(K in d)return d[K];else return K['charAt'](0x0)==='#'?h(parseInt(K['substr'](0x1)['replace']('x','0x'))):(g['error']('entity\x20not\x20found:'+J),J);}function k(J){if(J>s){var K=b['substring'](s,J)['replace'](/&#?\w+;/g,j);p&&l(s),f['characters'](K,0x0,J-s),s=J;}}function l(J,K){while(J>=n&&(K=o['exec'](b))){m=K['index'],n=m+K[0x0]['length'],p['lineNumber']++;}p['columnNumber']=J-m+0x1;}var m=0x0,n=0x0,o=/.*(?:\r\n?|\n)|.*$/g,p=f['locator'],q=[{'currentNSMap':c}],r={},s=0x0;while(!![]){try{var t=b['indexOf']('<',s);if(t<0x0){if(!b['substr'](s)['match'](/^\s*$/)){var u=f['doc'],v=u['createTextNode'](b['substr'](s));u['appendChild'](v),f['currentElement']=v;}return;}t>s&&k(t);switch(b['charAt'](t+0x1)){case'/':var w=b['indexOf']('>',t+0x3),x=b['substring'](t+0x2,w),y=q['pop']();if(w<0x0)x=b['substring'](t+0x2)['replace'](/[\s<].*/,''),g['error']('end\x20tag\x20name:\x20'+x+'\x20is\x20not\x20complete:'+y['tagName']),w=t+0x1+x['length'];else x['match'](/\ss?s=w:k(Math['max'](t,s)+0x1);}}function copyLocator(a,b){return b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'],b;}function parseElementStartPart(a,b,d,e,f,g){var h,i,j=++b,k=S_TAG;while(!![]){var l=a['charAt'](j);switch(l){case'=':if(k===S_ATTR)h=a['slice'](b,j),k=S_EQ;else{if(k===S_ATTR_SPACE)k=S_EQ;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(k===S_EQ||k===S_ATTR){k===S_ATTR&&(g['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),h=a['slice'](b,j));b=j+0x1,j=a['indexOf'](l,b);if(j>0x0)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b-0x1),k=S_ATTR_END;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+l+'\x27\x20match');}else{if(k==S_ATTR_NOQUOT_VALUE)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b),g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20start\x20quot('+l+')!!'),b=j+0x1,k=S_ATTR_END;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:k=S_TAG_CLOSE,d['closed']=!![];case S_ATTR_NOQUOT_VALUE:case S_ATTR:case S_ATTR_SPACE:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':g['error']('unexpected\x20end\x20of\x20input');k==S_TAG&&d['setTagName'](a['slice'](b,j));return j;case'>':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:break;case S_ATTR_NOQUOT_VALUE:case S_ATTR:i=a['slice'](b,j);i['slice'](-0x1)==='/'&&(d['closed']=!![],i=i['slice'](0x0,-0x1));case S_ATTR_SPACE:k===S_ATTR_SPACE&&(i=h);k==S_ATTR_NOQUOT_VALUE?(g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i['replace'](/&#?\w+;/g,f),b)):((e['']!=='http://www.w3.org/1999/xhtml'||!i['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20value!!\x20\x22'+i+'\x22\x20instead!!'),d['add'](i,i,b));break;case S_EQ:throw new Error('attribute\x20value\x20missed!!');}return j;case'\u0080':l='\x20';default:if(l<='\x20')switch(k){case S_TAG:d['setTagName'](a['slice'](b,j)),k=S_TAG_SPACE;break;case S_ATTR:h=a['slice'](b,j),k=S_ATTR_SPACE;break;case S_ATTR_NOQUOT_VALUE:var i=a['slice'](b,j)['replace'](/&#?\w+;/g,f);g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i,b);case S_ATTR_END:k=S_TAG_SPACE;break;}else switch(k){case S_ATTR_SPACE:var m=d['tagName'];(e['']!=='http://www.w3.org/1999/xhtml'||!h['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20value!!\x20\x22'+h+'\x22\x20instead2!!');d['add'](h,h,b),b=j,k=S_ATTR;break;case S_ATTR_END:g['warning']('attribute\x20space\x20is\x20required\x22'+h+'\x22!!');case S_TAG_SPACE:k=S_ATTR,b=j;break;case S_EQ:k=S_ATTR_NOQUOT_VALUE,b=j;break;case S_TAG_CLOSE:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}j++;}}function appendElement(b,c,d){var e=b['tagName'],f=null,g=b['length'];while(g--){var h=b[g],j=h['qName'],k=h['value'],l=j['indexOf'](':');if(l>0x0)var m=h['prefix']=j['slice'](0x0,l),n=j['slice'](l+0x1),o=m==='xmlns'&&n;else n=j,m=null,o=j==='xmlns'&&'';h['localName']=n,o!==![]&&(f==null&&(f={},_copy(d,d={})),d[o]=f[o]=k,h['uri']='http://www.w3.org/2000/xmlns/',c['startPrefixMapping'](o,k));}var g=b['length'];while(g--){h=b[g];var m=h['prefix'];m&&(m==='xml'&&(h['uri']='http://www.w3.org/XML/1998/namespace'),m!=='xmlns'&&(h['uri']=d[m||'']));}var l=e['indexOf'](':');l>0x0?(m=b['prefix']=e['slice'](0x0,l),n=b['localName']=e['slice'](l+0x1)):(m=null,n=b['localName']=e);var p=b['uri']=d[m||''];c['startElement'](p,n,e,b);if(b['closed']){c['endElement'](p,n,e);if(f)for(m in f){c['endPrefixMapping'](m);}}else return b['currentNSMap']=d,b['localNSMap']=f,!![];}function parseHtmlSpecialContent(a,b,c,d,e){if(/^(?:script|textarea)$/i['test'](c)){var f=a['indexOf']('',b),g=a['substring'](b+0x1,f);if(/[&<]/['test'](g)){if(/^script$/i['test'](c))return e['characters'](g,0x0,g['length']),f;return g=g['replace'](/&#?\w+;/g,d),e['characters'](g,0x0,g['length']),f;}}return b+0x1;}function fixSelfClosed(a,b,c,d){var e=d[c];return e==null&&(e=a['lastIndexOf'](''),e',b+0x4);return f>b?(c['comment'](a,b+0x4,f-b-0x4),f+0x3):(d['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(a['substr'](b+0x3,0x6)=='CDATA['){var f=a['indexOf'](']]>',b+0x9);return c['startCDATA'](),c['characters'](a,b+0x9,f-b-0x9),c['endCDATA'](),f+0x3;}var g=split(a,b),h=g['length'];if(h>0x1&&/!doctype/i['test'](g[0x0][0x0])){var i=g[0x1][0x0],j=h>0x3&&/^public$/i['test'](g[0x2][0x0])&&g[0x3][0x0],k=h>0x4&&g[0x4][0x0],l=g[h-0x1];return c['startDTD'](i,j&&j['replace'](/^(['"])(.*?)\1$/,'$2'),k&&k['replace'](/^(['"])(.*?)\1$/,'$2')),c['endDTD'](),l['index']+l[0x0]['length'];}}return-0x1;}function parseInstruction(a,b,c){var d=a['indexOf']('?>',b);if(d){var e=a['substring'](b,d)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(e){var f=e[0x0]['length'];return c['processingInstruction'](e[0x1],e[0x2]),d+0x2;}else return-0x1;}return-0x1;}function ElementAttributes(a){}ElementAttributes['prototype']={'setTagName':function setTagName(a){if(!tagNamePattern['test'](a))throw new Error('invalid\x20tagName:'+a);this['tagName']=a;},'add':function add(a,b,c){if(!tagNamePattern['test'](a))throw new Error('invalid\x20attribute:'+a);this[this['length']++]={'qName':a,'value':b,'offset':c};},'length':0x0,'getLocalName':function getLocalName(a){return this[a]['localName'];},'getLocator':function getLocator(a){return this[a]['locator'];},'getQName':function getQName(a){return this[a]['qName'];},'getURI':function getURI(a){return this[a]['uri'];},'getValue':function getValue(a){return this[a]['value'];}};function split(a,b){var c,d=[],e=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;e['lastIndex']=b,e['exec'](a);while(c=e['exec'](a)){d['push'](c);if(c[0x1])return d;}}exports['XMLReader']=XMLReader; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Audio.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Audio.js +new file mode 100644 +index 0000000..1a8710e +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Audio.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLAudioElement2=_interopRequireDefault(require('./HTMLAudioElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};_superPropGet(b,'addEventListener',this,0x3)([d,e,f]),d=String(d)['toLowerCase'](),this['_loaded']&&this['_canplayEvents']['indexOf'](d)!==-0x1&&this['dispatchEvent']({'type':d});}},{'key':'load','value':function d(){}},{'key':'play','value':function e(){_innerAudioContextMap[this['_$sn']]['play']();}},{'key':'resume','value':function f(){_innerAudioContextMap[this['_$sn']]['resume']();}},{'key':'pause','value':function g(){_innerAudioContextMap[this['_$sn']]['pause']();}},{'key':'stop','value':function h(){_innerAudioContextMap[this['_$sn']]['stop']();}},{'key':'destroy','value':function i(){_innerAudioContextMap[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function j(){var k=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof k!=='string')return'';if(k['indexOf']('audio/mpeg')>-0x1||k['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function k(){return _innerAudioContextMap[this['_$sn']]['currentTime'];},'set':function l(m){_innerAudioContextMap[this['_$sn']]['seek'](m);}},{'key':'duration','get':function m(){return _innerAudioContextMap[this['_$sn']]['duration'];}},{'key':'src','get':function n(){return this['_src'];},'set':function o(p){this['_src']=p,this['_loaded']=![],this['readyState']=this['HAVE_NOTHING'];var q=_innerAudioContextMap[this['_$sn']];q['src']=p;}},{'key':'loop','get':function p(){return this['_loop'];},'set':function q(r){this['_loop']=r,_innerAudioContextMap[this['_$sn']]['loop']=r;}},{'key':'autoplay','get':function r(){return this['autoplay'];},'set':function s(t){this['_autoplay']=t,_innerAudioContextMap[this['_$sn']]['autoplay']=t;}},{'key':'paused','get':function t(){return this['_paused'];}},{'key':'volume','get':function u(){return this['_volume'];},'set':function v(w){this['_volume']=w,!this['_muted']&&(_innerAudioContextMap[this['_$sn']]['volume']=w);}},{'key':'muted','get':function w(){return this['_muted'];},'set':function x(y){this['_muted']=y,y?_innerAudioContextMap[this['_$sn']]['volume']=0x0:_innerAudioContextMap[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function y(){var z=new b();return z['loop']=this['loop'],z['autoplay']=this['autoplay'],z['src']=this['src'],z;}}]);}(_HTMLAudioElement2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Canvas.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Canvas.js +new file mode 100644 +index 0000000..98dc321 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Canvas.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=Canvas;var _WindowProperties=require('./WindowProperties'),hasModifiedCanvasPrototype=![],hasInit2DContextConstructor=![],hasInitWebGLContextConstructor=![];function Canvas(){var canvas=tt['createCanvas']();canvas['type']='canvas';var a=canvas['getContext'];return canvas['getBoundingClientRect']=function(){var b={'top':0x0,'left':0x0,'width':window['innerWidth'],'height':window['innerHeight']};return b;},canvas['style']={'top':'0px','left':'0px','width':_WindowProperties['innerWidth']+'px','height':_WindowProperties['innerHeight']+'px'},canvas['addEventListener']=function(b,c){var d=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};document['addEventListener'](b,c,d);},canvas['removeEventListener']=function(b,c){document['removeEventListener'](b,c);},canvas['dispatchEvent']=function(){var b=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',b['type'],b);},Object['defineProperty'](canvas,'clientWidth',{'enumerable':!![],'get':function b(){return _WindowProperties['innerWidth'];}}),Object['defineProperty'](canvas,'clientHeight',{'enumerable':!![],'get':function c(){return _WindowProperties['innerHeight'];}}),canvas;}module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Element.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Element.js +new file mode 100644 +index 0000000..9d61afe +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Element.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _Node2=_interopRequireDefault(require('./Node'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},f=_events['get'](this);!f&&(f={},_events['set'](this,f));!f[c]&&(f[c]=[]);f[c]['push'](d);if(e['capture']){}if(e['once']){}if(e['passive']){}}},{'key':'removeEventListener','value':function c(d,e){var f=_events['get'](this);if(f){var g=f[d];if(g&&g['length']>0x0)for(var h=g['length'];h--;h>0x0){if(g[h]===e){g['splice'](h,0x1);break;}}}}},{'key':'dispatchEvent','value':function d(){var e=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},f=_events['get'](this)[e['type']];if(f)for(var g=0x0;g0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return _classCallCheck(this,b),c=_callSuper(this,b),c['className']='',c['childern']=[],c['style']={'width':''['concat'](_WindowProperties['innerWidth'],'px'),'height':''['concat'](_WindowProperties['innerHeight'],'px')},c['insertBefore']=_index['noop'],c['innerHTML']='',c['tagName']=d['toUpperCase'](),c;}return _inherits(b,a),_createClass(b,[{'key':'setAttribute','value':function c(d,e){this[d]=e;}},{'key':'getAttribute','value':function d(e){return this[e];}},{'key':'clientWidth','get':function e(){var f=parseInt(this['style']['fontSize'],0xa)*this['innerHTML']['length'];return Number['isNaN'](f)?0x0:f;}},{'key':'clientHeight','get':function f(){var g=parseInt(this['style']['fontSize'],0xa);return Number['isNaN'](g)?0x0:g;}},{'key':'getBoundingClientRect','value':function g(){return{'top':0x0,'left':0x0,'width':_WindowProperties['innerWidth'],'height':_WindowProperties['innerHeight']};}},{'key':'focus','value':function h(){}}]);}(_Element2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/HTMLImageElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/HTMLImageElement.js +new file mode 100644 +index 0000000..1774247 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/HTMLImageElement.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}var imageConstructor=tt['createImage']()['constructor'],_default=exports['default']=imageConstructor;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/HTMLMediaElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/HTMLMediaElement.js +new file mode 100644 +index 0000000..ce6068f +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/HTMLMediaElement.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement2=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c-0x1)return this['childNodes']['splice'](g,0x1);return null;}}]);}(_EventTarget2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/WebGLRenderingContext.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/WebGLRenderingContext.js +new file mode 100644 +index 0000000..f3733c2 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/WebGLRenderingContext.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;function _defineProperties(a,b){for(var c=0x0;c0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];_classCallCheck(this,a),this['binaryType']='',this['bufferedAmount']=0x0,this['extensions']='',this['onclose']=null,this['onerror']=null,this['onmessage']=null,this['onopen']=null,this['protocol']='',this['readyState']=0x3;if(typeof b!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](b))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](b,'\x27\x20is\x20invalid'));this['url']=b,this['readyState']=a['CONNECTING'];var e=tt['connectSocket']({'url':b,'protocols':Array['isArray'](d)?d:[d],'tcpNoDelay':!![]});return _socketTask['set'](this,e),e['onClose'](function(f){c['readyState']=a['CLOSED'],typeof c['onclose']==='function'&&c['onclose'](f);}),e['onMessage'](function(f){typeof c['onmessage']==='function'&&c['onmessage'](f);}),e['onOpen'](function(){c['readyState']=a['OPEN'],typeof c['onopen']==='function'&&c['onopen']();}),e['onError'](function(f){typeof c['onerror']==='function'&&c['onerror'](new Error(f['errMsg']));}),this;}return _createClass(a,[{'key':'close','value':function b(c,d){this['readyState']=a['CLOSING'];var e=_socketTask['get'](this);e['close']({'code':c,'reason':d});}},{'key':'send','value':function c(d){if(typeof d!=='string'&&!(d instanceof ArrayBuffer)&&!ArrayBuffer['isView'](d))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](d,'\x20is\x20invalid'));var e=_socketTask['get'](this);e['send']({'data':d});}}]);}());WebSocket['CONNECTING']=0x0,WebSocket['OPEN']=0x1,WebSocket['CLOSING']=0x2,WebSocket['CLOSED']=0x3,module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/WindowProperties.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/WindowProperties.js +new file mode 100644 +index 0000000..b987a0b +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/WindowProperties.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['screen']=exports['performance']=exports['ontouchstart']=exports['ontouchmove']=exports['ontouchend']=exports['innerWidth']=exports['innerHeight']=exports['devicePixelRatio']=void 0x0;var _tt$getSystemInfoSync=tt['getSystemInfoSync'](),screenWidth=_tt$getSystemInfoSync['screenWidth'],screenHeight=_tt$getSystemInfoSync['screenHeight'],devicePixelRatio=exports['devicePixelRatio']=_tt$getSystemInfoSync['devicePixelRatio'],innerWidth=exports['innerWidth']=screenWidth,innerHeight=exports['innerHeight']=screenHeight,screen=exports['screen']={'width':screenWidth,'height':screenHeight,'availWidth':innerWidth,'availHeight':innerHeight,'availLeft':0x0,'availTop':0x0},performance=exports['performance']={'now':Date['now']},ontouchstart=exports['ontouchstart']=null,ontouchmove=exports['ontouchmove']=null,ontouchend=exports['ontouchend']=null; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Worker.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Worker.js +new file mode 100644 +index 0000000..a3aaeda +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/Worker.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=_default;function _default(a){var b=tt['createWorker'](a);return b;};module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/XMLHttpRequest.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/XMLHttpRequest.js +new file mode 100644 +index 0000000..73ab1d6 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/XMLHttpRequest.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _EventTarget2=_interopRequireDefault(require('./EventTarget.js'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c0x1?b-0x1:0x0),d=0x1;d0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==b['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var k=tt['request']({'data':j,'url':_url['get'](this),'method':_method['get'](this),'header':_requestHeader['get'](this),'dataType':'other','responseType':this['responseType']==='arraybuffer'?'arraybuffer':'text','success':function l(m){var n=m['data'],o=m['statusCode'],p=m['header'];i['status']=o,_responseHeader['set'](i,p),_triggerEvent['call'](i,'loadstart'),_changeReadyState['call'](i,b['HEADERS_RECEIVED']),_changeReadyState['call'](i,b['LOADING']);switch(i['responseType']){case'json':i['responseText']=n;try{i['response']=JSON['parse'](n);}catch(t){i['response']=null;}break;case'':case'text':i['responseText']=i['response']=n;break;case'arraybuffer':i['response']=n,i['responseText']='';var q=new Uint8Array(n),r=q['byteLength'];for(var s=0x0;s0x0)for(var d=c['length'];d--;d>0x0){if(c[d]===b){c['splice'](d,0x1);break;}}},'dispatchEvent':function dispatchEvent(a){var b=events[a['type']];if(b)for(var c=0x0;c0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',h['type'],h);};var a=tt['getSystemInfoSync'](),b=a['platform'];if(typeof __devtoolssubcontext==='undefined'&&b==='devtools'){for(var c in _window){var d=Object['getOwnPropertyDescriptor'](global,c);(!d||d['configurable']===!![])&&Object['defineProperty'](window,c,{'value':_window[c]});}for(var e in _window['document']){var f=Object['getOwnPropertyDescriptor'](global['document'],e);(!f||f['configurable']===!![])&&Object['defineProperty'](global['document'],e,{'value':_window['document'][e]});}window['parent']=window;}else{for(var g in _window){global[g]=_window[g];}global['window']=_window,window=global,window['top']=window['parent']=window,GameGlobal['global']=GameGlobal['global']||GameGlobal;}}!GameGlobal['__isAdapterInjected']&&(GameGlobal['__isAdapterInjected']=!![],inject()); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/localStorage.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/localStorage.js +new file mode 100644 +index 0000000..49b22b5 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/localStorage.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var localStorage={get 'length'(){var a=tt['getStorageInfoSync'](),b=a['keys'];return b['length'];},'key':function key(a){var b=tt['getStorageInfoSync'](),c=b['keys'];return c[a];},'getItem':function getItem(a){return tt['getStorageSync'](a);},'setItem':function setItem(a,b){return tt['setStorageSync'](a,b);},'removeItem':function removeItem(a){tt['removeStorageSync'](a);},'clear':function clear(){tt['clearStorageSync']();}},_default=exports['default']=localStorage;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/location.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/location.js +new file mode 100644 +index 0000000..a444ae9 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/location.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var location={'href':'game.js','reload':function reload(){}},_default=exports['default']=location;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/navigator.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/navigator.js +new file mode 100644 +index 0000000..0710dc0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/navigator.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _index=require('./util/index.js'),systemInfo=tt['getSystemInfoSync']();console['log'](systemInfo);var system=systemInfo['system'],platform=systemInfo['platform'],language=systemInfo['language'],wechatVersioin=systemInfo['version'],android=system['toLowerCase']()['indexOf']('android')!==-0x1,uaDesc=android?'Android;\x20CPU\x20'['concat'](system):'iPhone;\x20CPU\x20iPhone\x20OS\x20'['concat'](system,'\x20like\x20Mac\x20OS\x20X'),ua='Mozilla/5.0\x20('['concat'](uaDesc,')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20MicroMessenger/')['concat'](wechatVersioin,'\x20MiniGame\x20NetType/WIFI\x20Language/')['concat'](language),navigator={'platform':platform,'language':language,'appVersion':'5.0\x20('['concat'](uaDesc,')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1'),'userAgent':ua,'onLine':!![],'geolocation':{'getCurrentPosition':_index['noop'],'watchPosition':_index['noop'],'clearWatch':_index['noop']}};tt['onNetworkStatusChange']&&tt['onNetworkStatusChange'](function(a){navigator['onLine']=a['isConnected'];});var _default=exports['default']=navigator;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/util/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/util/index.js +new file mode 100644 +index 0000000..112f54d +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/util/index.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['noop']=noop;function noop(){} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/window.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/window.js +new file mode 100644 +index 0000000..e07b9e0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/builtin/window.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});var _exportNames={'canvas':!![],'setTimeout':!![],'setInterval':!![],'clearTimeout':!![],'clearInterval':!![],'requestAnimationFrame':!![],'cancelAnimationFrame':!![],'navigator':!![],'XMLHttpRequest':!![],'WebSocket':!![],'Image':!![],'ImageBitmap':!![],'Audio':!![],'FileReader':!![],'HTMLElement':!![],'HTMLImageElement':!![],'HTMLCanvasElement':!![],'HTMLMediaElement':!![],'HTMLAudioElement':!![],'HTMLVideoElement':!![],'WebGLRenderingContext':!![],'TouchEvent':!![],'MouseEvent':!![],'DeviceMotionEvent':!![],'localStorage':!![],'location':!![]};Object['defineProperty'](exports,'Audio',{'enumerable':!![],'get':function get(){return _Audio['default'];}}),Object['defineProperty'](exports,'DeviceMotionEvent',{'enumerable':!![],'get':function get(){return _index['DeviceMotionEvent'];}}),Object['defineProperty'](exports,'FileReader',{'enumerable':!![],'get':function get(){return _FileReader['default'];}}),Object['defineProperty'](exports,'HTMLAudioElement',{'enumerable':!![],'get':function get(){return _HTMLAudioElement['default'];}}),Object['defineProperty'](exports,'HTMLCanvasElement',{'enumerable':!![],'get':function get(){return _HTMLCanvasElement['default'];}}),Object['defineProperty'](exports,'HTMLElement',{'enumerable':!![],'get':function get(){return _HTMLElement['default'];}}),Object['defineProperty'](exports,'HTMLImageElement',{'enumerable':!![],'get':function get(){return _HTMLImageElement['default'];}}),Object['defineProperty'](exports,'HTMLMediaElement',{'enumerable':!![],'get':function get(){return _HTMLMediaElement['default'];}}),Object['defineProperty'](exports,'HTMLVideoElement',{'enumerable':!![],'get':function get(){return _HTMLVideoElement['default'];}}),Object['defineProperty'](exports,'Image',{'enumerable':!![],'get':function get(){return _Image['default'];}}),Object['defineProperty'](exports,'ImageBitmap',{'enumerable':!![],'get':function get(){return _ImageBitmap['default'];}}),Object['defineProperty'](exports,'MouseEvent',{'enumerable':!![],'get':function get(){return _index['MouseEvent'];}}),Object['defineProperty'](exports,'TouchEvent',{'enumerable':!![],'get':function get(){return _index['TouchEvent'];}}),Object['defineProperty'](exports,'WebGLRenderingContext',{'enumerable':!![],'get':function get(){return _WebGLRenderingContext['default'];}}),Object['defineProperty'](exports,'WebSocket',{'enumerable':!![],'get':function get(){return _WebSocket['default'];}}),Object['defineProperty'](exports,'XMLHttpRequest',{'enumerable':!![],'get':function get(){return _XMLHttpRequest['default'];}}),exports['clearTimeout']=exports['clearInterval']=exports['canvas']=exports['cancelAnimationFrame']=void 0x0,Object['defineProperty'](exports,'localStorage',{'enumerable':!![],'get':function get(){return _localStorage['default'];}}),Object['defineProperty'](exports,'location',{'enumerable':!![],'get':function get(){return _location['default'];}}),Object['defineProperty'](exports,'navigator',{'enumerable':!![],'get':function get(){return _navigator['default'];}}),exports['setTimeout']=exports['setInterval']=exports['requestAnimationFrame']=void 0x0;var _Canvas=_interopRequireDefault(require('./Canvas')),_navigator=_interopRequireDefault(require('./navigator')),_XMLHttpRequest=_interopRequireDefault(require('./XMLHttpRequest')),_WebSocket=_interopRequireDefault(require('./WebSocket')),_Image=_interopRequireDefault(require('./Image')),_ImageBitmap=_interopRequireDefault(require('./ImageBitmap')),_Audio=_interopRequireDefault(require('./Audio')),_FileReader=_interopRequireDefault(require('./FileReader')),_HTMLElement=_interopRequireDefault(require('./HTMLElement')),_HTMLImageElement=_interopRequireDefault(require('./HTMLImageElement')),_HTMLCanvasElement=_interopRequireDefault(require('./HTMLCanvasElement')),_HTMLMediaElement=_interopRequireDefault(require('./HTMLMediaElement')),_HTMLAudioElement=_interopRequireDefault(require('./HTMLAudioElement')),_HTMLVideoElement=_interopRequireDefault(require('./HTMLVideoElement')),_WebGLRenderingContext=_interopRequireDefault(require('./WebGLRenderingContext')),_index=require('./EventIniter/index.js'),_localStorage=_interopRequireDefault(require('./localStorage')),_location=_interopRequireDefault(require('./location')),_WindowProperties=require('./WindowProperties');Object['keys'](_WindowProperties)['forEach'](function(a){if(a==='default'||a==='__esModule')return;if(Object['prototype']['hasOwnProperty']['call'](_exportNames,a))return;if(a in exports&&exports[a]===_WindowProperties[a])return;Object['defineProperty'](exports,a,{'enumerable':!![],'get':function b(){return _WindowProperties[a];}});});function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new _Canvas['default']();var canvas=exports['canvas']=GameGlobal['screencanvas'],_GameGlobal=GameGlobal,setTimeout=exports['setTimeout']=_GameGlobal['setTimeout'],setInterval=exports['setInterval']=_GameGlobal['setInterval'],clearTimeout=exports['clearTimeout']=_GameGlobal['clearTimeout'],clearInterval=exports['clearInterval']=_GameGlobal['clearInterval'],requestAnimationFrame=exports['requestAnimationFrame']=_GameGlobal['requestAnimationFrame'],cancelAnimationFrame=exports['cancelAnimationFrame']=_GameGlobal['cancelAnimationFrame']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/ImageAsset.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/ImageAsset.js +new file mode 100644 +index 0000000..e64a5d2 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/ImageAsset.js +@@ -0,0 +1 @@ ++'use strict';cc['ImageAsset']&&Object['defineProperty'](cc['ImageAsset']['prototype'],'data',{'get':function get(){return this['_nativeData']&&this['_nativeData']['_data']||this['_nativeData'];}}); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/Label.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/Label.js +new file mode 100644 +index 0000000..6afa83e +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/Label.js +@@ -0,0 +1 @@ ++'use strict';if(cc&&cc['LabelComponent']){var Label=cc['LabelComponent'],isDevTool=__globalAdapter['isDevTool'],_sharedLabelCanvas=document['createElement']('canvas'),_sharedLabelCanvasCtx=_sharedLabelCanvas['getContext']('2d'),canvasData={'canvas':_sharedLabelCanvas,'context':_sharedLabelCanvasCtx};cc['game']['on'](cc['Game']['EVENT_ENGINE_INITED'],function(){Object['assign'](Label['_canvasPool'],{'get':function a(){return canvasData;},'put':function b(){}});});var sysInfo=tt['getSystemInfoSync']();if(Number['parseInt'](sysInfo['SDKVersion'][0x0])<0x2){var _originUpdateBlendFunc=Label['prototype']['_updateBlendFunc'],gfxBlendFactor=cc['gfx']['BlendFactor'];Object['assign'](Label['prototype'],{'_updateBlendFunc':function _updateBlendFunc(){_originUpdateBlendFunc['call'](this);if(this['srcBlendFactor']!==gfxBlendFactor['SRC_ALPHA']||isDevTool||this['font']instanceof cc['BitmapFont'])return;this['srcBlendFactor']=gfxBlendFactor['ONE'];}});}} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/index.js +new file mode 100644 +index 0000000..8fa791e +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/engine/index.js +@@ -0,0 +1 @@ ++'use strict';require('./Label'),require('./ImageAsset'); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/fs-utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/fs-utils.js +new file mode 100644 +index 0000000..87c2a06 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/fs-utils.js +@@ -0,0 +1 @@ ++'use strict';var fs=tt['getFileSystemManager']?tt['getFileSystemManager']():null,outOfStorageRegExp=/size.*limit.*exceeded/,fsUtils={'fs':fs,'isOutOfStorage':function isOutOfStorage(a){return outOfStorageRegExp['test'](a);},'getUserDataPath':function getUserDataPath(){return tt['env']['USER_DATA_PATH'];},'checkFsValid':function checkFsValid(){if(!fs)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function deleteFile(a,b){fs['unlink']({'filePath':a,'success':function c(){b&&b(null);},'fail':function d(e){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](e['errMsg'])),b&&b(new Error(e['errMsg']));}});},'downloadFile':function downloadFile(a,b,c,d,e){var f={'url':a,'success':function h(i){i['statusCode']===0xc8?e&&e(null,i['tempFilePath']||i['filePath']):(i['filePath']&&fsUtils['deleteFile'](i['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](i['statusCode'])),e&&e(new Error(i['statusCode']),null));},'fail':function i(j){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](j['errMsg'])),e&&e(new Error(j['errMsg']),null);}};if(b)f['filePath']=b;if(c)f['header']=c;var g=tt['downloadFile'](f);d&&g['onProgressUpdate'](d);},'saveFile':function saveFile(a,b,c){tt['saveFile']({'tempFilePath':a,'filePath':b,'success':function d(e){c&&c(null);},'fail':function e(f){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']));}});},'copyFile':function copyFile(a,b,c){fs['copyFile']({'srcPath':a,'destPath':b,'success':function d(){c&&c(null);},'fail':function e(f){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']));}});},'writeFile':function writeFile(a,b,c,d){fs['writeFile']({'filePath':a,'encoding':c,'data':b,'success':function e(){d&&d(null);},'fail':function f(g){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['errMsg'])),d&&d(new Error(g['errMsg']));}});},'writeFileSync':function writeFileSync(a,b,c){try{return fs['writeFileSync'](a,b,c),null;}catch(d){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](d['message'])),new Error(d['message']);}},'readFile':function readFile(a,b,c){fs['readFile']({'filePath':a,'encoding':b,'success':function d(e){c&&c(null,e['data']);},'fail':function e(f){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']),null);}});},'readDir':function readDir(a,b){fs['readdir']({'dirPath':a,'success':function c(d){b&&b(null,d['files']);},'fail':function d(e){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](e['errMsg'])),b&&b(new Error(e['errMsg']),null);}});},'readText':function readText(a,b){fsUtils['readFile'](a,'utf8',b);},'readArrayBuffer':function readArrayBuffer(a,b){fsUtils['readFile'](a,'',b);},'readJson':function readJson(a,b){fsUtils['readFile'](a,'utf8',function(c,d){var f=null;if(!c)try{f=JSON['parse'](d);}catch(g){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['message'])),c=new Error(g['message']);}b&&b(c,f);});},'readJsonSync':function readJsonSync(a){try{var b=fs['readFileSync'](a,'utf8');return JSON['parse'](b);}catch(c){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'makeDirSync':function makeDirSync(a,b){try{return fs['mkdirSync'](a,b),null;}catch(c){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'rmdirSync':function rmdirSync(a,b){try{fs['rmdirSync'](a,b);}catch(c){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'exists':function exists(a,b){fs['access']({'path':a,'success':function c(){b&&b(!![]);},'fail':function d(){b&&b(![]);}});},'loadSubpackage':function loadSubpackage(a,b,c){if(!tt['loadSubpackage']){console['warn']('tt.loadSubpackage\x20not\x20supported,\x20fallback\x20to\x20loading\x20bundle'),require('../../subpackages/'['concat'](a,'/game.js')),c&&c();return;}var d=tt['loadSubpackage']({'name':a,'success':function e(){c&&c();},'fail':function f(g){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['errMsg'])),c&&c(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](a,':\x20')['concat'](g['errMsg'])));}});return b&&d['onProgressUpdate'](b),d;},'unzip':function unzip(a,b,c){fs['unzip']({'zipFilePath':a,'targetPath':b,'success':function d(){c&&c(null);},'fail':function e(f){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error('unzip\x20failed:\x20'+f['errMsg']));}});}};window['fsUtils']=module['exports']=fsUtils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/unify.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/unify.js +new file mode 100644 +index 0000000..0d53400 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/unify.js +@@ -0,0 +1 @@ ++'use strict';var utils=require('./utils');if(window['__globalAdapter']){var globalAdapter=window['__globalAdapter'],systemInfo=tt['getSystemInfoSync'](),windowWidth=systemInfo['windowWidth'],windowHeight=systemInfo['windowHeight'],isLandscape=windowWidth>windowHeight;globalAdapter['isSubContext']=tt['getOpenDataContext']===undefined,globalAdapter['isDevTool']=systemInfo['platform']==='devtools',utils['cloneMethod'](globalAdapter,tt,'getSystemInfoSync'),utils['cloneMethod'](globalAdapter,tt,'onTouchStart'),utils['cloneMethod'](globalAdapter,tt,'onTouchMove'),utils['cloneMethod'](globalAdapter,tt,'onTouchEnd'),utils['cloneMethod'](globalAdapter,tt,'onTouchCancel'),utils['cloneMethod'](globalAdapter,tt,'createInnerAudioContext'),utils['cloneMethod'](globalAdapter,tt,'createVideo'),utils['cloneMethod'](globalAdapter,tt,'setPreferredFramesPerSecond'),utils['cloneMethod'](globalAdapter,tt,'showKeyboard'),utils['cloneMethod'](globalAdapter,tt,'hideKeyboard'),utils['cloneMethod'](globalAdapter,tt,'updateKeyboard'),utils['cloneMethod'](globalAdapter,tt,'onKeyboardInput'),utils['cloneMethod'](globalAdapter,tt,'onKeyboardConfirm'),utils['cloneMethod'](globalAdapter,tt,'onKeyboardComplete'),utils['cloneMethod'](globalAdapter,tt,'offKeyboardInput'),utils['cloneMethod'](globalAdapter,tt,'offKeyboardConfirm'),utils['cloneMethod'](globalAdapter,tt,'offKeyboardComplete'),utils['cloneMethod'](globalAdapter,tt,'getOpenDataContext'),utils['cloneMethod'](globalAdapter,tt,'onMessage'),utils['cloneMethod'](globalAdapter,tt,'getSharedCanvas'),utils['cloneMethod'](globalAdapter,tt,'loadFont'),utils['cloneMethod'](globalAdapter,tt,'onShow'),utils['cloneMethod'](globalAdapter,tt,'onHide'),utils['cloneMethod'](globalAdapter,tt,'onError'),utils['cloneMethod'](globalAdapter,tt,'offError');var isAccelerometerInit=![],deviceOrientation=0x1;tt['onDeviceOrientationChange']&&tt['onDeviceOrientationChange'](function(a){if(a['value']==='landscape')deviceOrientation=0x1;else a['value']==='landscapeReverse'&&(deviceOrientation=-0x1);}),Object['assign'](globalAdapter,{'startAccelerometer':function startAccelerometer(a){!isAccelerometerInit?(isAccelerometerInit=!![],tt['onAccelerometerChange']&&tt['onAccelerometerChange'](function(b){var c={},d=b['x'],e=b['y'];if(isLandscape){var f=d;d=-e,e=f;}c['x']=d*deviceOrientation,c['y']=e*deviceOrientation,c['z']=b['z'],a&&a(c);})):tt['startAccelerometer']&&tt['startAccelerometer']({'fail':function b(c){console['error']('start\x20accelerometer\x20failed',c);}});},'stopAccelerometer':function stopAccelerometer(){tt['stopAccelerometer']&&tt['stopAccelerometer']({'fail':function a(b){console['error']('stop\x20accelerometer\x20failed',b);}});}}),globalAdapter['getSafeArea']=function(){var a=systemInfo['safeArea'],b=a['top'],c=a['left'],d=a['bottom'],e=a['right'],f=a['width'],g=a['height'];if(systemInfo['platform']==='ios'&&!globalAdapter['isDevTool']&&isLandscape){var h=[e,b,c,d,f,g];b=h[0x2],c=h[0x1],d=h[0x3],e=h[0x0],g=h[0x5],f=h[0x4];}return{'top':b,'left':c,'bottom':d,'right':e,'width':f,'height':g};};} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/utils.js +new file mode 100644 +index 0000000..f6723a5 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/libs/wrapper/utils.js +@@ -0,0 +1 @@ ++'use strict';var utils={'cloneMethod':function cloneMethod(a,b,c,d){b[c]&&(d=d||c,a[d]=b[c]['bind'](b));}};module['exports']=utils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/web-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/web-adapter.js +deleted file mode 100644 +index 4bd11c8..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/web-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function n(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function o(p,q,r,s){var t=this['doc'],u=t['createElementNS'](p,r||q),v=s['length'];j(this,u),this['currentElement']=u,this['locator']&&g(this['locator'],u);for(var w=0x0;w=G+H||G)return new java['lang']['String'](F,G,H)+'';return F;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(F){f['prototype'][F]=function(){return null;};});function j(F,G){!F['currentElement']?F['doc']['appendChild'](G):F['currentElement']['appendChild'](G);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d,window['DOMParser']=d;},{'./dom':0x2,'./entities':0x3,'./sax':0x4}],0x2:[function(a,b,c){'use strict';function d(ap){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(aq){return typeof aq;}:function(aq){return aq&&'function'==typeof Symbol&&aq['constructor']===Symbol&&aq!==Symbol['prototype']?'symbol':typeof aq;},d(ap);}function f(ap,aq){for(var ar in ap){aq[ar]=ap[ar];}}function g(ap,aq){var ar=ap['prototype'];if(!(ar instanceof aq)){var as=function au(){};;as['prototype']=aq['prototype'],as=new as();for(var at in ar){as[at]=ar[at];}ap['prototype']=ar=as;}ar['constructor']!=ap&&(typeof ap!='function'&&console['error']('unknow\x20Class:'+ap),ar['constructor']=ap);}var h='http://www.w3.org/1999/xhtml',i={},j=i['ELEMENT_NODE']=0x1,k=i['ATTRIBUTE_NODE']=0x2,l=i['TEXT_NODE']=0x3,m=i['CDATA_SECTION_NODE']=0x4,n=i['ENTITY_REFERENCE_NODE']=0x5,o=i['ENTITY_NODE']=0x6,p=i['PROCESSING_INSTRUCTION_NODE']=0x7,q=i['COMMENT_NODE']=0x8,r=i['DOCUMENT_NODE']=0x9,s=i['DOCUMENT_TYPE_NODE']=0xa,t=i['DOCUMENT_FRAGMENT_NODE']=0xb,u=i['NOTATION_NODE']=0xc,v={},w={},x=v['INDEX_SIZE_ERR']=(w[0x1]='Index\x20size\x20error',0x1),y=v['DOMSTRING_SIZE_ERR']=(w[0x2]='DOMString\x20size\x20error',0x2),z=v['HIERARCHY_REQUEST_ERR']=(w[0x3]='Hierarchy\x20request\x20error',0x3),A=v['WRONG_DOCUMENT_ERR']=(w[0x4]='Wrong\x20document',0x4),B=v['INVALID_CHARACTER_ERR']=(w[0x5]='Invalid\x20character',0x5),C=v['NO_DATA_ALLOWED_ERR']=(w[0x6]='No\x20data\x20allowed',0x6),D=v['NO_MODIFICATION_ALLOWED_ERR']=(w[0x7]='No\x20modification\x20allowed',0x7),E=v['NOT_FOUND_ERR']=(w[0x8]='Not\x20found',0x8),F=v['NOT_SUPPORTED_ERR']=(w[0x9]='Not\x20supported',0x9),G=v['INUSE_ATTRIBUTE_ERR']=(w[0xa]='Attribute\x20in\x20use',0xa),H=v['INVALID_STATE_ERR']=(w[0xb]='Invalid\x20state',0xb),I=v['SYNTAX_ERR']=(w[0xc]='Syntax\x20error',0xc),J=v['INVALID_MODIFICATION_ERR']=(w[0xd]='Invalid\x20modification',0xd),K=v['NAMESPACE_ERR']=(w[0xe]='Invalid\x20namespace',0xe),L=v['INVALID_ACCESS_ERR']=(w[0xf]='Invalid\x20access',0xf);function M(ap,aq){if(aq instanceof Error)var ar=aq;else{ar=this,Error['call'](this,w[ap]),this['message']=w[ap];if(Error['captureStackTrace'])Error['captureStackTrace'](this,M);}ar['code']=ap;if(aq)this['message']=this['message']+':\x20'+aq;return ar;};M['prototype']=Error['prototype'],f(v,M);function N(){};N['prototype']={'length':0x0,'item':function ap(aq){return this[aq]||null;},'toString':function aq(ar,as){for(var at=[],au=0x0;au=0x0){var av=as['length']-0x1;while(au0x0;},'lookupPrefix':function aJ(aK){var aL=this;while(aL){var aM=aL['_nsMap'];if(aM)for(var aN in aM){if(aM[aN]==aK)return aN;}aL=aL['nodeType']==k?aL['ownerDocument']:aL['parentNode'];}return null;},'lookupNamespaceURI':function aK(aL){var aM=this;while(aM){var aN=aM['_nsMap'];if(aN){if(aL in aN)return aN[aL];}aM=aM['nodeType']==k?aM['ownerDocument']:aM['parentNode'];}return null;},'isDefaultNamespace':function aL(aM){var aN=this['lookupPrefix'](aM);return aN==null;}};function W(aM){return aM=='<'&&'<'||aM=='>'&&'>'||aM=='&'&&'&'||aM=='\x22'&&'"'||'&#'+aM['charCodeAt']()+';';}f(i,V),f(i,V['prototype']);function X(aM,aN){if(aN(aM))return!![];if(aM=aM['firstChild'])do{if(X(aM,aN))return!![];}while(aM=aM['nextSibling']);}function Y(){}function Z(aM,aN,aO){aM&&aM['_inc']++;var aP=aO['namespaceURI'];aP=='http://www.w3.org/2000/xmlns/'&&(aN['_nsMap'][aO['prefix']?aO['localName']:'']=aO['value']);}function a0(aM,aN,aO,aP){aM&&aM['_inc']++;var aQ=aO['namespaceURI'];aQ=='http://www.w3.org/2000/xmlns/'&&delete aN['_nsMap'][aO['prefix']?aO['localName']:''];}function a1(aM,aN,aO){if(aM&&aM['_inc']){aM['_inc']++;var aP=aN['childNodes'];if(aO)aP[aP['length']++]=aO;else{var aQ=aN['firstChild'],aR=0x0;while(aQ){aP[aR++]=aQ,aQ=aQ['nextSibling'];}aP['length']=aR;}}}function a2(aM,aN){var aO=aN['previousSibling'],aP=aN['nextSibling'];return aO?aO['nextSibling']=aP:aM['firstChild']=aP,aP?aP['previousSibling']=aO:aM['lastChild']=aO,a1(aM['ownerDocument'],aM),aN;}function a3(aM,aN,aO){var aP=aN['parentNode'];aP&&aP['removeChild'](aN);if(aN['nodeType']===t){var aQ=aN['firstChild'];if(aQ==null)return aN;var aR=aN['lastChild'];}else aQ=aR=aN;var aS=aO?aO['previousSibling']:aM['lastChild'];aQ['previousSibling']=aS,aR['nextSibling']=aO;aS?aS['nextSibling']=aQ:aM['firstChild']=aQ;aO==null?aM['lastChild']=aR:aO['previousSibling']=aR;do{aQ['parentNode']=aM;}while(aQ!==aR&&(aQ=aQ['nextSibling']));return a1(aM['ownerDocument']||aM,aM),aN['nodeType']==t&&(aN['firstChild']=aN['lastChild']=null),aN;}function a4(aM,aN){var aO=aN['parentNode'];if(aO){var aP=aM['lastChild'];aO['removeChild'](aN);var aP=aM['lastChild'];}var aP=aM['lastChild'];return aN['parentNode']=aM,aN['previousSibling']=aP,aN['nextSibling']=null,aP?aP['nextSibling']=aN:aM['firstChild']=aN,aM['lastChild']=aN,a1(aM['ownerDocument'],aM,aN),aN;}Y['prototype']={'nodeName':'#document','nodeType':r,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function aM(aN,aO){if(aN['nodeType']==t){var aP=aN['firstChild'];while(aP){var aQ=aP['nextSibling'];this['insertBefore'](aP,aO),aP=aQ;}return aN;}return this['documentElement']==null&&aN['nodeType']==j&&(this['documentElement']=aN),(a3(this,aN,aO),aN['ownerDocument']=this,aN);},'removeChild':function aN(aO){return this['documentElement']==aO&&(this['documentElement']=null),a2(this,aO);},'importNode':function aO(aP,aQ){return al(this,aP,aQ);},'getElementById':function aP(aQ){var aR=null;return X(this['documentElement'],function(aS){if(aS['nodeType']==j){if(aS['getAttribute']('id')==aQ)return aR=aS,!![];}}),aR;},'createElement':function aQ(aR){var aS=new a5();aS['ownerDocument']=this,aS['nodeName']=aR,aS['tagName']=aR,aS['childNodes']=new N();var aT=aS['attributes']=new Q();return aT['_ownerElement']=aS,aS;},'createDocumentFragment':function aR(){var aS=new af();return aS['ownerDocument']=this,aS['childNodes']=new N(),aS;},'createTextNode':function aS(aT){var aU=new a8();return aU['ownerDocument']=this,aU['appendData'](aT),aU;},'createComment':function aT(aU){var aV=new a9();return aV['ownerDocument']=this,aV['appendData'](aU),aV;},'createCDATASection':function aU(aV){var aW=new aa();return aW['ownerDocument']=this,aW['appendData'](aV),aW;},'createProcessingInstruction':function aV(aW,aX){var aY=new ag();return aY['ownerDocument']=this,aY['tagName']=aY['target']=aW,aY['nodeValue']=aY['data']=aX,aY;},'createAttribute':function aW(aX){var aY=new a6();return aY['ownerDocument']=this,aY['name']=aX,aY['nodeName']=aX,aY['localName']=aX,aY['specified']=!![],aY;},'createEntityReference':function aX(aY){var aZ=new ae();return aZ['ownerDocument']=this,aZ['nodeName']=aY,aZ;},'createElementNS':function aY(aZ,b0){var b1=new a5(),b2=b0['split'](':'),b3=b1['attributes']=new Q();return b1['childNodes']=new N(),b1['ownerDocument']=this,b1['nodeName']=b0,b1['tagName']=b0,b1['namespaceURI']=aZ,b2['length']==0x2?(b1['prefix']=b2[0x0],b1['localName']=b2[0x1]):b1['localName']=b0,b3['_ownerElement']=b1,b1;},'createAttributeNS':function aZ(b0,b1){var b2=new a6(),b3=b1['split'](':');return b2['ownerDocument']=this,b2['nodeName']=b1,b2['name']=b1,b2['namespaceURI']=b0,b2['specified']=!![],b3['length']==0x2?(b2['prefix']=b3[0x0],b2['localName']=b3[0x1]):b2['localName']=b1,b2;}},g(Y,V);function a5(){this['_nsMap']={};};a5['prototype']={'nodeType':j,'hasAttribute':function b0(b1){return this['getAttributeNode'](b1)!=null;},'getAttribute':function b1(b2){var b3=this['getAttributeNode'](b2);return b3&&b3['value']||'';},'getAttributeNode':function b2(b3){return this['attributes']['getNamedItem'](b3);},'setAttribute':function b3(b4,b5){var b6=this['ownerDocument']['createAttribute'](b4);b6['value']=b6['nodeValue']=''+b5,this['setAttributeNode'](b6);},'removeAttribute':function b4(b5){var b6=this['getAttributeNode'](b5);b6&&this['removeAttributeNode'](b6);},'appendChild':function b5(b6){return b6['nodeType']===t?this['insertBefore'](b6,null):a4(this,b6);},'setAttributeNode':function b6(b7){return this['attributes']['setNamedItem'](b7);},'setAttributeNodeNS':function b7(b8){return this['attributes']['setNamedItemNS'](b8);},'removeAttributeNode':function b8(b9){return this['attributes']['removeNamedItem'](b9['nodeName']);},'removeAttributeNS':function b9(ba,bb){var bc=this['getAttributeNodeNS'](ba,bb);bc&&this['removeAttributeNode'](bc);},'hasAttributeNS':function ba(bb,bc){return this['getAttributeNodeNS'](bb,bc)!=null;},'getAttributeNS':function bb(bc,bd){var be=this['getAttributeNodeNS'](bc,bd);return be&&be['value']||'';},'setAttributeNS':function bc(bd,be,bf){var bg=this['ownerDocument']['createAttributeNS'](bd,be);bg['value']=bg['nodeValue']=''+bf,this['setAttributeNode'](bg);},'getAttributeNodeNS':function bd(be,bf){return this['attributes']['getNamedItemNS'](be,bf);},'getElementsByTagName':function be(bf){return new O(this,function(bg){var bh=[];return X(bg,function(bi){bi!==bg&&bi['nodeType']==j&&(bf==='*'||bi['tagName']==bf)&&bh['push'](bi);}),bh;});},'getElementsByTagNameNS':function bf(bg,bh){return new O(this,function(bi){var bj=[];return X(bi,function(bk){bk!==bi&&bk['nodeType']===j&&(bg==='*'||bk['namespaceURI']===bg)&&(bh==='*'||bk['localName']==bh)&&bj['push'](bk);}),bj;});}},Y['prototype']['getElementsByTagName']=a5['prototype']['getElementsByTagName'],Y['prototype']['getElementsByTagNameNS']=a5['prototype']['getElementsByTagNameNS'],g(a5,V);function a6(){};a6['prototype']['nodeType']=k,g(a6,V);function a7(){};a7['prototype']={'data':'','substringData':function bg(bh,bi){return this['data']['substring'](bh,bh+bi);},'appendData':function bh(bi){bi=this['data']+bi,this['nodeValue']=this['data']=bi,this['length']=bi['length'];},'insertData':function bi(bj,bk){this['replaceData'](bj,0x0,bk);},'appendChild':function bj(bk){throw new Error(w[z]);},'deleteData':function bk(bl,bm){this['replaceData'](bl,bm,'');},'replaceData':function bl(bm,bn,bo){var bp=this['data']['substring'](0x0,bm),bq=this['data']['substring'](bm+bn);bo=bp+bo+bq,this['nodeValue']=this['data']=bo,this['length']=bo['length'];}},g(a7,V);function a8(){};a8['prototype']={'nodeName':'#text','nodeType':l,'splitText':function bm(bn){var bo=this['data'],bp=bo['substring'](bn);bo=bo['substring'](0x0,bn),this['data']=this['nodeValue']=bo,this['length']=bo['length'];var bq=this['ownerDocument']['createTextNode'](bp);return this['parentNode']&&this['parentNode']['insertBefore'](bq,this['nextSibling']),bq;}},g(a8,a7);function a9(){};a9['prototype']={'nodeName':'#comment','nodeType':q},g(a9,a7);function aa(){};aa['prototype']={'nodeName':'#cdata-section','nodeType':m},g(aa,a7);function ab(){};ab['prototype']['nodeType']=s,g(ab,V);function ac(){};ac['prototype']['nodeType']=u,g(ac,V);function ad(){};ad['prototype']['nodeType']=o,g(ad,V);function ae(){};ae['prototype']['nodeType']=n,g(ae,V);function af(){};af['prototype']['nodeName']='#document-fragment',af['prototype']['nodeType']=t,g(af,V);function ag(){}ag['prototype']['nodeType']=p,g(ag,V);function ah(){}ah['prototype']['serializeToString']=function(bn,bo,bp){return ai['call'](bn,bo,bp);},V['prototype']['toString']=ai;function ai(bn,bo){var bp=[],bq=this['nodeType']==0x9&&this['documentElement']||this,br=bq['prefix'],bs=bq['namespaceURI'];if(bs&&br==null){var br=bq['lookupPrefix'](bs);if(br==null)var bt=[{'namespace':bs,'prefix':null}];}return ak(this,bp,bn,bo,bt),bp['join']('');}function aj(bn,bo,bp){var bq=bn['prefix']||'',br=bn['namespaceURI'];if(!bq&&!br)return![];if(bq==='xml'&&br==='http://www.w3.org/XML/1998/namespace'||br=='http://www.w3.org/2000/xmlns/')return![];var bs=bp['length'];while(bs--){var bt=bp[bs];if(bt['prefix']==bq)return bt['namespace']!=br;}return!![];}function ak(bn,bo,bp,bq,br){if(bq){bn=bq(bn);if(bn){if(typeof bn=='string'){bo['push'](bn);return;}}else return;}switch(bn['nodeType']){case j:if(!br)br=[];var bs=br['length'],bt=bn['attributes'],bu=bt['length'],bv=bn['firstChild'],bw=bn['tagName'];bp=h===bn['namespaceURI']||bp,bo['push']('<',bw);for(var bx=0x0;bx');if(bp&&/^script$/i['test'](bw))while(bv){bv['data']?bo['push'](bv['data']):ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}else while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}bo['push']('');}else bo['push']('/>');return;case r:case t:var bv=bn['firstChild'];while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}return;case k:return bo['push']('\x20',bn['name'],'=\x22',bn['value']['replace'](/[<&"]/g,W),'\x22');case l:return bo['push'](bn['data']['replace'](/[<&]/g,W));case m:return bo['push']('');case q:return bo['push']('');case s:var bC=bn['publicId'],bD=bn['systemId'];bo['push']('');else{if(bD&&bD!='.')bo['push']('\x20SYSTEM\x20\x22',bD,'\x22>');else{var bE=bn['internalSubset'];bE&&bo['push']('\x20[',bE,']'),bo['push']('>');}}return;case p:return bo['push']('');case n:return bo['push']('&',bn['nodeName'],';');default:bo['push']('??',bn['nodeName']);}}function al(bn,bo,bp){var bq;switch(bo['nodeType']){case j:bq=bo['cloneNode'](![]),bq['ownerDocument']=bn;case t:break;case k:bp=!![];break;}!bq&&(bq=bo['cloneNode'](![]));bq['ownerDocument']=bn,bq['parentNode']=null;if(bp){var br=bo['firstChild'];while(br){bq['appendChild'](al(bn,br,bp)),br=br['nextSibling'];}}return bq;}function am(bn,bo,bp){var bq=new bo['constructor']();for(var br in bo){var bs=bo[br];d(bs)!='object'&&(bs!=bq[br]&&(bq[br]=bs));}bo['childNodes']&&(bq['childNodes']=new N());bq['ownerDocument']=bn;switch(bq['nodeType']){case j:var bt=bo['attributes'],bu=bq['attributes']=new Q(),bv=bt['length'];bu['_ownerElement']=bq;for(var bw=0x0;bw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function A(B,C,D){var E=this['domBuilder'];E['startDocument'](),v(C,C={}),p(B,C,D,E,this['errorHandler']),E['endDocument']();}};function p(B,C,D,E,F){function G(a7){if(a7>0xffff){a7-=0x10000;var a8=0xd800+(a7>>0xa),a9=0xdc00+(a7&0x3ff);return String['fromCharCode'](a8,a9);}else return String['fromCharCode'](a7);}function H(a7){var a8=a7['slice'](0x1,-0x1);if(a8 in D)return D[a8];else return a8['charAt'](0x0)==='#'?G(parseInt(a8['substr'](0x1)['replace']('x','0x'))):(F['error']('entity\x20not\x20found:'+a7),a7);}function I(a7){if(a7>Q){var a8=B['substring'](Q,a7)['replace'](/&#?\w+;/g,H);N&&J(Q),E['characters'](a8,0x0,a7-Q),Q=a7;}}function J(a7,a8){while(a7>=L&&(a8=M['exec'](B))){K=a8['index'],L=K+a8[0x0]['length'],N['lineNumber']++;}N['columnNumber']=a7-K+0x1;}var K=0x0,L=0x0,M=/.*(?:\r\n?|\n)|.*$/g,N=E['locator'],O=[{'currentNSMap':C}],P={},Q=0x0;while(!![]){try{var R=B['indexOf']('<',Q);if(R<0x0){if(!B['substr'](Q)['match'](/^\s*$/)){var S=E['doc'],T=S['createTextNode'](B['substr'](Q));S['appendChild'](T),E['currentElement']=T;}return;}R>Q&&I(R);switch(B['charAt'](R+0x1)){case'/':var U=B['indexOf']('>',R+0x3),V=B['substring'](R+0x2,U),W=O['pop']();if(U<0x0)V=B['substring'](R+0x2)['replace'](/[\s<].*/,''),F['error']('end\x20tag\x20name:\x20'+V+'\x20is\x20not\x20complete:'+W['tagName']),U=R+0x1+V['length'];else V['match'](/\sQ?Q=U:I(Math['max'](R,Q)+0x1);}}function q(B,C){return C['lineNumber']=B['lineNumber'],C['columnNumber']=B['columnNumber'],C;}function r(B,C,D,E,F,G){var H,I,J=++C,K=g;while(!![]){var L=B['charAt'](J);switch(L){case'=':if(K===h)H=B['slice'](C,J),K=j;else{if(K===i)K=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(K===j||K===h){K===h&&(G['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),H=B['slice'](C,J));C=J+0x1,J=B['indexOf'](L,C);if(J>0x0)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C-0x1),K=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+L+'\x27\x20match');}else{if(K==k)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C),G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20start\x20quot('+L+')!!'),C=J+0x1,K=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:K=n,D['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':G['error']('unexpected\x20end\x20of\x20input');K==g&&D['setTagName'](B['slice'](C,J));return J;case'>':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:break;case k:case h:I=B['slice'](C,J);I['slice'](-0x1)==='/'&&(D['closed']=!![],I=I['slice'](0x0,-0x1));case i:K===i&&(I=H);K==k?(G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I['replace'](/&#?\w+;/g,F),C)):((E['']!=='http://www.w3.org/1999/xhtml'||!I['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20value!!\x20\x22'+I+'\x22\x20instead!!'),D['add'](I,I,C));break;case j:throw new Error('attribute\x20value\x20missed!!');}return J;case'\u0080':L='\x20';default:if(L<='\x20')switch(K){case g:D['setTagName'](B['slice'](C,J)),K=m;break;case h:H=B['slice'](C,J),K=i;break;case k:var I=B['slice'](C,J)['replace'](/&#?\w+;/g,F);G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I,C);case l:K=m;break;}else switch(K){case i:var M=D['tagName'];(E['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead2!!');D['add'](H,H,C),C=J,K=h;break;case l:G['warning']('attribute\x20space\x20is\x20required\x22'+H+'\x22!!');case m:K=h,C=J;break;case j:K=k,C=J;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}J++;}}function s(B,C,D){var E=B['tagName'],F=null,G=B['length'];while(G--){var H=B[G],I=H['qName'],J=H['value'],K=I['indexOf'](':');if(K>0x0)var L=H['prefix']=I['slice'](0x0,K),M=I['slice'](K+0x1),N=L==='xmlns'&&M;else M=I,L=null,N=I==='xmlns'&&'';H['localName']=M,N!==![]&&(F==null&&(F={},v(D,D={})),D[N]=F[N]=J,H['uri']='http://www.w3.org/2000/xmlns/',C['startPrefixMapping'](N,J));}var G=B['length'];while(G--){H=B[G];var L=H['prefix'];L&&(L==='xml'&&(H['uri']='http://www.w3.org/XML/1998/namespace'),L!=='xmlns'&&(H['uri']=D[L||'']));}var K=E['indexOf'](':');K>0x0?(L=B['prefix']=E['slice'](0x0,K),M=B['localName']=E['slice'](K+0x1)):(L=null,M=B['localName']=E);var O=B['uri']=D[L||''];C['startElement'](O,M,E,B);if(B['closed']){C['endElement'](O,M,E);if(F)for(L in F){C['endPrefixMapping'](L);}}else return B['currentNSMap']=D,B['localNSMap']=F,!![];}function t(B,C,D,E,F){if(/^(?:script|textarea)$/i['test'](D)){var G=B['indexOf']('',C),H=B['substring'](C+0x1,G);if(/[&<]/['test'](H)){if(/^script$/i['test'](D))return F['characters'](H,0x0,H['length']),G;return H=H['replace'](/&#?\w+;/g,E),F['characters'](H,0x0,H['length']),G;}}return C+0x1;}function u(B,C,D,E){var F=E[D];return F==null&&(F=B['lastIndexOf'](''),F',C+0x4);return G>C?(D['comment'](B,C+0x4,G-C-0x4),G+0x3):(E['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(B['substr'](C+0x3,0x6)=='CDATA['){var G=B['indexOf'](']]>',C+0x9);return D['startCDATA'](),D['characters'](B,C+0x9,G-C-0x9),D['endCDATA'](),G+0x3;}var H=z(B,C),I=H['length'];if(I>0x1&&/!doctype/i['test'](H[0x0][0x0])){var J=H[0x1][0x0],K=I>0x3&&/^public$/i['test'](H[0x2][0x0])&&H[0x3][0x0],L=I>0x4&&H[0x4][0x0],M=H[I-0x1];return D['startDTD'](J,K&&K['replace'](/^(['"])(.*?)\1$/,'$2'),L&&L['replace'](/^(['"])(.*?)\1$/,'$2')),D['endDTD'](),M['index']+M[0x0]['length'];}}return-0x1;}function x(B,C,D){var E=B['indexOf']('?>',C);if(E){var F=B['substring'](C,E)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(F){var G=F[0x0]['length'];return D['processingInstruction'](F[0x1],F[0x2]),E+0x2;}else return-0x1;}return-0x1;}function y(B){}y['prototype']={'setTagName':function B(C){if(!f['test'](C))throw new Error('invalid\x20tagName:'+C);this['tagName']=C;},'add':function C(D,E,F){if(!f['test'](D))throw new Error('invalid\x20attribute:'+D);this[this['length']++]={'qName':D,'value':E,'offset':F};},'length':0x0,'getLocalName':function D(E){return this[E]['localName'];},'getLocator':function E(F){return this[F]['locator'];},'getQName':function F(G){return this[G]['qName'];},'getURI':function G(H){return this[H]['uri'];},'getValue':function H(I){return this[I]['value'];}};function z(I,J){var K,L=[],M=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;M['lastIndex']=J,M['exec'](I);while(K=M['exec'](I)){L['push'](K);if(K[0x1])return L;}}c['XMLReader']=o;},{}],0x5:[function(a,b,c){'use strict';function d(D){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(E){return typeof E;}:function(E){return E&&'function'==typeof Symbol&&E['constructor']===Symbol&&E!==Symbol['prototype']?'symbol':typeof E;},d(D);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLAudioElement'));function f(D){return D&&D['__esModule']?D:{'default':D};}function g(D,E){if(!(D instanceof E))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(D,E){for(var F=0x0;F0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};p(E,'addEventListener',this,0x3)([G,H,I]),G=String(G)['toLowerCase'](),this['_loaded']&&this['_canplayEvents']['indexOf'](G)!==-0x1&&this['dispatchEvent']({'type':G});}},{'key':'load','value':function G(){}},{'key':'play','value':function H(){B[this['_$sn']]['play']();}},{'key':'resume','value':function I(){B[this['_$sn']]['resume']();}},{'key':'pause','value':function J(){B[this['_$sn']]['pause']();}},{'key':'stop','value':function K(){B[this['_$sn']]['stop']();}},{'key':'destroy','value':function L(){B[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function M(){var N=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof N!=='string')return'';if(N['indexOf']('audio/mpeg')>-0x1||N['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function N(){return B[this['_$sn']]['currentTime'];},'set':function O(P){B[this['_$sn']]['seek'](P);}},{'key':'duration','get':function P(){return B[this['_$sn']]['duration'];}},{'key':'src','get':function Q(){return this['_src'];},'set':function R(S){this['_src']=S,this['_loaded']=![],this['readyState']=this['HAVE_NOTHING'];var T=B[this['_$sn']];T['src']=S;}},{'key':'loop','get':function S(){return this['_loop'];},'set':function T(U){this['_loop']=U,B[this['_$sn']]['loop']=U;}},{'key':'autoplay','get':function U(){return this['autoplay'];},'set':function V(W){this['_autoplay']=W,B[this['_$sn']]['autoplay']=W;}},{'key':'paused','get':function W(){return this['_paused'];}},{'key':'volume','get':function X(){return this['_volume'];},'set':function Y(Z){this['_volume']=Z,!this['_muted']&&(B[this['_$sn']]['volume']=Z);}},{'key':'muted','get':function Z(){return this['_muted'];},'set':function a0(a1){this['_muted']=a1,a1?B[this['_$sn']]['volume']=0x0:B[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function a1(){var a2=new E();return a2['loop']=this['loop'],a2['autoplay']=this['autoplay'],a2['src']=this['src'],a2;}}]);}(e['default']);},{'./HTMLAudioElement':0xd}],0x6:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=h;var d=a('./WindowProperties'),e=![],f=![],g=![];function h(){var canvas=tt['createCanvas']();canvas['type']='canvas';var i=canvas['getContext'];return canvas['getBoundingClientRect']=function(){var j={'top':0x0,'left':0x0,'width':window['innerWidth'],'height':window['innerHeight']};return j;},canvas['style']={'top':'0px','left':'0px','width':d['innerWidth']+'px','height':d['innerHeight']+'px'},canvas['addEventListener']=function(j,k){var l=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};document['addEventListener'](j,k,l);},canvas['removeEventListener']=function(j,k){document['removeEventListener'](j,k);},canvas['dispatchEvent']=function(){var j=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',j['type'],j);},Object['defineProperty'](canvas,'clientWidth',{'enumerable':!![],'get':function j(){return d['innerWidth'];}}),Object['defineProperty'](canvas,'clientHeight',{'enumerable':!![],'get':function k(){return d['innerHeight'];}}),canvas;}},{'./WindowProperties':0x18}],0x7:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./Node'));function e(u){return u&&u['__esModule']?u:{'default':u};}function f(u){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},f(u);}function g(u,v){for(var w=0x0;w0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},q=j['get'](this);!q&&(q={},j['set'](this,q));!q[n]&&(q[n]=[]);q[n]['push'](o);if(p['capture']){}if(p['once']){}if(p['passive']){}}},{'key':'removeEventListener','value':function n(o,p){var q=j['get'](this);if(q){var r=q[o];if(r&&r['length']>0x0)for(var s=r['length'];s--;s>0x0){if(r[s]===p){r['splice'](s,0x1);break;}}}}},{'key':'dispatchEvent','value':function o(){var p=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},q=j['get'](this)[p['type']];if(q)for(var r=0x0;r0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return i(this,x),y=l(this,x),s(y,'className',''),s(y,'childern',[]),s(y,'style',{'width':''['concat'](f['innerWidth'],'px'),'height':''['concat'](f['innerHeight'],'px')}),s(y,'insertBefore',e['noop']),s(y,'innerHTML',''),y['tagName']=z['toUpperCase'](),y;}return q(x,w),k(x,[{'key':'setAttribute','value':function y(z,A){this[z]=A;}},{'key':'getAttribute','value':function z(A){return this[A];}},{'key':'clientWidth','get':function A(){var B=parseInt(this['style']['fontSize'],0xa)*this['innerHTML']['length'];return Number['isNaN'](B)?0x0:B;}},{'key':'clientHeight','get':function B(){var C=parseInt(this['style']['fontSize'],0xa);return Number['isNaN'](C)?0x0:C;}},{'key':'getBoundingClientRect','value':function C(){return{'top':0x0,'left':0x0,'width':f['innerWidth'],'height':f['innerHeight']};}},{'key':'focus','value':function D(){}}]);}(d['default']);},{'./Element':0x7,'./WindowProperties':0x18,'./util/index.js':0x1f}],0x10:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./HTMLElement'));function e(h){return h&&h['__esModule']?h:{'default':h};}var f=tt['createImage']()['constructor'],g=c['default']=f;},{'./HTMLElement':0xf}],0x11:[function(a,b,c){'use strict';function d(t){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(u){return typeof u;}:function(u){return u&&'function'==typeof Symbol&&u['constructor']===Symbol&&u!==Symbol['prototype']?'symbol':typeof u;},d(t);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLElement'));function f(t){return t&&t['__esModule']?t:{'default':t};}function g(t,u){if(!(t instanceof u))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(u,v){for(var w=0x0;w-0x1)return this['childNodes']['splice'](A,0x1);return null;}}]);}(d['default']);},{'./EventTarget.js':0xb}],0x16:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];e(this,m),h(this,'binaryType',''),h(this,'bufferedAmount',0x0),h(this,'extensions',''),h(this,'onclose',null),h(this,'onerror',null),h(this,'onmessage',null),h(this,'onopen',null),h(this,'protocol',''),h(this,'readyState',0x3);if(typeof n!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](n))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](n,'\x27\x20is\x20invalid'));this['url']=n,this['readyState']=m['CONNECTING'];var q=tt['connectSocket']({'url':n,'protocols':Array['isArray'](p)?p:[p],'tcpNoDelay':!![]});return k['set'](this,q),q['onClose'](function(r){o['readyState']=m['CLOSED'],typeof o['onclose']==='function'&&o['onclose'](r);}),q['onMessage'](function(r){typeof o['onmessage']==='function'&&o['onmessage'](r);}),q['onOpen'](function(){o['readyState']=m['OPEN'],typeof o['onopen']==='function'&&o['onopen']();}),q['onError'](function(r){typeof o['onerror']==='function'&&o['onerror'](new Error(r['errMsg']));}),this;}return g(m,[{'key':'close','value':function n(o,p){this['readyState']=m['CLOSING'];var q=k['get'](this);q['close']({'code':o,'reason':p});}},{'key':'send','value':function o(p){if(typeof p!=='string'&&!(p instanceof ArrayBuffer)&&!ArrayBuffer['isView'](p))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](p,'\x20is\x20invalid'));var q=k['get'](this);q['send']({'data':p});}}]);}());h(l,'CONNECTING',0x0),h(l,'OPEN',0x1),h(l,'CLOSING',0x2),h(l,'CLOSED',0x3);},{}],0x18:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['screen']=c['performance']=c['ontouchstart']=c['ontouchmove']=c['ontouchend']=c['innerWidth']=c['innerHeight']=c['devicePixelRatio']=void 0x0;var d=tt['getSystemInfoSync'](),e=d['screenWidth'],f=d['screenHeight'],g=c['devicePixelRatio']=d['devicePixelRatio'],h=c['innerWidth']=e,i=c['innerHeight']=f,j=c['screen']={'width':e,'height':f,'availWidth':h,'availHeight':i,'availLeft':0x0,'availTop':0x0},k=c['performance']={'now':Date['now']},l=c['ontouchstart']=null,m=c['ontouchmove']=null,n=c['ontouchend']=null;},{}],0x19:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./EventTarget.js'));function e(B){return B&&B['__esModule']?B:{'default':B};}function f(B){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(C){return typeof C;}:function(C){return C&&'function'==typeof Symbol&&C['constructor']===Symbol&&C!==Symbol['prototype']?'symbol':typeof C;},f(B);}function g(B,C){if(!(B instanceof C))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(B,C){for(var D=0x0;D0x1?C-0x1:0x0),E=0x1;E0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==C['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var L=tt['request']({'data':K,'url':t['get'](this),'method':u['get'](this),'header':v['get'](this),'dataType':'other','responseType':this['responseType']==='arraybuffer'?'arraybuffer':'text','success':function M(N){var O=N['data'],P=N['statusCode'],Q=N['header'];J['status']=P,w['set'](J,Q),y['call'](J,'loadstart'),z['call'](J,C['HEADERS_RECEIVED']),z['call'](J,C['LOADING']);switch(J['responseType']){case'json':J['responseText']=O;try{J['response']=JSON['parse'](O);}catch(U){J['response']=null;}break;case'':case'text':J['responseText']=J['response']=O;break;case'arraybuffer':J['response']=O,J['responseText']='';var R=new Uint8Array(O),S=R['byteLength'];for(var T=0x0;T0x0)for(var z=y['length'];z--;z>0x0){if(y[z]===x){y['splice'](z,0x1);break;}}},'dispatchEvent':function w(x){var y=l[x['type']];if(y)for(var z=0x0;z0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',s['type'],s);};var l=tt['getSystemInfoSync'](),m=l['platform'];if(typeof __devtoolssubcontext==='undefined'&&m==='devtools'){for(var n in e){var o=Object['getOwnPropertyDescriptor'](j,n);(!o||o['configurable']===!![])&&Object['defineProperty'](window,n,{'value':e[n]});}for(var p in e['document']){var q=Object['getOwnPropertyDescriptor'](j['document'],p);(!q||q['configurable']===!![])&&Object['defineProperty'](j['document'],p,{'value':e['document'][p]});}window['parent']=window;}else{for(var r in e){j[r]=e[r];}j['window']=e,window=j,window['top']=window['parent']=window,GameGlobal['global']=GameGlobal['global']||GameGlobal;}}!GameGlobal['__isAdapterInjected']&&(GameGlobal['__isAdapterInjected']=!![],k()),j['WebAssembly']=j['CCWebAssembly']=j['TTWebAssembly'],a('../../../../common/xmldom/dom-parser'),a('../unify');},{'../../../../common/xmldom/dom-parser':0x1,'../unify':0x21,'./HTMLElement':0xf,'./document':0x1a,'./window':0x20}],0x1c:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d={get 'length'(){var f=tt['getStorageInfoSync'](),g=f['keys'];return g['length'];},'key':function f(g){var h=tt['getStorageInfoSync'](),i=h['keys'];return i[g];},'getItem':function g(h){return tt['getStorageSync'](h);},'setItem':function h(i,j){return tt['setStorageSync'](i,j);},'removeItem':function i(j){tt['removeStorageSync'](j);},'clear':function j(){tt['clearStorageSync']();}},e=c['default']=d;},{}],0x1d:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d={'href':'game.js','protocol':'','reload':function f(){}},e=c['default']=d;},{}],0x1e:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=a('./util/index.js'),e=tt['getSystemInfoSync']();console['log'](e);var f=e['system'],g=e['platform'],h=e['language'],i=e['version'],j=f['toLowerCase']()['indexOf']('android')!==-0x1,k=j?'Android;\x20CPU\x20'['concat'](f):'iPhone;\x20CPU\x20iPhone\x20OS\x20'['concat'](f,'\x20like\x20Mac\x20OS\x20X'),l='Mozilla/5.0\x20('['concat'](k,')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20MicroMessenger/')['concat'](i,'\x20MiniGame\x20NetType/WIFI\x20Language/')['concat'](h),navigator={'platform':g,'language':h,'appVersion':'5.0\x20('['concat'](k,')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1'),'userAgent':l,'onLine':!![],'geolocation':{'getCurrentPosition':d['noop'],'watchPosition':d['noop'],'clearWatch':d['noop']}};tt['onNetworkStatusChange']&&tt['onNetworkStatusChange'](function(n){navigator['onLine']=n['isConnected'];});var m=c['default']=navigator;},{'./util/index.js':0x1f}],0x1f:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['noop']=d;function d(){}},{}],0x20:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]});var d={'canvas':!![],'setTimeout':!![],'setInterval':!![],'clearTimeout':!![],'clearInterval':!![],'requestAnimationFrame':!![],'cancelAnimationFrame':!![],'navigator':!![],'XMLHttpRequest':!![],'WebSocket':!![],'Image':!![],'ImageBitmap':!![],'Audio':!![],'FileReader':!![],'HTMLElement':!![],'HTMLImageElement':!![],'HTMLCanvasElement':!![],'HTMLMediaElement':!![],'HTMLAudioElement':!![],'HTMLVideoElement':!![],'WebGLRenderingContext':!![],'TouchEvent':!![],'MouseEvent':!![],'DeviceMotionEvent':!![],'localStorage':!![],'location':!![]};Object['defineProperty'](c,'Audio',{'enumerable':!![],'get':function F(){return k['default'];}}),Object['defineProperty'](c,'DeviceMotionEvent',{'enumerable':!![],'get':function G(){return t['DeviceMotionEvent'];}}),Object['defineProperty'](c,'FileReader',{'enumerable':!![],'get':function H(){return l['default'];}}),Object['defineProperty'](c,'HTMLAudioElement',{'enumerable':!![],'get':function I(){return q['default'];}}),Object['defineProperty'](c,'HTMLCanvasElement',{'enumerable':!![],'get':function J(){return o['default'];}}),Object['defineProperty'](c,'HTMLElement',{'enumerable':!![],'get':function K(){return m['default'];}}),Object['defineProperty'](c,'HTMLImageElement',{'enumerable':!![],'get':function L(){return n['default'];}}),Object['defineProperty'](c,'HTMLMediaElement',{'enumerable':!![],'get':function M(){return p['default'];}}),Object['defineProperty'](c,'HTMLVideoElement',{'enumerable':!![],'get':function N(){return r['default'];}}),Object['defineProperty'](c,'Image',{'enumerable':!![],'get':function O(){return i['default'];}}),Object['defineProperty'](c,'ImageBitmap',{'enumerable':!![],'get':function P(){return j['default'];}}),Object['defineProperty'](c,'MouseEvent',{'enumerable':!![],'get':function Q(){return t['MouseEvent'];}}),Object['defineProperty'](c,'TouchEvent',{'enumerable':!![],'get':function R(){return t['TouchEvent'];}}),Object['defineProperty'](c,'WebGLRenderingContext',{'enumerable':!![],'get':function S(){return s['default'];}}),Object['defineProperty'](c,'WebSocket',{'enumerable':!![],'get':function T(){return h['default'];}}),Object['defineProperty'](c,'XMLHttpRequest',{'enumerable':!![],'get':function U(){return g['default'];}}),c['clearTimeout']=c['clearInterval']=c['canvas']=c['cancelAnimationFrame']=void 0x0,Object['defineProperty'](c,'localStorage',{'enumerable':!![],'get':function V(){return u['default'];}}),Object['defineProperty'](c,'location',{'enumerable':!![],'get':function W(){return v['default'];}}),Object['defineProperty'](c,'navigator',{'enumerable':!![],'get':function X(){return f['default'];}}),c['setTimeout']=c['setInterval']=c['requestAnimationFrame']=void 0x0;var e=x(a('./Canvas')),f=x(a('./navigator')),g=x(a('./XMLHttpRequest')),h=x(a('./WebSocket')),i=x(a('./Image')),j=x(a('./ImageBitmap')),k=x(a('./Audio')),l=x(a('./FileReader')),m=x(a('./HTMLElement')),n=x(a('./HTMLImageElement')),o=x(a('./HTMLCanvasElement')),p=x(a('./HTMLMediaElement')),q=x(a('./HTMLAudioElement')),r=x(a('./HTMLVideoElement')),s=x(a('./WebGLRenderingContext')),t=a('./EventIniter/index.js'),u=x(a('./localStorage')),v=x(a('./location')),w=a('./WindowProperties');Object['keys'](w)['forEach'](function(Y){if(Y==='default'||Y==='__esModule')return;if(Object['prototype']['hasOwnProperty']['call'](d,Y))return;if(Y in c&&c[Y]===w[Y])return;Object['defineProperty'](c,Y,{'enumerable':!![],'get':function Z(){return w[Y];}});});function x(Y){return Y&&Y['__esModule']?Y:{'default':Y};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new e['default']();var canvas=c['canvas']=GameGlobal['screencanvas'],y=GameGlobal,z=c['setTimeout']=y['setTimeout'],A=c['setInterval']=y['setInterval'],B=c['clearTimeout']=y['clearTimeout'],C=c['clearInterval']=y['clearInterval'],D=c['requestAnimationFrame']=y['requestAnimationFrame'],E=c['cancelAnimationFrame']=y['cancelAnimationFrame'];},{'./Audio':0x5,'./Canvas':0x6,'./EventIniter/index.js':0xa,'./FileReader':0xc,'./HTMLAudioElement':0xd,'./HTMLCanvasElement':0xe,'./HTMLElement':0xf,'./HTMLImageElement':0x10,'./HTMLMediaElement':0x11,'./HTMLVideoElement':0x12,'./Image':0x13,'./ImageBitmap':0x14,'./WebGLRenderingContext':0x16,'./WebSocket':0x17,'./WindowProperties':0x18,'./XMLHttpRequest':0x19,'./localStorage':0x1c,'./location':0x1d,'./navigator':0x1e}],0x21:[function(a,b,c){'use strict';var d=a('./utils');window['__globalAdapter']=window['__globalAdapter']||{};if(window['__globalAdapter']){var e=window['__globalAdapter'],f=tt['getSystemInfoSync'](),g=f['windowWidth'],h=f['windowHeight'],i=g>h;e['isSubContext']=tt['getOpenDataContext']===undefined,e['isDevTool']=f['platform']==='devtools',d['cloneMethod'](e,tt,'getSystemInfoSync'),d['cloneMethod'](e,tt,'onTouchStart'),d['cloneMethod'](e,tt,'onTouchMove'),d['cloneMethod'](e,tt,'onTouchEnd'),d['cloneMethod'](e,tt,'onTouchCancel'),d['cloneMethod'](e,tt,'createInnerAudioContext'),d['cloneMethod'](e,tt,'createVideo'),d['cloneMethod'](e,tt,'setPreferredFramesPerSecond'),d['cloneMethod'](e,tt,'showKeyboard'),d['cloneMethod'](e,tt,'hideKeyboard'),d['cloneMethod'](e,tt,'updateKeyboard'),d['cloneMethod'](e,tt,'onKeyboardInput'),d['cloneMethod'](e,tt,'onKeyboardConfirm'),d['cloneMethod'](e,tt,'onKeyboardComplete'),d['cloneMethod'](e,tt,'offKeyboardInput'),d['cloneMethod'](e,tt,'offKeyboardConfirm'),d['cloneMethod'](e,tt,'offKeyboardComplete'),d['cloneMethod'](e,tt,'getOpenDataContext'),d['cloneMethod'](e,tt,'onMessage'),d['cloneMethod'](e,tt,'getSharedCanvas'),d['cloneMethod'](e,tt,'loadFont'),d['cloneMethod'](e,tt,'onShow'),d['cloneMethod'](e,tt,'onHide'),d['cloneMethod'](e,tt,'onError'),d['cloneMethod'](e,tt,'offError');var j=![],k=0x1;tt['onDeviceOrientationChange']&&tt['onDeviceOrientationChange'](function(l){if(l['value']==='landscape')k=0x1;else l['value']==='landscapeReverse'&&(k=-0x1);}),Object['assign'](e,{'startAccelerometer':function l(m){!j?(j=!![],tt['onAccelerometerChange']&&tt['onAccelerometerChange'](function(n){var o={},p=n['x'],q=n['y'];if(i){var r=p;p=-q,q=r;}o['x']=p*k,o['y']=q*k,o['z']=n['z'],m&&m(o);})):tt['startAccelerometer']&&tt['startAccelerometer']({'fail':function n(o){console['error']('start\x20accelerometer\x20failed',o);}});},'stopAccelerometer':function m(){tt['stopAccelerometer']&&tt['stopAccelerometer']({'fail':function n(o){console['error']('stop\x20accelerometer\x20failed',o);}});}});}},{'./utils':0x22}],0x22:[function(a,b,c){'use strict';var d={'cloneMethod':function e(f,g,h,i){g[h]&&(i=i||h,f[i]=g[h]['bind'](g));}};b['exports']=d;},{}]},{},[0x1b])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/web-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/web-adapter.min.js +deleted file mode 100644 +index 35f423c..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/bytedance/web-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function r(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],r,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j=z+A||z?new java['lang']['String'](y,z,A)+'':y;}function u(y,z){(y['currentElement']||y['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(y,z){var A=this['options'],B=new w(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},z=/\/x?html?$/['test'](z),G=z?v['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=((H,I,J)=>{if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;})(D,C,E),B['domBuilder']=A['domBuilder']||C,z&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',y?B['parse'](y,F,G):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new x()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(y,z,A,B){var C=this['doc'],D=C['createElementNS'](y,A||z),E=B['length'];u(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==az&&'>')||('&'==az?'&':'\x22'==az&&'"')||'&#'+az['charCodeAt']()+';';}function ac(az,aA){if(aA(az))return 0x1;if(az=az['firstChild'])do{if(ac(az,aA))return 0x1;}while(az=az['nextSibling']);}function ad(){}function ae(az,aA,aB){az&&az['_inc']++,'http://www.w3.org/2000/xmlns/'==aB['namespaceURI']&&delete aA['_nsMap'][aB['prefix']?aB['localName']:''];}function af(az,aA,aB){if(az&&az['_inc']){az['_inc']++;var aC=aA['childNodes'];if(aB)aC[aC['length']++]=aB;else{for(var aD=aA['firstChild'],aE=0x0;aD;)aD=(aC[aE++]=aD)['nextSibling'];aC['length']=aE;}}}function ag(az,aA){var aB=aA['previousSibling'],aC=aA['nextSibling'];return aB?aB['nextSibling']=aC:az['firstChild']=aC,aC?aC['previousSibling']=aB:az['lastChild']=aB,af(az['ownerDocument'],az),aA;}function ah(az,aA,aB){var aC=aA['parentNode'];if(aC&&aC['removeChild'](aA),0xb===aA['nodeType']){var aD=aA['firstChild'];if(null==aD)return aA;var aE=aA['lastChild'];}else aD=aE=aA;aC=aB?aB['previousSibling']:az['lastChild'];for(aD['previousSibling']=aC,aE['nextSibling']=aB,aC?aC['nextSibling']=aD:az['firstChild']=aD,null==aB?az['lastChild']=aE:aB['previousSibling']=aE;aD['parentNode']=az,aD!==aE&&(aD=aD['nextSibling']););return af(az['ownerDocument']||az,az),0xb==aA['nodeType']&&(aA['firstChild']=aA['lastChild']=null),aA;}function ai(){this['_nsMap']={};}function aj(){}function ak(){}function al(){}function am(){}function an(){}function ao(){}function ap(){}function aq(){}function ar(){}function as(){}function at(){}function au(){}function av(az,aA){var aB,aC=[],aD=0x9==this['nodeType']&&this['documentElement']||this,aE=aD['prefix'],aF=aD['namespaceURI'];return ax(this,aC,az,aA,aB=aF&&null==aE&&null==aD['lookupPrefix'](aF)?[{'namespace':aF,'prefix':null}]:aB),aC['join']('');}function aw(az,aA,aB){var aC=az['prefix']||'',aD=az['namespaceURI'];if((aC||aD)&&('xml'!==aC||'http://www.w3.org/XML/1998/namespace'!==aD)&&'http://www.w3.org/2000/xmlns/'!=aD){for(var aE=aB['length'];aE--;){var aF=aB[aE];if(aF['prefix']==aC)return aF['namespace']!=aD;}return 0x1;}}function ax(az,aA,aB,aC,aD){if(aC){if(!(az=aC(az)))return;if('string'==typeof az)return void aA['push'](az);}switch(az['nodeType']){case 0x1:aD=aD||[];var aE=az['attributes'],aF=aE['length'],aG=az['firstChild'],aH=az['tagName'];aB='http://www.w3.org/1999/xhtml'===az['namespaceURI']||aB,aA['push']('<',aH);for(var aI=0x0;aI'),aB&&/^script$/i['test'](aH)){for(;aG;)aG['data']?aA['push'](aG['data']):ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}else{for(;aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}aA['push']('');}else aA['push']('/>');return;case 0x9:case 0xb:for(aG=az['firstChild'];aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];return;case 0x2:return aA['push']('\x20',az['name'],'=\x22',az['value']['replace'](/[<&"]/g,ab),'\x22');case 0x3:return aA['push'](az['data']['replace'](/[<&]/g,ab));case 0x4:return aA['push']('');case 0x8:return aA['push']('');case 0xa:var aH=az['publicId'],aM=az['systemId'];return aA['push']('')):aM&&'.'!=aM?aA['push']('\x20SYSTEM\x20\x22',aM,'\x22>'):((aH=az['internalSubset'])&&aA['push']('\x20[',aH,']'),aA['push']('>')));case 0x7:return aA['push']('');case 0x5:return aA['push']('&',az['nodeName'],';');default:aA['push']('??',az['nodeName']);}}function ay(az,aA,aB){az[aA]=aB;}a1['prototype']=Error['prototype'],Q(Z,a1),a2['prototype']={'length':0x0,'item':function(az){return this[az]||null;},'toString':function(az,aA){for(var aB=[],aC=0x0;aC','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(b,c,f){var g=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,h=new RegExp('[\x5c-\x5c.0-9'+g['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),j=new RegExp('^'+g['source']+h['source']+'*(?::'+g['source']+h['source']+'*)?$'),l=0x0,m=0x1,p=0x2,q=0x3,s=0x4,u=0x5,v=0x6,w=0x7;function y(){}function z(K,M){return M['lineNumber']=K['lineNumber'],M['columnNumber']=K['columnNumber'],M;}function E(K,M,N){for(var O=K['tagName'],P=null,Q=K['length'];Q--;){var S=K[Q],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==P&&(P={},G(N,N={})),N[T]=P[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',M['startPrefixMapping'](T,U));}for(var V,Q=K['length'];Q--;)(V=(S=K[Q])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V)&&(S['uri']=N[V||'']);var W,X=0x0<(W=O['indexOf'](':'))?(V=K['prefix']=O['slice'](0x0,W),K['localName']=O['slice'](W+0x1)):(V=null,K['localName']=O),Y=K['uri']=N[V||''];if(M['startElement'](Y,X,O,K),!K['closed'])return K['currentNSMap']=N,K['localNSMap']=P,0x1;if(M['endElement'](Y,X,O),P){for(V in P)M['endPrefixMapping'](V);}}function G(K,M){for(var N in K)M[N]=K[N];}function J(K){}y['prototype']={'parse':function(K,M,N){var O=this['domBuilder'];O['startDocument'](),G(M,M={}),((Q,U,V,W,X)=>{function Y(an){var ao=an['slice'](0x1,-0x1);return ao in V?V[ao]:'#'===ao['charAt'](0x0)?0xffff<(ao=parseInt(ao['substr'](0x1)['replace']('x','0x')))?(ao-=0x10000,String['fromCharCode'](0xd800+(ao>>0xa),0xdc00+(0x3ff&ao))):String['fromCharCode'](ao):(X['error']('entity\x20not\x20found:'+an),an);}function Z(an){var ao;a7',aa+0x3),ac=Q['substring'](aa+0x2,ab),ad=a5['pop'](),ae=(ab<0x0?(ac=Q['substring'](aa+0x2)['replace'](/[\s<].*/,''),X['error']('end\x20tag\x20name:\x20'+ac+'\x20is\x20not\x20complete:'+ad['tagName']),ab=aa+0x1+ac['length']):ac['match'](/\s{var aq=an['indexOf']('?>',ao);if(aq){an=an['substring'](ao,aq)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(an)return an[0x0]['length'],ap['processingInstruction'](an[0x1],an[0x2]),aq+0x2;}return-0x1;})(Q,aa,W);break;case'!':a4&&a0(aa),ab=((an,ao,ap,aq)=>{var ar,as;return'-'===an['charAt'](ao+0x2)?'-'===an['charAt'](ao+0x3)?(as=an['indexOf']('-->',ao+0x4),ao',ao+0x9),ap['startCDATA'](),ap['characters'](an,ao+0x9,as-ao-0x9),ap['endCDATA'](),as+0x3):0x1<(as=(aq=((at,au)=>{var av,aw=[],ax=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(ax['lastIndex']=au,ax['exec'](at);av=ax['exec'](at);)if(aw['push'](av),av[0x1])return aw;})(an,ao))['length'])&&/!doctype/i['test'](aq[0x0][0x0])?(an=aq[0x1][0x0],ao=0x3{for(var at,au=++ao,av=l;;){var aw=an['charAt'](au);switch(aw){case'=':if(av===m)at=an['slice'](ao,au);else{if(av!==p)throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}av=q;break;case'\x27':case'\x22':if(av===q||av===m){if(av===m&&(as['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),at=an['slice'](ao,au)),ao=au+0x1,!(0x0<(au=an['indexOf'](aw,ao))))throw new Error('attribute\x20value\x20no\x20end\x20\x27'+aw+'\x27\x20match');ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar),ap['add'](at,ax,ao-0x1);}else{if(av!=s)throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar),ap['add'](at,ax,ao),as['warning']('attribute\x20\x22'+at+'\x22\x20missed\x20start\x20quot('+aw+')!!'),ao=au+0x1;}av=u;break;case'/':switch(av){case l:ap['setTagName'](an['slice'](ao,au));case u:case v:case w:av=w,ap['closed']=!0x0;case s:case m:case p:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':return as['error']('unexpected\x20end\x20of\x20input'),av==l&&ap['setTagName'](an['slice'](ao,au)),au;case'>':switch(av){case l:ap['setTagName'](an['slice'](ao,au));case u:case v:case w:break;case s:case m:'/'===(ax=an['slice'](ao,au))['slice'](-0x1)&&(ap['closed']=!0x0,ax=ax['slice'](0x0,-0x1));case p:av===p&&(ax=at),av==s?(as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20quot(\x22)!!'),ap['add'](at,ax['replace'](/&#?\w+;/g,ar),ao)):('http://www.w3.org/1999/xhtml'===aq['']&&ax['match'](/^(?:disabled|checked|selected)$/i)||as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20value!!\x20\x22'+ax+'\x22\x20instead!!'),ap['add'](ax,ax,ao));break;case q:throw new Error('attribute\x20value\x20missed!!');}return au;case'\u0080':aw='\x20';default:if(aw<='\x20')switch(av){case l:ap['setTagName'](an['slice'](ao,au)),av=v;break;case m:at=an['slice'](ao,au),av=p;break;case s:var ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar);as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20quot(\x22)!!'),ap['add'](at,ax,ao);case u:av=v;}else switch(av){case p:ap['tagName'],('http://www.w3.org/1999/xhtml'===aq['']&&at['match'](/^(?:disabled|checked|selected)$/i)||as['warning']('attribute\x20\x22'+at+'\x22\x20missed\x20value!!\x20\x22'+at+'\x22\x20instead2!!'),ap['add'](at,at,ao),ao=au,av=m);break;case u:as['warning']('attribute\x20space\x20is\x20required\x22'+at+'\x22!!');case v:av=m,ao=au;break;case q:av=s,ao=au;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}au++;}})(Q,aa,ah,ai,Y,X),aj=ah['length'];if(!ah['closed']&&((an,ao,ap,aq)=>{var ar=aq[ap];return null==ar&&((ar=an['lastIndexOf']('')){if(/^(?:script|textarea)$/i['test'](ap)){var as=an['indexOf']('',ao),an=an['substring'](ao+0x1,as);if(/[&<]/['test'](an))return/^script$/i['test'](ap)?ar['characters'](an,0x0,an['length']):(an=an['replace'](/&#?\w+;/g,aq),ar['characters'](an,0x0,an['length'])),as;}return ao+0x1;})(Q,ab,ah['tagName'],Y,W);}}catch(an){X['error']('element\x20parse\x20error:\x20'+an),ab=-0x1;}a7(C=((D,E)=>{if('object'!=g(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=g(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==g(C)?C:C+''))(B['key']),B);}}function j(y,z,A){z=q(z);var B=y,z=k()?Reflect['construct'](z,A||[],q(y)['constructor']):z['apply'](y,A);if(!z||'object'!=g(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function k(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(k=function(){return!!y;})();}function m(){return(m='undefined'!=typeof Reflect&&Reflect['get']?Reflect['get']['bind']():function(y,z,A){var B=((C,D)=>{for(;!{}['hasOwnProperty']['call'](C,D)&&null!==(C=q(C)););return C;})(y,z);if(B)return(B=Object['getOwnPropertyDescriptor'](B,z))['get']?B['get']['call'](arguments['length']<0x3?y:A):B['value'];})['apply'](null,arguments);}function q(y){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function v(y,z){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}var w=0x1,x={};d['default']=(y=>{function z(C){var D;if(!(this instanceof z))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');(D=j(this,z))['_$sn']=w++,D['HAVE_NOTHING']=0x0,D['HAVE_METADATA']=0x1,D['HAVE_CURRENT_DATA']=0x2,D['HAVE_FUTURE_DATA']=0x3,D['HAVE_ENOUGH_DATA']=0x4,D['readyState']=0x0;var E=tt['createInnerAudioContext']();return x[D['_$sn']]=E,D['_canplayEvents']=['load','loadend','canplay','canplaythrough','loadedmetadata'],E['onCanplay'](function(){D['_loaded']=!0x0,D['readyState']=D['HAVE_CURRENT_DATA'],D['_canplayEvents']['forEach'](function(F){D['dispatchEvent']({'type':F});});}),E['onPlay'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'play'});}),E['onPause'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'pause'});}),E['onEnded'](function(){D['_paused']=x[D['_$sn']]['paused'],!0x1===x[D['_$sn']]['loop']&&D['dispatchEvent']({'type':'ended'}),D['readyState']=0x4;}),E['onError'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'error'});}),C?D['src']=C:D['_src']='',D['_loop']=E['loop'],D['_autoplay']=E['autoplay'],D['_paused']=E['paused'],D['_volume']=E['volume'],D['_muted']=!0x1,D;}var A,B=z;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),y&&v(B,y),B=z,(y=[{'key':'addEventListener','value':function(C,D){var E,F,G,H,I,J=0x2{if('object'!=h(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=h(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==h(x)?x:x+'';}g['default']=(x=>{function y(){var C;if(this instanceof y)return v(C=k(this,y),'className',''),v(C,'children',[]),C;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var z,A,B=y;if('function'!=typeof x&&null!==x)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](x&&x['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),x&&q(B,x),B=y,z&&j(B['prototype'],z),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})(b['default']);},{'./Node':0x15}],0x8:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x9:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var g=b('../util/index.js');function h(w){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(x){return typeof x;}:function(x){return x&&'function'==typeof Symbol&&x['constructor']===Symbol&&x!==Symbol['prototype']?'symbol':typeof x;})(w);}function j(w,x){for(var y=0x0;y{if('object'!=h(x)||!x)return x;var z=x[Symbol['toPrimitive']];if(void 0x0===z)return('string'===y?String:Number)(x);if('object'!=h(z=z['call'](x,y||'default')))return z;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(w,'string'),'symbol'==h(w)?w:w+'';}var q=f['default']=k(function w(x){if(!(this instanceof w))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');m(this,'touches',[]),m(this,'targetTouches',[]),m(this,'changedTouches',[]),m(this,'preventDefault',g['noop']),m(this,'stopPropagation',g['noop']),this['type']=x,this['target']=window['canvas'],this['currentTarget']=window['canvas'];});function v(x){return function(y){var z=new q(x);z['touches']=y['touches'],z['targetTouches']=Array['prototype']['slice']['call'](y['touches']),z['changedTouches']=y['changedTouches'],z['timeStamp']=y['timeStamp'],document['dispatchEvent'](z);};}tt['onTouchStart'](v('touchstart')),tt['onTouchMove'](v('touchmove')),tt['onTouchEnd'](v('touchend')),tt['onTouchCancel'](v('touchcancel'));},{'../util/index.js':0x1f}],0xa:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),Object['defineProperty'](c,'MouseEvent',{'enumerable':!0x0,'get':function(){return f['default'];}}),Object['defineProperty'](c,'TouchEvent',{'enumerable':!0x0,'get':function(){return d['default'];}});var d=g(a('./TouchEvent')),f=g(a('./MouseEvent'));function g(h){return h&&h['__esModule']?h:{'default':h};}},{'./MouseEvent':0x8,'./TouchEvent':0x9}],0xb:[function(b,c,d){function f(j){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(k){return typeof k;}:function(k){return k&&'function'==typeof Symbol&&k['constructor']===Symbol&&k!==Symbol['prototype']?'symbol':typeof k;})(j);}function g(j,k){for(var l=0x0;l(p=((q,s)=>{if('object'!=f(q)||!q)return q;var u=q[Symbol['toPrimitive']];if(void 0x0===u)return('string'===s?String:Number)(q);if('object'!=f(u=u['call'](q,s||'default')))return u;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==f(p)?p:p+''))(m['key']),m);}}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var h=new WeakMap();d['default']=((()=>{function j(){if(!(this instanceof j))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');h['set'](this,{});}return k=j,(l=[{'key':'addEventListener','value':function(p,q){var s=0x2(l=((m,p)=>{if('object'!=d(m)||!m)return m;var q=m[Symbol['toPrimitive']];if(void 0x0===q)return('string'===p?String:Number)(m);if('object'!=d(q=q['call'](m,p||'default')))return q;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(l,'string'),'symbol'==d(l)?l:l+''))(k['key']),k);}}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=((()=>{function g(){if(!(this instanceof g))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}return h=g,(j=[{'key':'construct','value':function(){}}])&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;var h,j,k;})());},{}],0xd:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLMediaElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['audio']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLMediaElement':0x11}],0xe:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0;var d=f(a('./Canvas'));f(a('./HTMLElement'));function f(g){return g&&g['__esModule']?g:{'default':g};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new d['default'](),a=GameGlobal['screencanvas']['constructor'],c['default']=a;},{'./Canvas':0x6,'./HTMLElement':0xf}],0xf:[function(b,g,h){Object['defineProperty'](h,'__esModule',{'value':!0x0}),h['default']=void 0x0;var j=(j=b('./Element'))&&j['__esModule']?j:{'default':j},k=b('./util/index.js'),m=b('./WindowProperties');function q(C){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(D){return typeof D;}:function(D){return D&&'function'==typeof Symbol&&D['constructor']===Symbol&&D!==Symbol['prototype']?'symbol':typeof D;})(C);}function v(C,D){for(var E=0x0;E{if('object'!=q(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=q(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==q(C)?C:C+'';}h['default']=(C=>{function D(){var G=0x0(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(x){if(this instanceof s)return j(this,s,[x]);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return w['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':w,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](w,'prototype',{'writable':!0x1}),q&&p(w,q),w=s,(q=[{'key':'addTextTrack','value':function(){}},{'key':'captureStream','value':function(){}},{'key':'fastSeek','value':function(){}},{'key':'load','value':function(){}},{'key':'pause','value':function(){}},{'key':'play','value':function(){}}])&&h(w['prototype'],q),v&&h(w,v),Object['defineProperty'](w,'prototype',{'writable':!0x1}),w;})(b['default']);},{'./HTMLElement':0xf}],0x12:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLMediaElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['video']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLMediaElement':0x11}],0x13:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=function(){return tt['createImage']();},(c=a('./HTMLImageElement'))&&c['__esModule'];},{'./HTMLImageElement':0x10}],0x14:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x15:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./EventTarget.js'))&&b['__esModule']?b:{'default':b};function g(s){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;})(s);}function h(s,v){for(var w=0x0;w{if('object'!=g(v)||!v)return v;var x=v[Symbol['toPrimitive']];if(void 0x0===x)return('string'===w?String:Number)(v);if('object'!=g(x=x['call'](v,w||'default')))return x;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(s,'string'),'symbol'==g(s)?s:s+'';}f['default']=(s=>{function v(){var y,z,A,B;if(this instanceof v)return y=j(this,v),z=y,B=[],(A=q(A='childNodes'))in z?Object['defineProperty'](z,A,{'value':B,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):z[A]=B,y;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v;if('function'!=typeof s&&null!==s)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](s&&s['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),s&&p(x,s),x=v,(s=[{'key':'appendChild','value':function(y){this['childNodes']['push'](y);}},{'key':'cloneNode','value':function(){var y=Object['create'](this);return Object['assign'](y,this),y;}},{'key':'removeChild','value':function(y){var z=this['childNodes']['findIndex'](function(A){return A===y;});return-0x1(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x17:[function(b,c,d){function f(l){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(m){return typeof m;}:function(m){return m&&'function'==typeof Symbol&&m['constructor']===Symbol&&m!==Symbol['prototype']?'symbol':typeof m;})(l);}function g(l,m){for(var p=0x0;p{if('object'!=f(m)||!m)return m;var q=m[Symbol['toPrimitive']];if(void 0x0===q)return('string'===p?String:Number)(m);if('object'!=f(q=q['call'](m,p||'default')))return q;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(l,'string'),'symbol'==f(l)?l:l+'';}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var k=new WeakMap(),d=d['default']=((()=>{function l(s){var v=this,w=0x1{if('object'!=q(L)||!L)return L;var N=L[Symbol['toPrimitive']];if(void 0x0===N)return('string'===M?String:Number)(L);if('object'!=q(N=N['call'](L,M||'default')))return N;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(K,'string'),'symbol'==q(K)?K:K+'';}var D=new WeakMap(),E=new WeakMap(),F=new WeakMap(),G=new WeakMap(),H=new WeakMap();function I(K){if('function'==typeof this['on'['concat'](K)]){for(var L=arguments['length'],M=new Array(0x1{function L(){var O;if(this instanceof L)return B(O=w(this,L),'onabort',null),B(O,'onerror',null),B(O,'onload',null),B(O,'onloadstart',null),B(O,'onprogress',null),B(O,'ontimeout',null),B(O,'onloadend',null),B(O,'onreadystatechange',null),B(O,'readyState',0x0),B(O,'response',null),B(O,'responseText',null),B(O,'responseType',''),B(O,'responseXML',null),B(O,'status',0x0),B(O,'statusText',''),B(O,'upload',{}),B(O,'withCredentials',!0x1),F['set'](O,{'content-type':'application/x-www-form-urlencoded'}),G['set'](O,{}),O;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var M,N=L;if('function'!=typeof K&&null!==K)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return N['prototype']=Object['create'](K&&K['prototype'],{'constructor':{'value':N,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](N,'prototype',{'writable':!0x1}),K&&A(N,K),N=L,(K=[{'key':'abort','value':function(){var O=H['get'](this);O&&O['abort']();}},{'key':'getAllResponseHeaders','value':function(){var O=G['get'](this);return Object['keys'](O)['map'](function(P){return''['concat'](P,':\x20')['concat'](O[P]);})['join']('\x0a');}},{'key':'getResponseHeader','value':function(O){return G['get'](this)[O];}},{'key':'open','value':function(O,P){E['set'](this,O),D['set'](this,P),J['call'](this,L['OPENED']);}},{'key':'overrideMimeType','value':function(){}},{'key':'send','value':function(){var O=this,P=0x00x1&&arguments[0x1]!==undefined?arguments[0x1]:[],W=arguments['length']>0x2?arguments[0x2]:undefined;return Object['keys'](U['children'])['forEach'](function(X){var Y=U['children'][X];Y['idName']===W&&V['push'](Y),Object['keys'](Y['children'])['length']&&M(Y,V,W);}),V;}function N(U){var V=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:[],W=arguments['length']>0x2?arguments[0x2]:undefined;return Object['keys'](U['children'])['forEach'](function(X){var Y=U['children'][X];Y['className']['split'](/\s+/)['indexOf'](W)>-0x1&&V['push'](Y),Object['keys'](Y['children'])['length']&&N(Y,V,W);}),V;}var O=function(U){u(W,U);var V=w(W);function W(){var X,Y=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},Z=Y['style'],a0=Y['name'];return r(this,W),X=V['call'](this,{'style':Z,'id':0x0,'name':a0}),X['hasEventHandler']=![],X['elementTree']=null,X['renderContext']=null,X['debugInfo']={},X['renderport']={},X['viewport']={},X['touchStart']=X['eventHandler']('touchstart')['bind'](y(X)),X['touchMove']=X['eventHandler']('touchmove')['bind'](y(X)),X['touchEnd']=X['eventHandler']('touchend')['bind'](y(X)),X['touchCancel']=X['eventHandler']('touchcancel')['bind'](y(X)),X['version']='0.0.1',X['touchMsg']={},X['hasViewPortSet']=![],X['realLayoutBox']={'realX':0x0,'realY':0x0},X['state']=l['STATE']['UNINIT'],X['bitMapFonts']=[],X;}return t(W,[{'key':'updateViewPort','value':function X(Y){this['viewport']['width']=Y['width']||0x0,this['viewport']['height']=Y['height']||0x0,this['viewport']['x']=Y['x']||0x0,this['viewport']['y']=Y['y']||0x0,this['realLayoutBox']={'realX':this['viewport']['x'],'realY':this['viewport']['y']},this['hasViewPortSet']=!![];}},{'key':'init','value':function Y(Z,a0,a1){var a2=new Date(),a3={'attributeNamePrefix':'','attrNodeName':'attr','textNodeName':'#text','ignoreAttributes':![],'ignoreNameSpace':!![],'allowBooleanAttributes':!![],'parseNodeValue':![],'parseAttributeValue':![],'trimValues':!![],'parseTrueNumberOnly':![]};a1&&typeof a1==='function'&&(a3['attrValueProcessor']=a1);var a4=n['a']['parse'](Z,a3,!![]),a5=a4['children'][0x0];this['debugInfo']['xmlTree']=new Date()-a2,this['layoutTree']=H['call'](this,a5,a0),this['debugInfo']['layoutTree']=new Date()-a2,this['add'](this['layoutTree']);var a6={'id':this['id'],'style':{'width':this['style']['width'],'height':this['style']['height'],'flexDirection':'row'},'children':I(this)};k()(a6),this['elementTree']=a6,this['debugInfo']['renderTree']=new Date()-a2;var a7=this['children'][0x0];a7['style']['width']===undefined||a7['style']['height']===undefined?console['error']('Please\x20set\x20width\x20and\x20height\x20property\x20for\x20root\x20element'):(this['renderport']['width']=a7['style']['width'],this['renderport']['height']=a7['style']['height']),this['state']=l['STATE']['INITED'];}},{'key':'layout','value':function Z(a0){var a1=new Date();this['renderContext']=a0,this['renderContext']&&this['renderContext']['clearRect'](0x0,0x0,this['renderport']['width'],this['renderport']['height']),!this['hasViewPortSet']&&console['error']('Please\x20invoke\x20method\x20`updateViewPort`\x20before\x20method\x20`layout`'),K['call'](this,this['elementTree']['children'],this['children']),this['debugInfo']['layoutChildren']=new Date()-a1,L(this['elementTree']['children'],this['children'],this['viewport']['width']/this['renderport']['width']),this['debugInfo']['updateRealLayout']=new Date()-a1,J(this['children'],a0),this['debugInfo']['renderChildren']=new Date()-a1,this['bindEvents'](),this['state']=l['STATE']['RENDERED'];}},{'key':'initRepaint','value':function a0(){var a1=this;this['on']('repaint',function(){a1['repaint']();}),this['EE']['on']('one__image__render__done',function(a2){a1['repaint']();});}},{'key':'repaint','value':function a1(){var a2=new Date();Object(l['repaintChildren'])(this['children']),this['emit']('repaint__done');}},{'key':'getChildByPos','value':function a2(a3,a4,a5){var a6=Object['keys'](a3['children']);for(var a7=0x0;a7-0x1&&(u['color']=m(u['color'],u['opacity']));u['opacity']!==undefined&&u['backgroundColor']&&u['backgroundColor']['indexOf']('#')>-0x1&&(u['backgroundColor']=m(u['backgroundColor'],u['opacity']));for(var D in this['style']){d['scalableStyles']['indexOf'](D)>-0x1&&(this['style'][D]*=k);}['touchstart','touchmove','touchcancel','touchend','click']['forEach'](function(E){s['on'](E,function(F,G){s['parent']&&s['parent']['emit'](E,F,G);});}),this['initRepaint']();}return g(q,[{'key':'initRepaint','value':function r(){var s=this;this['on']('repaint',function(t){s['parent']&&s['parent']['emit']('repaint',t);});}},{'key':'repaint','value':function s(){}},{'key':'insert','value':function t(){}},{'key':'checkNeedRender','value':function u(){return!![];}},{'key':'destroy','value':function v(){var w=this;['touchstart','touchmove','touchcancel','touchend','click','repaint']['forEach'](function(x){w['off'](x);}),this['EE']['off']('image__render__done'),this['isDestroyed']=!![],this['EE']=null,this['parent']=null,this['ctx']=null,this['realLayoutBox']=null,this['layoutBox']=null,this['props']=null,this['style']=null,this['renderBoxes']&&(this['renderBoxes']=null);}},{'key':'add','value':function w(x){x['parent']=this,x['parentId']=this['id'],this['children']['push'](x);}},{'key':'emit','value':function x(y){for(var z=arguments['length'],A=new Array(z>0x1?z-0x1:0x0),B=0x1;B0x0&&arguments[0x0]!==undefined?arguments[0x0]:'pool';d(this,i);var k=g['find'](function(l){return l['name']===j;});if(k)return k;this['name']=j,this['pool']={},g['push'](this);}return f(i,[{'key':'get','value':function j(k){return this['pool'][k];}},{'key':'set','value':function k(l,m){this['pool'][l]=m;}},{'key':'clear','value':function l(){this['pool']={};}},{'key':'getList','value':function m(){return Object['values'](this['pool']);}}]),i;}());},function(a,b,c){var d,e,f;(function(g,h){if(!![])!(e=[],d=h,f=typeof d==='function'?d['apply'](b,e):d,f!==undefined&&(a['exports']=f));else{}}(this,function(){var g=(function(){var h,i='inherit',j='ltr',k='rtl',l='row',m='row-reverse',n='column',o='column-reverse',p='flex-start',q='center',r='flex-end',s='space-between',t='space-around',u='flex-start',v='center',w='flex-end',x='stretch',y='relative',z='absolute',A={'row':'left','row-reverse':'right','column':'top','column-reverse':'bottom'},B={'row':'right','row-reverse':'left','column':'bottom','column-reverse':'top'},C={'row':'left','row-reverse':'right','column':'top','column-reverse':'bottom'},D={'row':'width','row-reverse':'width','column':'height','column-reverse':'height'};function E(af){return(!af['layout']||af['isDirty'])&&(af['layout']={'width':undefined,'height':undefined,'top':0x0,'left':0x0,'right':0x0,'bottom':0x0}),!af['style']&&(af['style']={}),!af['children']&&(af['children']=[]),af['children']['forEach'](E),af;}function F(af){return af===undefined;}function G(af){return af===l||af===m;}function H(af){return af===n||af===o;}function I(af,ag){if(af['style']['marginStart']!==undefined&&G(ag))return af['style']['marginStart'];var ah=null;switch(ag){case'row':ah=af['style']['marginLeft'];break;case'row-reverse':ah=af['style']['marginRight'];break;case'column':ah=af['style']['marginTop'];break;case'column-reverse':ah=af['style']['marginBottom'];break;}if(ah!==undefined)return ah;if(af['style']['margin']!==undefined)return af['style']['margin'];return 0x0;}function J(af,ag){if(af['style']['marginEnd']!==undefined&&G(ag))return af['style']['marginEnd'];var ah=null;switch(ag){case'row':ah=af['style']['marginRight'];break;case'row-reverse':ah=af['style']['marginLeft'];break;case'column':ah=af['style']['marginBottom'];break;case'column-reverse':ah=af['style']['marginTop'];break;}if(ah!=null)return ah;if(af['style']['margin']!==undefined)return af['style']['margin'];return 0x0;}function K(af,ag){if(af['style']['paddingStart']!==undefined&&af['style']['paddingStart']>=0x0&&G(ag))return af['style']['paddingStart'];var ah=null;switch(ag){case'row':ah=af['style']['paddingLeft'];break;case'row-reverse':ah=af['style']['paddingRight'];break;case'column':ah=af['style']['paddingTop'];break;case'column-reverse':ah=af['style']['paddingBottom'];break;}if(ah!=null&&ah>=0x0)return ah;if(af['style']['padding']!==undefined&&af['style']['padding']>=0x0)return af['style']['padding'];return 0x0;}function L(af,ag){if(af['style']['paddingEnd']!==undefined&&af['style']['paddingEnd']>=0x0&&G(ag))return af['style']['paddingEnd'];var ah=null;switch(ag){case'row':ah=af['style']['paddingRight'];break;case'row-reverse':ah=af['style']['paddingLeft'];break;case'column':ah=af['style']['paddingBottom'];break;case'column-reverse':ah=af['style']['paddingTop'];break;}if(ah!=null&&ah>=0x0)return ah;if(af['style']['padding']!==undefined&&af['style']['padding']>=0x0)return af['style']['padding'];return 0x0;}function M(af,ag){if(af['style']['borderStartWidth']!==undefined&&af['style']['borderStartWidth']>=0x0&&G(ag))return af['style']['borderStartWidth'];var ah=null;switch(ag){case'row':ah=af['style']['borderLeftWidth'];break;case'row-reverse':ah=af['style']['borderRightWidth'];break;case'column':ah=af['style']['borderTopWidth'];break;case'column-reverse':ah=af['style']['borderBottomWidth'];break;}if(ah!=null&&ah>=0x0)return ah;if(af['style']['borderWidth']!==undefined&&af['style']['borderWidth']>=0x0)return af['style']['borderWidth'];return 0x0;}function N(af,ag){if(af['style']['borderEndWidth']!==undefined&&af['style']['borderEndWidth']>=0x0&&G(ag))return af['style']['borderEndWidth'];var ah=null;switch(ag){case'row':ah=af['style']['borderRightWidth'];break;case'row-reverse':ah=af['style']['borderLeftWidth'];break;case'column':ah=af['style']['borderBottomWidth'];break;case'column-reverse':ah=af['style']['borderTopWidth'];break;}if(ah!=null&&ah>=0x0)return ah;if(af['style']['borderWidth']!==undefined&&af['style']['borderWidth']>=0x0)return af['style']['borderWidth'];return 0x0;}function O(af,ag){return K(af,ag)+M(af,ag);}function P(af,ag){return L(af,ag)+N(af,ag);}function Q(af,ag){return M(af,ag)+N(af,ag);}function R(af,ag){return I(af,ag)+J(af,ag);}function S(af,ag){return O(af,ag)+P(af,ag);}function T(af){if(af['style']['justifyContent'])return af['style']['justifyContent'];return'flex-start';}function U(af){if(af['style']['alignContent'])return af['style']['alignContent'];return'flex-start';}function V(af,ag){if(ag['style']['alignSelf'])return ag['style']['alignSelf'];if(af['style']['alignItems'])return af['style']['alignItems'];return'stretch';}function W(af,ag){if(ag===k){if(af===l)return m;else{if(af===m)return l;}}return af;}function X(af,ag){var ah;return af['style']['direction']?ah=af['style']['direction']:ah=i,ah===i&&(ah=ag===undefined?j:ag),ah;}function Y(af){if(af['style']['flexDirection'])return af['style']['flexDirection'];return n;}function Z(af,ag){return H(af)?W(l,ag):n;}function a0(af){if(af['style']['position'])return af['style']['position'];return'relative';}function a1(af){return a0(af)===y&&af['style']['flex']>0x0;}function a2(af){return af['style']['flexWrap']==='wrap';}function a3(af,ag){return af['layout'][D[ag]]+R(af,ag);}function a4(af,ag){return af['style'][D[ag]]!==undefined&&af['style'][D[ag]]>=0x0;}function a5(af,ag){return af['style'][ag]!==undefined;}function a6(af){return af['style']['measure']!==undefined;}function a7(af,ag){if(af['style'][ag]!==undefined)return af['style'][ag];return 0x0;}function a8(af,ag,ah){var ai={'row':af['style']['minWidth'],'row-reverse':af['style']['minWidth'],'column':af['style']['minHeight'],'column-reverse':af['style']['minHeight']}[ag],aj={'row':af['style']['maxWidth'],'row-reverse':af['style']['maxWidth'],'column':af['style']['maxHeight'],'column-reverse':af['style']['maxHeight']}[ag],ak=ah;return aj!==undefined&&aj>=0x0&&ak>aj&&(ak=aj),ai!==undefined&&ai>=0x0&&akag)return af;return ag;}function aa(af,ag){if(af['layout'][D[ag]]!==undefined)return;if(!a4(af,ag))return;af['layout'][D[ag]]=a9(a8(af,ag,af['style'][D[ag]]),S(af,ag));}function ab(af,ag,ah){ag['layout'][B[ah]]=af['layout'][D[ah]]-ag['layout'][D[ah]]-ag['layout'][C[ah]];}function ac(af,ag){if(af['style'][A[ag]]!==undefined)return a7(af,A[ag]);return-a7(af,B[ag]);}function ad(af,ag,ah){var ai=X(af,ah),aj=W(Y(af),ai),ak=Z(aj,ai),al=W(l,ai);aa(af,aj),aa(af,ak),af['layout']['direction']=ai,af['layout'][A[aj]]+=I(af,aj)+ac(af,aj),af['layout'][B[aj]]+=J(af,aj)+ac(af,aj),af['layout'][A[ak]]+=I(af,ak)+ac(af,ak),af['layout'][B[ak]]+=J(af,ak)+ac(af,ak);var am=af['children']['length'],an=S(af,al);if(a6(af)){var ao=!F(af['layout'][D[al]]),ap=h;if(a4(af,al))ap=af['style']['width'];else ao?ap=af['layout'][D[al]]:ap=ag-R(af,al);ap-=an;var aq=!a4(af,al)&&!ao,ar=!a4(af,n)&&F(af['layout'][D[n]]);if(aq||ar){var as=af['style']['measure'](ap);aq&&(af['layout']['width']=as['width']+an),ar&&(af['layout']['height']=as['height']+S(af,n));}if(am===0x0)return;}var at=a2(af),au=T(af),av=O(af,aj),aw=O(af,ak),ax=S(af,aj),ay=S(af,ak),az=!F(af['layout'][D[aj]]),aA=!F(af['layout'][D[ak]]),aB=G(aj),aC,aD,aE,aF,aG=null,aH=null,aI=h;az&&(aI=af['layout'][D[aj]]-ax);var aJ=0x0,aK=0x0,aL=0x0,aM=0x0,aN=0x0,aO=0x0;while(aKaI&&aC!==aJ){aS--,aL=0x1;break;}aT&&(a0(aE)!==y||a1(aE))&&(aT=![],aU=aC),aV&&(a0(aE)!==y||b2!==x&&b2!==u||F(aE['layout'][D[ak]]))&&(aV=![],aW=aC),aT&&(aE['layout'][C[aj]]+=aZ,az&&ab(af,aE,aj),aZ+=a3(aE,aj),b0=a9(b0,a8(aE,ak,a3(aE,ak)))),aV&&(aE['layout'][C[ak]]+=aM+aw,aA&&ab(af,aE,ak)),aL=0x0,aP+=b3,aK=aC+0x1;}var b4=0x0,b5=0x0,b6=0x0;az?b6=aI-aP:b6=a9(aP,0x0)-aP;if(aQ!==0x0){var b7=b6/aR,b8,b9;aY=aX;while(aY!==null){b8=b7*aY['style']['flex']+S(aY,aj),b9=a8(aY,aj,b8),b8!==b9&&(b6-=b9,aR-=aY['style']['flex']),aY=aY['nextFlexChild'];}b7=b6/aR;b7<0x0&&(b7=0x0);aY=aX;while(aY!==null){aY['layout'][D[aj]]=a8(aY,aj,b7*aY['style']['flex']+S(aY,aj)),b1=h;if(a4(af,al))b1=af['layout'][D[al]]-an;else!aB&&(b1=ag-R(af,al)-an);ae(aY,b1,ai),aE=aY,aY=aY['nextFlexChild'],aE['nextFlexChild']=null;}}else{if(au!==p){if(au===q)b4=b6/0x2;else{if(au===r)b4=b6;else{if(au===s)b6=a9(b6,0x0),aQ+aS-0x1!==0x0?b5=b6/(aQ+aS-0x1):b5=0x0;else au===t&&(b5=b6/(aQ+aS),b4=b5/0x2);}}}}aZ+=b4;for(aC=aU;aC0x1&&aA){var bd=af['layout'][D[ak]]-ay,be=bd-aM,bf=0x0,bg=aw,bh=U(af);if(bh===w)bg+=be;else{if(bh===v)bg+=be/0x2;else bh===x&&(bd>aM&&(bf=be/aO));}var bi=0x0;for(aC=0x0;aC))|(([\x5cw:\x5c-._]*:)?([\x5cw:\x5c-._]+))([^>]*)>|((\x5c/)(([\x5cw:\x5c-._]*:)?([\x5cw:\x5c-._]+))\x5cs*>))([^<]*)';!Number['parseInt']&&window['parseInt']&&(Number['parseInt']=window['parseInt']);!Number['parseFloat']&&window['parseFloat']&&(Number['parseFloat']=window['parseFloat']);var i={'attributeNamePrefix':'@_','attrNodeName':![],'textNodeName':'#text','ignoreAttributes':!![],'ignoreNameSpace':![],'allowBooleanAttributes':![],'parseNodeValue':!![],'parseAttributeValue':![],'arrayMode':![],'trimValues':!![],'cdataTagName':![],'cdataPositionChar':'\x5cc','localeRange':'','tagValueProcessor':function r(s){return s;},'attrValueProcessor':function s(t){return t;},'stopNodes':[]};b['defaultOptions']=i;var j=['attributeNamePrefix','attrNodeName','textNodeName','ignoreAttributes','ignoreNameSpace','allowBooleanAttributes','parseNodeValue','parseAttributeValue','arrayMode','trimValues','cdataTagName','cdataPositionChar','localeRange','tagValueProcessor','attrValueProcessor','parseTrueNumberOnly','stopNodes'];b['props']=j;var k=function t(u,v){v=e(v,i,j),u=u['replace'](//g,'');var w=new f('!xml'),x=w;h=h['replace'](/\[\\w/g,'['+v['localeRange']+'\x5cw');var y=new RegExp(h,'g'),z=y['exec'](u),A=y['exec'](u);while(z){var B=m(z);if(B===g['CLOSING'])x['parent']&&z[0xe]&&(x['parent']['val']=d['getValue'](x['parent']['val'])+''+l(z,v,x['parent']['tagname'])),v['stopNodes']['length']&&v['stopNodes']['includes'](x['tagname'])&&(x['child']=[],x['attrsMap']==undefined&&(x['attrsMap']={}),x['val']=u['substr'](x['startIndex']+0x1,z['index']-x['startIndex']-0x1)),x=x['parent'];else{if(B===g['CDATA']){if(v['cdataTagName']){var C=new f(v['cdataTagName'],x,z[0x3]);C['attrsMap']=q(z[0x8],v),x['addChild'](C),x['val']=d['getValue'](x['val'])+v['cdataPositionChar'],z[0xe]&&(x['val']+=l(z,v));}else x['val']=(x['val']||'')+(z[0x3]||'')+l(z,v);}else{if(B===g['SELF']){x&&z[0xe]&&(x['val']=d['getValue'](x['val'])+''+l(z,v));var D=new f(v['ignoreNameSpace']?z[0x7]:z[0x5],x,'');z[0x8]&&z[0x8]['length']>0x0&&(z[0x8]=z[0x8]['substr'](0x0,z[0x8]['length']-0x1)),D['attrsMap']=q(z[0x8],v),x['addChild'](D);}else{var E=new f(v['ignoreNameSpace']?z[0x7]:z[0x5],x,l(z,v));v['stopNodes']['length']&&v['stopNodes']['includes'](E['tagname'])&&(E['startIndex']=z['index']+z[0x1]['length']),E['attrsMap']=q(z[0x8],v),x['addChild'](E),x=E;}}}z=A,A=y['exec'](u);}return w;};function l(u,v,w){var x=u[0x7]||w,y=u[0xe];return y&&(v['trimValues']&&(y=y['trim']()),y=v['tagValueProcessor'](y,x),y=o(y,v['parseNodeValue'],v['parseTrueNumberOnly'])),y;}function m(u){if(u[0x4]===']]>')return g['CDATA'];else{if(u[0xa]==='/')return g['CLOSING'];else return typeof u[0x8]!=='undefined'&&u[0x8]['substr'](u[0x8]['length']-0x1)==='/'?g['SELF']:g['OPENING'];}}function n(u,v){if(v['ignoreNameSpace']){var w=u['split'](':'),x=u['charAt'](0x0)==='/'?'/':'';if(w[0x0]==='xmlns')return'';w['length']===0x2&&(u=x+w[0x1]);}return u;}function o(u,v,w){if(v&&typeof u==='string'){var x;if(u['trim']()===''||isNaN(u))x=u==='true'?!![]:u==='false'?![]:u;else{if(u['indexOf']('0x')!==-0x1)x=Number['parseInt'](u,0x10);else u['indexOf']('.')!==-0x1?x=Number['parseFloat'](u):x=Number['parseInt'](u,0xa);w&&(x=String(x)===u?x:u);}return x;}else return d['isExist'](u)?u:'';}var p=new RegExp('([^\x5cs=]+)\x5cs*(=\x5cs*([\x27\x22])(.*?)\x5c3)?','g');function q(u,v){if(!v['ignoreAttributes']&&typeof u==='string'){u=u['replace'](/\r?\n/g,'\x20');var w=d['getAllMatches'](u,p),x=w['length'],y={};for(var z=0x0;z'&&p[v]!=='\x20'&&p[v]!=='\x09'&&p[v]!=='\x0a'&&p[v]!=='\x0d';v++){x+=p[v];}x=x['trim']();if(x[x['length']-0x1]==='/'){x=x['substring'](0x0,x['length']-0x1);continue;}if(!o(x,u))return{'err':{'code':'InvalidTag','msg':'Tag\x20'+x+'\x20is\x20an\x20invalid\x20name.'}};var y=k(p,v);if(y===![])return{'err':{'code':'InvalidAttr','msg':'Attributes\x20for\x20\x22'+x+'\x22\x20have\x20open\x20quote.'}};var z=y['value'];v=y['index'];if(z[z['length']-0x1]==='/'){z=z['substring'](0x0,z['length']-0x1);var A=m(z,q,t);if(A===!![])s=!![];else return A;}else{if(w){if(!y['tagClosed'])return{'err':{'code':'InvalidTag','msg':'closing\x20tag\x20\x22'+x+'\x22\x20don\x27t\x20have\x20proper\x20closing.'}};else{if(z['trim']()['length']>0x0)return{'err':{'code':'InvalidTag','msg':'closing\x20tag\x20\x22'+x+'\x22\x20can\x27t\x20have\x20attributes\x20or\x20invalid\x20starting.'}};else{var B=r['pop']();if(x!==B)return{'err':{'code':'InvalidTag','msg':'closing\x20tag\x20'+B+'\x20is\x20expected\x20inplace\x20of\x20'+x+'.'}};}}}else{var C=m(z,q,t);if(C!==!![])return C;r['push'](x),s=!![];}}for(v++;v0x0)return{'err':{'code':'InvalidXml','msg':'Invalid\x20'+JSON['stringify'](r,null,0x4)['replace'](/\r?\n/g,'')+'\x20found.'}};}return!![];};function g(p,q){var r=q;for(;q0x5&&s==='xml')return{'err':{'code':'InvalidXml','msg':'XML\x20declaration\x20allowed\x20only\x20at\x20the\x20start\x20of\x20the\x20document.'}};else{if(p[q]=='?'&&p[q+0x1]=='>'){q++;break;}else continue;}}}return q;}function h(p,q){if(p['length']>q+0x5&&p[q+0x1]==='-'&&p[q+0x2]==='-')for(q+=0x3;q'){q+=0x2;break;}}else{if(p['length']>q+0x8&&p[q+0x1]==='D'&&p[q+0x2]==='O'&&p[q+0x3]==='C'&&p[q+0x4]==='T'&&p[q+0x5]==='Y'&&p[q+0x6]==='P'&&p[q+0x7]==='E'){var r=0x1;for(q+=0x8;q'){r--;if(r===0x0)break;}}}}else{if(p['length']>q+0x9&&p[q+0x1]==='['&&p[q+0x2]==='C'&&p[q+0x3]==='D'&&p[q+0x4]==='A'&&p[q+0x5]==='T'&&p[q+0x6]==='A'&&p[q+0x7]==='[')for(q+=0x8;q'){q+=0x2;break;}}}}return q;}var i='\x22',j='\x27';function k(p,q){var r='',s='',t=![];for(;q'){if(s===''){t=!![];break;}}}r+=p[q];}if(s!=='')return![];return{'value':r,'index':q,'tagClosed':t};}var l=new RegExp('(\x5cs*)([^\x5cs=]+)(\x5cs*=)?(\x5cs*([\x27\x22])(([\x5cs\x5cS])*?)\x5c5)?','g');function m(p,q,r){var s=d['getAllMatches'](p,l),t={};for(var u=0x0;u0x1&&arguments[0x1]!==undefined?arguments[0x1]:e['none'],p=null,q=this['getRes'](n);if(!n)return p;if(q&&q['loadDone'])p=q,o(p,!![]);else q&&!q['loadDone']?(p=q,q['onloadcbks']['push'](o)):(p=Object(e['createImage'])(),p['onloadcbks']=[o],i['set'](n,p),p['onload']=function(){p['onloadcbks']['forEach'](function(r){return r(p,![]);}),p['onloadcbks']=[],p['loadDone']=!![];},p['onerror']=function(r){console['log']('img\x20load\x20error',r);},p['src']=n);return p;}}]),k;}());b['default']=new j();},function(a,b,c){'use strict';c['r'](b);var d=c(0x11);c['d'](b,'View',function(){return d['default'];});var e=c(0x12);c['d'](b,'Image',function(){return e['default'];});var f=c(0x13);c['d'](b,'Text',function(){return f['default'];});var g=c(0x14);c['d'](b,'ScrollView',function(){return g['default'];});var h=c(0x16);c['d'](b,'BitMapText',function(){return h['default'];});},function(a,b,c){'use strict';c['r'](b),c['d'](b,'default',function(){return p;});var d=c(0x2);function e(q){'@babel/helpers - typeof';return typeof Symbol==='function'&&typeof Symbol['iterator']==='symbol'?e=function r(s){return typeof s;}:e=function s(t){return t&&typeof Symbol==='function'&&t['constructor']===Symbol&&t!==Symbol['prototype']?'symbol':typeof t;},e(q);}function f(q,r){if(!(q instanceof r))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function g(q,r){for(var s=0x0;s0x2&&arguments[0x2]!==undefined?arguments[0x2]:!![];if(!this['img'])return;var A=this['style']||{},B=y||this['layoutBox'];x['save']();A['borderColor']&&(x['strokeStyle']=A['borderColor']);x['lineWidth']=A['borderWidth']||0x0;var C=B['absoluteX'],D=B['absoluteY'];this['renderBorder'](x,y),x['drawImage'](this['img'],C,D,B['width'],B['height']),x['restore']();}},{'key':'insert','value':function x(y,z){var A=this;this['renderBoxes']['push']({'ctx':y,'box':z}),this['img']=e['default']['loadImage'](this['src'],function(B,C){if(C)A['img']=B,A['renderImg'](y,z,![]);else{if(A['img']){var D=A['isScrollViewChild']?'image__render__done':'one__image__render__done';A['EE']['emit'](D,A);}}});}},{'key':'isScrollViewChild','get':function y(){var z=![],A=this['parent'];while(A&&!z){A['type']==='ScrollView'?z=!![]:A=A['parent'];}return z;}}]),t;}(d['default']);},function(a,b,c){'use strict';c['r'](b),c['d'](b,'default',function(){return w;});var d=c(0x2),e=c(0x7);function f(x){'@babel/helpers - typeof';return typeof Symbol==='function'&&typeof Symbol['iterator']==='symbol'?f=function y(z){return typeof z;}:f=function z(A){return A&&typeof Symbol==='function'&&A['constructor']===Symbol&&A!==Symbol['prototype']?'symbol':typeof A;},f(x);}function g(x,y){if(!(x instanceof y))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(x,y){for(var z=0x0;zA&&D>0x0){D--,E=z['substring'](0x0,D);}return D&&C==='ellipsis'?E+'...':E;}var w=function(y){j(A,y);var z=l(A);function A(B){var C,D=B['style'],E=D===void 0x0?{}:D,F=B['props'],G=F===void 0x0?{}:F,H=B['idName'],I=H===void 0x0?'':H,J=B['className'],K=J===void 0x0?'':J,L=B['value'],M=L===void 0x0?'':L;g(this,A);if(E['width']===undefined)E['width']=t(E,M);else E['textOverflow']==='ellipsis'&&(M=v(E,M));return C=z['call'](this,{'props':G,'idName':I,'className':K,'style':E}),C['type']='Text',C['ctx']=null,C['valuesrc']=M,C['renderBoxes']=[],Object['defineProperty'](n(C),'value',{'get':function N(){return this['valuesrc'];},'set':function O(P){P!==this['valuesrc']&&(this['valuesrc']=P,this['emit']('repaint'));},'enumerable':!![],'configurable':!![]}),C;}return i(A,[{'key':'toCanvasData','value':function B(){var C=this['style']||{};this['fontSize']=C['fontSize']||0xc,this['textBaseline']='top',this['font']=''['concat'](C['fontWeight']||'','\x20')['concat'](C['fontSize']||0xc,'px\x20')['concat'](q),this['textAlign']=C['textAlign']||'left',this['fillStyle']=C['color']||'#000';}},{'key':'insert','value':function C(D,E){this['renderBoxes']['push']({'ctx':D,'box':E}),this['render'](D,E);}},{'key':'repaint','value':function D(){var E=this;this['renderBoxes']['forEach'](function(F){E['render'](F['ctx'],F['box']);});}},{'key':'destroySelf','value':function E(){this['root']=null;}},{'key':'render','value':function F(G,H){this['toCanvasData'](),G['save']();var I=H||this['layoutBox'],J=this['style'];G['textBaseline']=this['textBaseline'],G['font']=this['font'],G['textAlign']=this['textAlign'];var K=I['absoluteX'],L=I['absoluteY'];this['renderBorder'](G,H);J['backgroundColor']&&(G['fillStyle']=J['backgroundColor'],G['fillRect'](K,L,I['width'],I['height']));G['fillStyle']=this['fillStyle'];if(this['textAlign']==='center')K+=I['width']/0x2;else this['textAlign']==='right'&&(K+=I['width']);J['lineHeight']&&(G['textBaseline']='middle',L+=J['lineHeight']/0x2),G['fillText'](this['value'],K,L),G['restore']();}}]),A;}(d['default']);},function(a,b,c){'use strict';c['r'](b),c['d'](b,'default',function(){return u;});var d=c(0x11),e=c(0x5),f=c(0x15),g=c(0x7);function h(v){'@babel/helpers - typeof';return typeof Symbol==='function'&&typeof Symbol['iterator']==='symbol'?h=function w(x){return typeof x;}:h=function x(y){return y&&typeof Symbol==='function'&&y['constructor']===Symbol&&y!==Symbol['prototype']?'symbol':typeof y;},h(v);}function i(v,w){if(!(v instanceof w))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function j(v,w){for(var x=0x0;xF['pageHeight']*I){var L=H+E-F['pageHeight']*I,M=G['height'],N=H;if(L>0x0&&F['pageHeight']-LI*N){var O=Object['assign']({},K['layoutBox']);O['absoluteY']=L-G['pageHeight']*N,K['checkNeedRender']()&&G['canvasMap'][N]['elements']['push']({'element':K,'box':O});}G['renderChildren'](K);});}},{'key':'insertElements','value':function F(G){var H=this,I=Object(g['createCanvas'])(),J=I['getContext']('2d');I['width']=this['renderport']['width'],I['height']=this['pageHeight'],J['id']=++s,this['canvasMap'][G]['canvas']=I,this['canvasMap'][G]['context']=J,this['canvasMap'][G]['elements']['forEach'](function(L){L['element']['insert'](J,L['box']);});if(G-0x1){var M=new Date(),N=this['canvasMap'][K],canvas=N['canvas'],O=N['context'];O['clearRect'](0x0,0x0,canvas['width'],canvas['height']),this['canvasMap'][K]['elements']['forEach'](function(P){Object(g['repaintTree'])(P['element']);});}this['clipRepaint'](-this['top']);}},{'key':'insertScrollView','value':function H(I){var J=this;this['insert'](I),this['root']['on']('repaint__done',function(){J['clipRepaint'](-J['top']);}),this['calPageData'](),this['renderChildren'](this),this['insertElements'](0x0),this['clipRepaint'](-this['top']),this['EE']['on']('image__render__done',function(K){J['throttleImageLoadDone'](K);}),this['scrollHeight']>this['layoutBox']['height']&&(this['touch']['setTouchRange'](-(this['scrollHeight']-this['layoutBox']['height']),0x0,this['clipRepaint']['bind'](this)),this['on']('touchstart',this['touch']['startFunc']),this['on']('touchmove',this['touch']['moveFunc']),this['on']('touchend',this['touch']['endFunc']));}},{'key':'scrollHeight','get':function I(){if(!this['children']['length'])return 0x0;var J=this['children'][this['children']['length']-0x1];return J['layoutBox']['top']+J['layoutBox']['height'];}}]),x;}(d['default']);},function(a,b,c){'use strict';c['r'](b),c['d'](b,'default',function(){return h;});var d=c(0x7);function e(i,j){if(!(i instanceof j))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(j,k){for(var l=0x0;lthis['end'])p=this['end'];else o0x2||this['touchStartY']-t<-0x2)&&(this['target']-=this['touchStartY']-t),this['target']=this['limitTarget'](this['target']),this['touchStartY']=t;}},{'key':'touchEndHandler','value':function q(){this['isMoving']=![];var r=(Date['now']()-this['touchTime'])/0x3e8;r<0.9&&(this['target']+=(this['target']-this['move'])*0.6/(r*0x5),this['target']=this['limitTarget'](this['target']));}},{'key':'loop','value':function r(){if(this['needProcess'])this['isMoving']?this['move']!==this['target']&&(Math['abs'](this['target']-this['move'])>0x1?this['move']+=(this['target']-this['move'])*0.4:this['move']=this['target'],this['scroll']&&this['scroll'](this['move'])):this['move']!==this['target']?(Math['abs'](this['target']-this['move'])>0x1?this['move']+=(this['target']-this['move'])*0.3:this['move']=this['target'],this['scroll']&&this['scroll'](this['move'])):this['needProcess']=![],this['animate']=requestAnimationFrame(this['loop']['bind'](this));else typeof cancelAnimationFrame!=='undefined'&&cancelAnimationFrame(this['animate']);}}]),i;}());},function(a,b,c){'use strict';c['r'](b),c['d'](b,'default',function(){return r;});var d=c(0x2),e=c(0x5);function f(s){'@babel/helpers - typeof';return typeof Symbol==='function'&&typeof Symbol['iterator']==='symbol'?f=function t(u){return typeof u;}:f=function u(v){return v&&typeof Symbol==='function'&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},f(s);}function g(s,t){if(!(s instanceof t))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(s,t){for(var u=0x0;uQ){if(L==='center')N+=(H-Q)/0x2;else L==='right'&&(N+=H-Q);}for(var R=0x0;R{d['type']==='engine'&&d['event']==='viewport'&&(updateViewPort(d),draw());}); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/dataDemo.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/dataDemo.js +new file mode 100644 +index 0000000..e2b9c8d +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/dataDemo.js +@@ -0,0 +1 @@ ++let dataDemo={'data':[]};const maxCount=0x1e;for(let i=0x0;id['rankScore']-c['rankScore']);export default dataDemo; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/style.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/style.js +new file mode 100644 +index 0000000..bcd70c0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/style.js +@@ -0,0 +1 @@ ++export default{'container':{'width':'100%','height':'100%','borderRadius':0xc},'header':{'width':'100%','height':'10%','flexDirection':'column','alignItems':'center','backgroundColor':'#ffffff','borderBottomWidth':0.5,'borderColor':'rgba(0,\x200,\x200,\x200.3)'},'title':{'width':'10%','height':'100%','fontSize':0x23,'lineHeight':0x50,'textAlign':'center','fontWeight':'bold','borderBottomWidth':0x6,'borderColor':'#000000'},'rankList':{'width':'100%','height':'90%','backgroundColor':'#ffffff'},'list':{'width':'100%','height':'88%','backgroundColor':'#ffffff','marginTop':0x1e},'listTips':{'width':'100%','height':'12%','lineHeight':0x5a,'textAlign':'center','fontSize':0x19,'color':'rgba(0,0,0,0.5)','backgroundColor':'#ffffff','borderRadius':0xa,'borderWidth':0x1,'borderColor':'rgba(0,\x200,\x200,\x201)'},'listItem':{'backgroundColor':'#F7F7F7','width':'100%','height':'10%','flexDirection':'row','alignItems':'center','justifyContent':'space-between'},'listItemOld':{'backgroundColor':'#ffffff'},'listItemUserData':{'width':'75%','height':'100%','flexDirection':'row','alignItems':'center','justifyContent':'flex-start'},'listItemScore':{'width':'25%','height':0x64,'fontSize':0x21,'fontWeight':'bold','paddingRight':0xc8,'lineHeight':0x64,'textAlign':'center'},'listItemNum':{'width':0x64,'height':0x50,'fontSize':0x1e,'fontWeight':'bold','color':'#452E27','lineHeight':0x64,'textAlign':'center'},'listHeadImg':{'borderRadius':0x6,'width':0x46,'height':0x46},'listItemName':{'width':0xd2,'height':0x64,'fontSize':0x1e,'lineHeight':0x64,'marginLeft':0x1e}}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/template.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/template.js +new file mode 100644 +index 0000000..873e975 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/openDataContext/render/template.js +@@ -0,0 +1 @@ ++import a from'./dataDemo';function anonymous(b){var c='\x20\x20\x20\x20\x20\x20',d=b['data'];if(d){var e,f=-0x1,g=d['length']-0x1;while(f\x20'),c+='\x20',f%0x2===0x0&&(c+='\x20\x20'),c+='\x20\x20\x20\x20\x20\x20\x20\x20';}}return c+='\x20\x20\x20',c;}export default anonymous(a); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/engine-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/engine-adapter.js +deleted file mode 100644 +index c4956c6..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/engine-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x0?setTimeout(N,J['deleteInterval']):u=![];}setTimeout(N,J['deleteInterval']);});},'removeCache':function I(J){if(this['cachedFiles']['has'](J)){var K=this,L=this['cachedFiles']['remove'](J)['url'];clearTimeout(q),q=null,this['writeCacheFile'](function(){K['_removePathOrFile'](J,L);});}},'_removePathOrFile':function J(K,L){this['_isZipFile'](K)?this['_isZipFile'](L)?l(L,this['_deleteFileCB']['bind'](this)):(m(L,!![]),this['_deleteFileCB']()):l(L,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function K(L){if(!L)this['outOfStorage']=![];},'makeBundleFolder':function L(M){g(''['concat'](this['cacheDir'],'/')['concat'](M),!![]);},'unzipAndCacheBundle':function M(N,O,P,Q){var R=Date['now']()['toString'](),S=''['concat'](this['cacheDir'],'/')['concat'](P,'/')['concat'](R)['concat'](v++),T=this;g(S,!![]),n(O,S,function(U){if(U){m(S,!![]);o(U['message'])&&(T['outOfStorage']=!![],T['autoClear']&&T['clearLRU']());Q&&Q(U);return;}T['cachedFiles']['add'](N,{'bundle':P,'url':S,'lastTime':R}),T['writeCacheFile'](),Q&&Q(null,S);});},'_isZipFile':function N(O){return O['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=x;},{}],0x4:[function(a,b,c){'use strict';a('./Editbox'),a('./AssetManager');},{'./AssetManager':0x1,'./Editbox':0x2}],0x5:[function(a,b,c){'use strict';var d=cc['assetManager']['parser'],e=cc['assetManager']['downloader'],f=cc['debug'];function g(i,j,k){k(null,i);}my['isIDE']&&e['register']({'.png':g,'.jpg':g,'.bmp':g,'.jpeg':g,'.gif':g,'.ico':g,'.tiff':g,'.image':g,'.webp':g});e['register']({'.mp3':g,'.ogg':g,'.wav':g,'.m4a':g});function h(i,j,k){var l=$global['screencanvas']['createImage']();function m(){l['onload']=null,l['onerror']=null,k&&k(null,l);}function n(){l['onload']=null,l['onerror']=null,k&&k(new Error(f['getError'](0x1342,i)));}return l['onload']=m,l['onerror']=n,l['src']=i,l;}e['downloadDomImage']=h,d['register']({'.png':h,'.jpg':h,'.bmp':h,'.jpeg':h,'.gif':h,'.ico':h,'.tiff':h,'.image':h,'.webp':h});},{}],0x6:[function(a,b,c){'use strict';var d=window['performance'],e=Object['create'](null);console['time']=function(f){e[f]=d['now']();},console['timeEnd']=function(f){var g=e[f],h=d['now']()-g;console['log'](''['concat'](f,':\x20')['concat'](h,'ms'));};},{}],0x7:[function(a,b,c){'use strict';(function(){if(!(cc&&cc['internal']&&cc['internal']['EditBox']))return;var d=cc['internal']['EditBox'],e=cc['js'],f=d['KeyboardReturnType'],g=0xffff;function h(k){switch(k){case f['DEFAULT']:case f['DONE']:return'done';case f['SEND']:return'send';case f['SEARCH']:return'search';case f['GO']:return'go';case f['NEXT']:return'next';}return'done';}var i=d['_EditBoxImpl'];function j(){i['call'](this);}e['extend'](j,i),d['_EditBoxImpl']=j,Object['assign'](j['prototype'],{'init':function k(l){if(!l){cc['error']('EditBox\x20init\x20failed');return;}this['_delegate']=l;},'beginEditing':function l(){if(this['_editing'])return;var m=this['_delegate'];this['_showPrompt'](),this['_editing']=!![],m['_editBoxEditingDidBegan']();},'endEditing':function m(){cc['warn']('Can\x27t\x20support\x20to\x20end\x20editing.');},'_showPrompt':function n(){var o=this,p=this['_delegate'],q=p['inputMode']===d['InputMode']['ANY'],r=p['maxLength']<0x0?g:p['maxLength'];q&&cc['warn']('Multiline\x20editing\x20is\x20not\x20supported'),my['prompt']({'title':'','message':p['placeholder'],'okButtonText':h(p['returnType']),'cancelButtonText':'cancel','success':function s(t){if(t['ok']){var u=t['inputValue'];u=r<=u['length']?u['substring'](0x0,r):u,p['_string']!==u&&p['_editBoxTextChanged'](u),p['_editBoxEditingReturn']();}o['_editing']=![],p['_editBoxEditingDidEnded']();}});}});}());},{}],0x8:[function(a,b,c){'use strict';if(cc&&cc['Label']){var d=cc['Label'],e=my['createCanvas'](),f=e['getContext']('2d'),g={'canvas':e,'context':f};cc['game']['on'](cc['game']['EVENT_ENGINE_INITED'],function(){Object['assign'](d['_canvasPool'],{'get':function h(){return g;},'put':function i(){}});});}},{}],0x9:[function(a,b,c){'use strict';a('../fs-utils'),a('../../../../common/engine/index'),a('./AssetManager.js'),a('./Label.js'),a('./Console'),a('./Editbox.js');},{'../../../../common/engine/index':0x4,'../fs-utils':0xa,'./AssetManager.js':0x5,'./Console':0x6,'./Editbox.js':0x7,'./Label.js':0x8}],0xa:[function(a,b,c){'use strict';var d=my['getFileSystemManager']?my['getFileSystemManager']():null,e='10028',f={'fs':d,'isOutOfStorage':function g(h){return h!=null&&String(h)===e;},'getUserDataPath':function h(){return my['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('Can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errorMessage'])),l&&l(new Error(o['errorMessage']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){!m?p&&p(null,t['apFilePath']):f['copyFile'](t['apFilePath'],m,p);},'fail':function t(u){f['isOutOfStorage'](u['error'])&&cc['assetManager']['cacheManager']['clearLRU'](),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errorMessage'])),p&&p(new Error(u['error']),null);}};if(n)q['header']=n;var r=my['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){f['copyFile'](m,n,o);},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errorMessage'])),p&&p(new Error(s['error']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){f['isOutOfStorage'](u['error'])&&cc['assetManager']['cacheManager']['clearLRU'](),console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errorMessage'])),r&&r(new Error(u['error']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync']({'filePath':p,'data':q,'encoding':r}),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errorMessage'])),s&&s(new Error(v['errorMessage']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errorMessage'])),s&&s(new Error(v['errorMessage']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync']({'filePath':v,'encoding':'utf8'});return JSON['parse'](w['data']);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync']({'dirPath':w,'recursive':x}),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync']({'dirPath':x,'recursive':y}),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['readFile']({'filePath':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){return my['loadSubPackage']({'name':z,'success':function C(){B&&B();},'fail':function D(E){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](E['errorMessage'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](E['errorMessage'])));}}),{};},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errorMessage'])),C&&C(new Error(F['error']));}});}};window['fsUtils']=b['exports']=f;},{}]},{},[0x9])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/engine-adapter.min.js +deleted file mode 100644 +index 3451c5e..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function a(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],a,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{var at=!0x1,au=!0x1;return!ar['startsWith'](V())&&X['test'](ar)?as['reload']||((as=z['cachedFiles']['get'](ar))?(au=!0x0,ar=as['url']):(as=z['tempFiles']['get'](ar))&&(at=!0x0,ar=as)):at=!0x0,{'url':ar,'inLocal':at,'inCache':au};})(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(z['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&z['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(z['tempFiles']['add'](al,as),z['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a5(al,am,an){N(al,an);}function a6(al,am,an){L(al,an);}function a7(al,am,an){Q(al,an);}function a8(al,am,an){a4(al,a7,am,am['onFileProgress'],an);}function a9(al,am,an){an(null,__globalAdapter['loadFont'](al)||'Arial');}function aa(al,am,an){W(al,function(ao){ao?an(null,al):an(new Error('file\x20'['concat'](al,'\x20does\x20not\x20exist!')));});}function ab(al,am,an){a4(al,aa,am,am['onFileProgress'],an);}a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']&&(j=globalThis['__taobaoRequire']);function ac(al,am,an){N(al,function(ao,ap){ao?an(ao):ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){ao?an(ao):ah(ap,am,an);});}function ae(al,am,an){N(al,function(ao,ap){ao?an(ao):ai(ap,am,an);});}function af(al,am,an){L(al,function(ao,ap){ao?an(ao):aj(ap,am,an);});}var ag=G['parsePVRTex'],ah=G['parsePKMTex'],ai=G['parseASTCTex'],aj=G['parsePlist'];Y['downloadScript']=a2,Y['_downloadArrayBuffer']=function(al,am,an){a4(al,a5,am,am['onFileProgress'],an);},Y['_downloadJson']=a8,G['parsePVRTex']=ac,G['parsePKMTex']=ad,G['parseASTCTex']=ae,G['parsePlist']=af,Y['register']({'.js':a2,'.mp3':ab,'.ogg':ab,'.wav':ab,'.m4a':ab,'.png':ab,'.jpg':ab,'.bmp':ab,'.jpeg':ab,'.gif':ab,'.ico':ab,'.tiff':ab,'.image':ab,'.webp':ab,'.pvr':ab,'.pkm':ab,'.astc':ab,'.font':ab,'.eot':ab,'.ttf':ab,'.woff':ab,'.svg':ab,'.ttc':ab,'.txt':ab,'.xml':ab,'.vsh':ab,'.fsh':ab,'.atlas':ab,'.tmx':ab,'.tsx':ab,'.plist':ab,'.fnt':ab,'.json':a8,'.ExportJson':ab,'.binary':ab,'.bin':ab,'.dbbin':ab,'.skel':ab,'.mp4':ab,'.avi':ab,'.mov':ab,'.mpg':ab,'.mpeg':ab,'.rm':ab,'.rmvb':ab,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';a0[ar]?(ao=(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?'':'subpackages/')['concat'](ar,'/config.')['concat'](as,'json'),U(ar,am['onFileProgress'],function(at){at?an(at,null):a8(ao,am,function(au,av){var aw;(aw=av)&&(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?aw['base']=''['concat'](ar,'/'):aw['base']='subpackages/'['concat'](ar,'/')),an(au,av);});})):(X['test'](al)||al['startsWith'](V())?(aq=al,ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):-0x1!==Y['remoteBundles']['indexOf'](ar)?(aq=''['concat'](Y['remoteServerAddress'],'remote/')['concat'](ar),ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):(aq='assets/'['concat'](ar),ap='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?j(ap):a1['platform']!==a1['Platform']['TAOBAO_CREATIVE_APP']&&j('./'['concat'](ap)),am['__cacheBundleRoot__']=ar,a8(''['concat'](aq,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](aq,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),a1['platform']===a1['Platform']['ALIPAY_MINI_GAME']&&a1['os']===a1['OS']['ANDROID']&&(ay=''['concat'](az,'res/'),H['accessSync']({'path':ay})['success'])&&(au['base']=ay),an&&an(null,au));},(at=z['cachedFiles']['get'](av))?(z['updateLastTime'](av),ax&&ax(null,at['url'])):X['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):z['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):z['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](aq,'/'),an&&an(null,au));}));},'default':function(al,am,an){a4(al,a6,am,am['onFileProgress'],an);}}),G['register']({'.png':Y['downloadDomImage'],'.jpg':Y['downloadDomImage'],'.bmp':Y['downloadDomImage'],'.jpeg':Y['downloadDomImage'],'.gif':Y['downloadDomImage'],'.ico':Y['downloadDomImage'],'.tiff':Y['downloadDomImage'],'.image':Y['downloadDomImage'],'.webp':Y['downloadDomImage'],'.pvr':ac,'.pkm':ad,'.astc':ae,'.font':a9,'.eot':a9,'.ttf':a9,'.woff':a9,'.svg':a9,'.ttc':a9,'.mp3':a3,'.ogg':a3,'.wav':a3,'.m4a':a3,'.txt':a6,'.xml':a6,'.vsh':a6,'.fsh':a6,'.atlas':a6,'.tmx':a6,'.tsx':a6,'.fnt':a6,'.plist':af,'.binary':a5,'.bin':a5,'.dbbin':a5,'.skel':a5,'.ExportJson':a7}),cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';default:return'done';}})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){__globalAdapter['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x3:[function(j,k,q){var x=window['fsUtils'],z=x['getUserDataPath'],A=x['readJsonSync'],B=x['makeDirSync'],C=x['writeFileSync'],D=x['writeFile'],E=x['copyFile'],G=x['downloadFile'],H=x['deleteFile'],I=x['rmdirSync'],J=x['unzip'],K=x['isOutOfStorage'],L=!0x1,M=null,N=!0x1,O=[],P=[],Q=!0x1,R=0x0,S=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=k['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(T){return this['cachedFiles']['has'](T)?this['cachedFiles']['get'](T)['url']:'';},'getTemp':function(T){return this['tempFiles']['has'](T)?this['tempFiles']['get'](T):'';},'init':function(){this['cacheDir']=''['concat'](z(),'/')['concat'](this['cacheDir']);var T=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),U=A(T);U instanceof Error||!U['version']?(U instanceof Error||I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),C(T,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](U['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(T){this['cachedFiles']['has'](T)&&(this['cachedFiles']['get'](T)['lastTime']=Date['now']());},'_write':function(){N=!(M=null),D(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8',function(){N=!0x1;for(var T=0x0,U=P['length'];T{var Y=V['cacheQueue'][X],Z=Y['srcUrl'],a0=Y['isCopy'],a1=Y['cacheBundleRoot'],a2=Date['now']()['toString'](),a3='';function a4(a5){if(L=!0x1,a5){if(K(a5['message']))return W['outOfStorage']=!0x0,void(W['autoClear']&&W['clearLRU']());}else W['cachedFiles']['add'](X,{'bundle':a1,'url':a3,'lastTime':a2}),delete W['cacheQueue'][X],W['writeCacheFile']();cc['js']['isEmptyObject'](W['cacheQueue'])||(L=!0x0,setTimeout(W['_cache']['bind'](W),W['cacheInterval']));}return a3=(a1?''['concat'](V['cacheDir'],'/')['concat'](a1,'/'):''['concat'](V['cacheDir'],'/'))['concat'](a2)['concat'](R++)['concat'](cc['path']['extname'](X)),a0?E(Z,a3,a4):G(Z,a3,null,a4),{'v':void 0x0};})(U))return T['v'];L=!0x1;},'cacheFile':function(T,U,V,W,X){!(V=void 0x0!==V?V:this['cacheEnabled'])||this['cacheQueue'][T]||this['cachedFiles']['has'](T)||(this['cacheQueue'][T]={'srcUrl':U,'cacheBundleRoot':W,'isCopy':X},L)||(L=!0x0,this['outOfStorage']?L=!0x1:setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var T=this,U=(I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),this['cacheDir']+'/'+this['cachedFileName']);this['outOfStorage']=!0x1,clearTimeout(M),M=null,C(U,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8'),cc['assetManager']['bundles']['forEach'](function(V){S['test'](V['base'])&&T['makeBundleFolder'](V['name']);});},'clearLRU':function(){if(!Q){Q=!0x0;var T=[],U=this;this['cachedFiles']['forEach'](function(Y,Z){U['_isZipFile'](Z)&&cc['assetManager']['bundles']['find'](function(a0){return-0x1!==a0['base']['indexOf'](Y['url']);})||T['push']({'originUrl':Z,'url':Y['url'],'lastTime':Y['lastTime']});}),T['sort'](function(Y,Z){return Y['lastTime']-Z['lastTime'];}),T['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):T['length']=Math['floor'](T['length']/0x3);for(var V=0x0,W=T['length'];V{switch(r){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'cancelButtonText':'cancel','success':function(r){r['ok']&&(r=r['inputValue'],r=q<=r['length']?r['substring'](0x0,q):r,m['_string']!==r&&m['_editBoxTextChanged'](r),m['_editBoxEditingReturn']()),l['_editing']=!0x1,m['_editBoxEditingDidEnded']();}});}}));},{}],0x8:[function(b,d,f){var g,h,j,k;cc&&cc['Label']&&(g=cc['Label'],j=(h=my['createCanvas']())['getContext']('2d'),k={'canvas':h,'context':j},cc['game']['on'](cc['game']['EVENT_ENGINE_INITED'],function(){Object['assign'](g['_canvasPool'],{'get':function(){return k;},'put':function(){}});}));},{}],0x9:[function(b,c,d){b('../fs-utils'),b('../../../../common/engine/index'),b('./AssetManager.js'),b('./Label.js'),b('./Console'),b('./Editbox.js');},{'../../../../common/engine/index':0x4,'../fs-utils':0xa,'./AssetManager.js':0x5,'./Console':0x6,'./Editbox.js':0x7,'./Label.js':0x8}],0xa:[function(b,d,f){var g=my['getFileSystemManager']?my['getFileSystemManager']():null,h={'fs':g,'isOutOfStorage':function(i){return null!=i&&'10028'===String(i);},'getUserDataPath':function(){return my['env']['USER_DATA_PATH'];},'checkFsValid':function(){return!!g||(console['warn']('Can\x20not\x20get\x20the\x20file\x20system!'),!0x1);},'deleteFile':function(i,j){g['unlink']({'filePath':i,'success':function(){j&&j(null);},'fail':function(k){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](k['errorMessage'])),j&&j(new Error(k['errorMessage']));}});},'downloadFile':function(j,k,l,m,p){var q={'url':j,'success':function(r){k?h['copyFile'](r['apFilePath'],k,p):p&&p(null,r['apFilePath']);},'fail':function(r){h['isOutOfStorage'](r['error'])&&cc['assetManager']['cacheManager']['clearLRU'](),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](r['errorMessage'])),p&&p(new Error(r['error']),null);}},l=(l&&(q['header']=l),my['downloadFile'](q));m&&l['onProgressUpdate'](m);},'saveFile':function(i,j,k){h['copyFile'](i,j,k);},'copyFile':function(i,j,k){g['copyFile']({'srcPath':i,'destPath':j,'success':function(){k&&k(null);},'fail':function(l){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](l['errorMessage'])),k&&k(new Error(l['error']));}});},'writeFile':function(i,j,k,l){g['writeFile']({'filePath':i,'encoding':k,'data':j,'success':function(){l&&l(null);},'fail':function(m){h['isOutOfStorage'](m['error'])&&cc['assetManager']['cacheManager']['clearLRU'](),console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](m['errorMessage'])),l&&l(new Error(m['error']));}});},'writeFileSync':function(i,j,k){try{return g['writeFileSync']({'filePath':i,'data':j,'encoding':k}),null;}catch(l){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'readFile':function(i,j,k){g['readFile']({'filePath':i,'encoding':j,'success':function(l){k&&k(null,l['data']);},'fail':function(l){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](l['errorMessage'])),k&&k(new Error(l['errorMessage']),null);}});},'readDir':function(i,j){g['readdir']({'dirPath':i,'success':function(k){j&&j(null,k['files']);},'fail':function(k){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](k['errorMessage'])),j&&j(new Error(k['errorMessage']),null);}});},'readText':function(i,j){h['readFile'](i,'utf8',j);},'readArrayBuffer':function(i,j){h['readFile'](i,'',j);},'readJson':function(i,j){h['readFile'](i,'utf8',function(k,l){var m=null;if(!k)try{m=JSON['parse'](l);}catch(p){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](p['message'])),k=new Error(p['message']);}j&&j(k,m);});},'readJsonSync':function(i){try{var j=g['readFileSync']({'filePath':i,'encoding':'utf8'});return JSON['parse'](j['data']);}catch(k){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](k['message'])),new Error(k['message']);}},'makeDirSync':function(i,j){try{return g['mkdirSync']({'dirPath':i,'recursive':j}),null;}catch(k){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](k['message'])),new Error(k['message']);}},'rmdirSync':function(i,j){try{return g['rmdirSync']({'dirPath':i,'recursive':j}),null;}catch(k){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](k['message'])),new Error(k['message']);}},'exists':function(i,j){g['readFile']({'filePath':i,'success':function(){j&&j(!0x0);},'fail':function(){j&&j(!0x1);}});},'loadSubpackage':function(i,j,k){return my['loadSubPackage']({'name':i,'success':function(){k&&k();},'fail':function(l){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](l['errorMessage'])),k&&k(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](i,':\x20')['concat'](l['errorMessage'])));}}),{};},'unzip':function(i,j,k){g['unzip']({'zipFilePath':i,'targetPath':j,'success':function(){k&&k(null);},'fail':function(l){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](i,'\x20message:\x20')['concat'](l['errorMessage'])),k&&k(new Error(l['error']));}});}};window['fsUtils']=d['exports']=h;},{}]},{},[0x9]); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/web-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/web-adapter.js +deleted file mode 100644 +index 41cda49..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao-mini-game/web-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function n(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function o(p,q,r,s){var t=this['doc'],u=t['createElementNS'](p,r||q),v=s['length'];j(this,u),this['currentElement']=u,this['locator']&&g(this['locator'],u);for(var w=0x0;w=G+H||G)return new java['lang']['String'](F,G,H)+'';return F;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(F){f['prototype'][F]=function(){return null;};});function j(F,G){!F['currentElement']?F['doc']['appendChild'](G):F['currentElement']['appendChild'](G);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d,window['DOMParser']=d;},{'./dom':0x2,'./entities':0x3,'./sax':0x4}],0x2:[function(a,b,c){'use strict';function d(ap){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(aq){return typeof aq;}:function(aq){return aq&&'function'==typeof Symbol&&aq['constructor']===Symbol&&aq!==Symbol['prototype']?'symbol':typeof aq;},d(ap);}function f(ap,aq){for(var ar in ap){aq[ar]=ap[ar];}}function g(ap,aq){var ar=ap['prototype'];if(!(ar instanceof aq)){var as=function au(){};;as['prototype']=aq['prototype'],as=new as();for(var at in ar){as[at]=ar[at];}ap['prototype']=ar=as;}ar['constructor']!=ap&&(typeof ap!='function'&&console['error']('unknow\x20Class:'+ap),ar['constructor']=ap);}var h='http://www.w3.org/1999/xhtml',i={},j=i['ELEMENT_NODE']=0x1,k=i['ATTRIBUTE_NODE']=0x2,l=i['TEXT_NODE']=0x3,m=i['CDATA_SECTION_NODE']=0x4,n=i['ENTITY_REFERENCE_NODE']=0x5,o=i['ENTITY_NODE']=0x6,p=i['PROCESSING_INSTRUCTION_NODE']=0x7,q=i['COMMENT_NODE']=0x8,r=i['DOCUMENT_NODE']=0x9,s=i['DOCUMENT_TYPE_NODE']=0xa,t=i['DOCUMENT_FRAGMENT_NODE']=0xb,u=i['NOTATION_NODE']=0xc,v={},w={},x=v['INDEX_SIZE_ERR']=(w[0x1]='Index\x20size\x20error',0x1),y=v['DOMSTRING_SIZE_ERR']=(w[0x2]='DOMString\x20size\x20error',0x2),z=v['HIERARCHY_REQUEST_ERR']=(w[0x3]='Hierarchy\x20request\x20error',0x3),A=v['WRONG_DOCUMENT_ERR']=(w[0x4]='Wrong\x20document',0x4),B=v['INVALID_CHARACTER_ERR']=(w[0x5]='Invalid\x20character',0x5),C=v['NO_DATA_ALLOWED_ERR']=(w[0x6]='No\x20data\x20allowed',0x6),D=v['NO_MODIFICATION_ALLOWED_ERR']=(w[0x7]='No\x20modification\x20allowed',0x7),E=v['NOT_FOUND_ERR']=(w[0x8]='Not\x20found',0x8),F=v['NOT_SUPPORTED_ERR']=(w[0x9]='Not\x20supported',0x9),G=v['INUSE_ATTRIBUTE_ERR']=(w[0xa]='Attribute\x20in\x20use',0xa),H=v['INVALID_STATE_ERR']=(w[0xb]='Invalid\x20state',0xb),I=v['SYNTAX_ERR']=(w[0xc]='Syntax\x20error',0xc),J=v['INVALID_MODIFICATION_ERR']=(w[0xd]='Invalid\x20modification',0xd),K=v['NAMESPACE_ERR']=(w[0xe]='Invalid\x20namespace',0xe),L=v['INVALID_ACCESS_ERR']=(w[0xf]='Invalid\x20access',0xf);function M(ap,aq){if(aq instanceof Error)var ar=aq;else{ar=this,Error['call'](this,w[ap]),this['message']=w[ap];if(Error['captureStackTrace'])Error['captureStackTrace'](this,M);}ar['code']=ap;if(aq)this['message']=this['message']+':\x20'+aq;return ar;};M['prototype']=Error['prototype'],f(v,M);function N(){};N['prototype']={'length':0x0,'item':function ap(aq){return this[aq]||null;},'toString':function aq(ar,as){for(var at=[],au=0x0;au=0x0){var av=as['length']-0x1;while(au0x0;},'lookupPrefix':function aJ(aK){var aL=this;while(aL){var aM=aL['_nsMap'];if(aM)for(var aN in aM){if(aM[aN]==aK)return aN;}aL=aL['nodeType']==k?aL['ownerDocument']:aL['parentNode'];}return null;},'lookupNamespaceURI':function aK(aL){var aM=this;while(aM){var aN=aM['_nsMap'];if(aN){if(aL in aN)return aN[aL];}aM=aM['nodeType']==k?aM['ownerDocument']:aM['parentNode'];}return null;},'isDefaultNamespace':function aL(aM){var aN=this['lookupPrefix'](aM);return aN==null;}};function W(aM){return aM=='<'&&'<'||aM=='>'&&'>'||aM=='&'&&'&'||aM=='\x22'&&'"'||'&#'+aM['charCodeAt']()+';';}f(i,V),f(i,V['prototype']);function X(aM,aN){if(aN(aM))return!![];if(aM=aM['firstChild'])do{if(X(aM,aN))return!![];}while(aM=aM['nextSibling']);}function Y(){}function Z(aM,aN,aO){aM&&aM['_inc']++;var aP=aO['namespaceURI'];aP=='http://www.w3.org/2000/xmlns/'&&(aN['_nsMap'][aO['prefix']?aO['localName']:'']=aO['value']);}function a0(aM,aN,aO,aP){aM&&aM['_inc']++;var aQ=aO['namespaceURI'];aQ=='http://www.w3.org/2000/xmlns/'&&delete aN['_nsMap'][aO['prefix']?aO['localName']:''];}function a1(aM,aN,aO){if(aM&&aM['_inc']){aM['_inc']++;var aP=aN['childNodes'];if(aO)aP[aP['length']++]=aO;else{var aQ=aN['firstChild'],aR=0x0;while(aQ){aP[aR++]=aQ,aQ=aQ['nextSibling'];}aP['length']=aR;}}}function a2(aM,aN){var aO=aN['previousSibling'],aP=aN['nextSibling'];return aO?aO['nextSibling']=aP:aM['firstChild']=aP,aP?aP['previousSibling']=aO:aM['lastChild']=aO,a1(aM['ownerDocument'],aM),aN;}function a3(aM,aN,aO){var aP=aN['parentNode'];aP&&aP['removeChild'](aN);if(aN['nodeType']===t){var aQ=aN['firstChild'];if(aQ==null)return aN;var aR=aN['lastChild'];}else aQ=aR=aN;var aS=aO?aO['previousSibling']:aM['lastChild'];aQ['previousSibling']=aS,aR['nextSibling']=aO;aS?aS['nextSibling']=aQ:aM['firstChild']=aQ;aO==null?aM['lastChild']=aR:aO['previousSibling']=aR;do{aQ['parentNode']=aM;}while(aQ!==aR&&(aQ=aQ['nextSibling']));return a1(aM['ownerDocument']||aM,aM),aN['nodeType']==t&&(aN['firstChild']=aN['lastChild']=null),aN;}function a4(aM,aN){var aO=aN['parentNode'];if(aO){var aP=aM['lastChild'];aO['removeChild'](aN);var aP=aM['lastChild'];}var aP=aM['lastChild'];return aN['parentNode']=aM,aN['previousSibling']=aP,aN['nextSibling']=null,aP?aP['nextSibling']=aN:aM['firstChild']=aN,aM['lastChild']=aN,a1(aM['ownerDocument'],aM,aN),aN;}Y['prototype']={'nodeName':'#document','nodeType':r,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function aM(aN,aO){if(aN['nodeType']==t){var aP=aN['firstChild'];while(aP){var aQ=aP['nextSibling'];this['insertBefore'](aP,aO),aP=aQ;}return aN;}return this['documentElement']==null&&aN['nodeType']==j&&(this['documentElement']=aN),(a3(this,aN,aO),aN['ownerDocument']=this,aN);},'removeChild':function aN(aO){return this['documentElement']==aO&&(this['documentElement']=null),a2(this,aO);},'importNode':function aO(aP,aQ){return al(this,aP,aQ);},'getElementById':function aP(aQ){var aR=null;return X(this['documentElement'],function(aS){if(aS['nodeType']==j){if(aS['getAttribute']('id')==aQ)return aR=aS,!![];}}),aR;},'createElement':function aQ(aR){var aS=new a5();aS['ownerDocument']=this,aS['nodeName']=aR,aS['tagName']=aR,aS['childNodes']=new N();var aT=aS['attributes']=new Q();return aT['_ownerElement']=aS,aS;},'createDocumentFragment':function aR(){var aS=new af();return aS['ownerDocument']=this,aS['childNodes']=new N(),aS;},'createTextNode':function aS(aT){var aU=new a8();return aU['ownerDocument']=this,aU['appendData'](aT),aU;},'createComment':function aT(aU){var aV=new a9();return aV['ownerDocument']=this,aV['appendData'](aU),aV;},'createCDATASection':function aU(aV){var aW=new aa();return aW['ownerDocument']=this,aW['appendData'](aV),aW;},'createProcessingInstruction':function aV(aW,aX){var aY=new ag();return aY['ownerDocument']=this,aY['tagName']=aY['target']=aW,aY['nodeValue']=aY['data']=aX,aY;},'createAttribute':function aW(aX){var aY=new a6();return aY['ownerDocument']=this,aY['name']=aX,aY['nodeName']=aX,aY['localName']=aX,aY['specified']=!![],aY;},'createEntityReference':function aX(aY){var aZ=new ae();return aZ['ownerDocument']=this,aZ['nodeName']=aY,aZ;},'createElementNS':function aY(aZ,b0){var b1=new a5(),b2=b0['split'](':'),b3=b1['attributes']=new Q();return b1['childNodes']=new N(),b1['ownerDocument']=this,b1['nodeName']=b0,b1['tagName']=b0,b1['namespaceURI']=aZ,b2['length']==0x2?(b1['prefix']=b2[0x0],b1['localName']=b2[0x1]):b1['localName']=b0,b3['_ownerElement']=b1,b1;},'createAttributeNS':function aZ(b0,b1){var b2=new a6(),b3=b1['split'](':');return b2['ownerDocument']=this,b2['nodeName']=b1,b2['name']=b1,b2['namespaceURI']=b0,b2['specified']=!![],b3['length']==0x2?(b2['prefix']=b3[0x0],b2['localName']=b3[0x1]):b2['localName']=b1,b2;}},g(Y,V);function a5(){this['_nsMap']={};};a5['prototype']={'nodeType':j,'hasAttribute':function b0(b1){return this['getAttributeNode'](b1)!=null;},'getAttribute':function b1(b2){var b3=this['getAttributeNode'](b2);return b3&&b3['value']||'';},'getAttributeNode':function b2(b3){return this['attributes']['getNamedItem'](b3);},'setAttribute':function b3(b4,b5){var b6=this['ownerDocument']['createAttribute'](b4);b6['value']=b6['nodeValue']=''+b5,this['setAttributeNode'](b6);},'removeAttribute':function b4(b5){var b6=this['getAttributeNode'](b5);b6&&this['removeAttributeNode'](b6);},'appendChild':function b5(b6){return b6['nodeType']===t?this['insertBefore'](b6,null):a4(this,b6);},'setAttributeNode':function b6(b7){return this['attributes']['setNamedItem'](b7);},'setAttributeNodeNS':function b7(b8){return this['attributes']['setNamedItemNS'](b8);},'removeAttributeNode':function b8(b9){return this['attributes']['removeNamedItem'](b9['nodeName']);},'removeAttributeNS':function b9(ba,bb){var bc=this['getAttributeNodeNS'](ba,bb);bc&&this['removeAttributeNode'](bc);},'hasAttributeNS':function ba(bb,bc){return this['getAttributeNodeNS'](bb,bc)!=null;},'getAttributeNS':function bb(bc,bd){var be=this['getAttributeNodeNS'](bc,bd);return be&&be['value']||'';},'setAttributeNS':function bc(bd,be,bf){var bg=this['ownerDocument']['createAttributeNS'](bd,be);bg['value']=bg['nodeValue']=''+bf,this['setAttributeNode'](bg);},'getAttributeNodeNS':function bd(be,bf){return this['attributes']['getNamedItemNS'](be,bf);},'getElementsByTagName':function be(bf){return new O(this,function(bg){var bh=[];return X(bg,function(bi){bi!==bg&&bi['nodeType']==j&&(bf==='*'||bi['tagName']==bf)&&bh['push'](bi);}),bh;});},'getElementsByTagNameNS':function bf(bg,bh){return new O(this,function(bi){var bj=[];return X(bi,function(bk){bk!==bi&&bk['nodeType']===j&&(bg==='*'||bk['namespaceURI']===bg)&&(bh==='*'||bk['localName']==bh)&&bj['push'](bk);}),bj;});}},Y['prototype']['getElementsByTagName']=a5['prototype']['getElementsByTagName'],Y['prototype']['getElementsByTagNameNS']=a5['prototype']['getElementsByTagNameNS'],g(a5,V);function a6(){};a6['prototype']['nodeType']=k,g(a6,V);function a7(){};a7['prototype']={'data':'','substringData':function bg(bh,bi){return this['data']['substring'](bh,bh+bi);},'appendData':function bh(bi){bi=this['data']+bi,this['nodeValue']=this['data']=bi,this['length']=bi['length'];},'insertData':function bi(bj,bk){this['replaceData'](bj,0x0,bk);},'appendChild':function bj(bk){throw new Error(w[z]);},'deleteData':function bk(bl,bm){this['replaceData'](bl,bm,'');},'replaceData':function bl(bm,bn,bo){var bp=this['data']['substring'](0x0,bm),bq=this['data']['substring'](bm+bn);bo=bp+bo+bq,this['nodeValue']=this['data']=bo,this['length']=bo['length'];}},g(a7,V);function a8(){};a8['prototype']={'nodeName':'#text','nodeType':l,'splitText':function bm(bn){var bo=this['data'],bp=bo['substring'](bn);bo=bo['substring'](0x0,bn),this['data']=this['nodeValue']=bo,this['length']=bo['length'];var bq=this['ownerDocument']['createTextNode'](bp);return this['parentNode']&&this['parentNode']['insertBefore'](bq,this['nextSibling']),bq;}},g(a8,a7);function a9(){};a9['prototype']={'nodeName':'#comment','nodeType':q},g(a9,a7);function aa(){};aa['prototype']={'nodeName':'#cdata-section','nodeType':m},g(aa,a7);function ab(){};ab['prototype']['nodeType']=s,g(ab,V);function ac(){};ac['prototype']['nodeType']=u,g(ac,V);function ad(){};ad['prototype']['nodeType']=o,g(ad,V);function ae(){};ae['prototype']['nodeType']=n,g(ae,V);function af(){};af['prototype']['nodeName']='#document-fragment',af['prototype']['nodeType']=t,g(af,V);function ag(){}ag['prototype']['nodeType']=p,g(ag,V);function ah(){}ah['prototype']['serializeToString']=function(bn,bo,bp){return ai['call'](bn,bo,bp);},V['prototype']['toString']=ai;function ai(bn,bo){var bp=[],bq=this['nodeType']==0x9&&this['documentElement']||this,br=bq['prefix'],bs=bq['namespaceURI'];if(bs&&br==null){var br=bq['lookupPrefix'](bs);if(br==null)var bt=[{'namespace':bs,'prefix':null}];}return ak(this,bp,bn,bo,bt),bp['join']('');}function aj(bn,bo,bp){var bq=bn['prefix']||'',br=bn['namespaceURI'];if(!bq&&!br)return![];if(bq==='xml'&&br==='http://www.w3.org/XML/1998/namespace'||br=='http://www.w3.org/2000/xmlns/')return![];var bs=bp['length'];while(bs--){var bt=bp[bs];if(bt['prefix']==bq)return bt['namespace']!=br;}return!![];}function ak(bn,bo,bp,bq,br){if(bq){bn=bq(bn);if(bn){if(typeof bn=='string'){bo['push'](bn);return;}}else return;}switch(bn['nodeType']){case j:if(!br)br=[];var bs=br['length'],bt=bn['attributes'],bu=bt['length'],bv=bn['firstChild'],bw=bn['tagName'];bp=h===bn['namespaceURI']||bp,bo['push']('<',bw);for(var bx=0x0;bx');if(bp&&/^script$/i['test'](bw))while(bv){bv['data']?bo['push'](bv['data']):ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}else while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}bo['push']('');}else bo['push']('/>');return;case r:case t:var bv=bn['firstChild'];while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}return;case k:return bo['push']('\x20',bn['name'],'=\x22',bn['value']['replace'](/[<&"]/g,W),'\x22');case l:return bo['push'](bn['data']['replace'](/[<&]/g,W));case m:return bo['push']('');case q:return bo['push']('');case s:var bC=bn['publicId'],bD=bn['systemId'];bo['push']('');else{if(bD&&bD!='.')bo['push']('\x20SYSTEM\x20\x22',bD,'\x22>');else{var bE=bn['internalSubset'];bE&&bo['push']('\x20[',bE,']'),bo['push']('>');}}return;case p:return bo['push']('');case n:return bo['push']('&',bn['nodeName'],';');default:bo['push']('??',bn['nodeName']);}}function al(bn,bo,bp){var bq;switch(bo['nodeType']){case j:bq=bo['cloneNode'](![]),bq['ownerDocument']=bn;case t:break;case k:bp=!![];break;}!bq&&(bq=bo['cloneNode'](![]));bq['ownerDocument']=bn,bq['parentNode']=null;if(bp){var br=bo['firstChild'];while(br){bq['appendChild'](al(bn,br,bp)),br=br['nextSibling'];}}return bq;}function am(bn,bo,bp){var bq=new bo['constructor']();for(var br in bo){var bs=bo[br];d(bs)!='object'&&(bs!=bq[br]&&(bq[br]=bs));}bo['childNodes']&&(bq['childNodes']=new N());bq['ownerDocument']=bn;switch(bq['nodeType']){case j:var bt=bo['attributes'],bu=bq['attributes']=new Q(),bv=bt['length'];bu['_ownerElement']=bq;for(var bw=0x0;bw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function A(B,C,D){var E=this['domBuilder'];E['startDocument'](),v(C,C={}),p(B,C,D,E,this['errorHandler']),E['endDocument']();}};function p(B,C,D,E,F){function G(a7){if(a7>0xffff){a7-=0x10000;var a8=0xd800+(a7>>0xa),a9=0xdc00+(a7&0x3ff);return String['fromCharCode'](a8,a9);}else return String['fromCharCode'](a7);}function H(a7){var a8=a7['slice'](0x1,-0x1);if(a8 in D)return D[a8];else return a8['charAt'](0x0)==='#'?G(parseInt(a8['substr'](0x1)['replace']('x','0x'))):(F['error']('entity\x20not\x20found:'+a7),a7);}function I(a7){if(a7>Q){var a8=B['substring'](Q,a7)['replace'](/&#?\w+;/g,H);N&&J(Q),E['characters'](a8,0x0,a7-Q),Q=a7;}}function J(a7,a8){while(a7>=L&&(a8=M['exec'](B))){K=a8['index'],L=K+a8[0x0]['length'],N['lineNumber']++;}N['columnNumber']=a7-K+0x1;}var K=0x0,L=0x0,M=/.*(?:\r\n?|\n)|.*$/g,N=E['locator'],O=[{'currentNSMap':C}],P={},Q=0x0;while(!![]){try{var R=B['indexOf']('<',Q);if(R<0x0){if(!B['substr'](Q)['match'](/^\s*$/)){var S=E['doc'],T=S['createTextNode'](B['substr'](Q));S['appendChild'](T),E['currentElement']=T;}return;}R>Q&&I(R);switch(B['charAt'](R+0x1)){case'/':var U=B['indexOf']('>',R+0x3),V=B['substring'](R+0x2,U),W=O['pop']();if(U<0x0)V=B['substring'](R+0x2)['replace'](/[\s<].*/,''),F['error']('end\x20tag\x20name:\x20'+V+'\x20is\x20not\x20complete:'+W['tagName']),U=R+0x1+V['length'];else V['match'](/\sQ?Q=U:I(Math['max'](R,Q)+0x1);}}function q(B,C){return C['lineNumber']=B['lineNumber'],C['columnNumber']=B['columnNumber'],C;}function r(B,C,D,E,F,G){var H,I,J=++C,K=g;while(!![]){var L=B['charAt'](J);switch(L){case'=':if(K===h)H=B['slice'](C,J),K=j;else{if(K===i)K=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(K===j||K===h){K===h&&(G['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),H=B['slice'](C,J));C=J+0x1,J=B['indexOf'](L,C);if(J>0x0)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C-0x1),K=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+L+'\x27\x20match');}else{if(K==k)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C),G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20start\x20quot('+L+')!!'),C=J+0x1,K=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:K=n,D['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':G['error']('unexpected\x20end\x20of\x20input');K==g&&D['setTagName'](B['slice'](C,J));return J;case'>':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:break;case k:case h:I=B['slice'](C,J);I['slice'](-0x1)==='/'&&(D['closed']=!![],I=I['slice'](0x0,-0x1));case i:K===i&&(I=H);K==k?(G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I['replace'](/&#?\w+;/g,F),C)):((E['']!=='http://www.w3.org/1999/xhtml'||!I['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20value!!\x20\x22'+I+'\x22\x20instead!!'),D['add'](I,I,C));break;case j:throw new Error('attribute\x20value\x20missed!!');}return J;case'\u0080':L='\x20';default:if(L<='\x20')switch(K){case g:D['setTagName'](B['slice'](C,J)),K=m;break;case h:H=B['slice'](C,J),K=i;break;case k:var I=B['slice'](C,J)['replace'](/&#?\w+;/g,F);G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I,C);case l:K=m;break;}else switch(K){case i:var M=D['tagName'];(E['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead2!!');D['add'](H,H,C),C=J,K=h;break;case l:G['warning']('attribute\x20space\x20is\x20required\x22'+H+'\x22!!');case m:K=h,C=J;break;case j:K=k,C=J;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}J++;}}function s(B,C,D){var E=B['tagName'],F=null,G=B['length'];while(G--){var H=B[G],I=H['qName'],J=H['value'],K=I['indexOf'](':');if(K>0x0)var L=H['prefix']=I['slice'](0x0,K),M=I['slice'](K+0x1),N=L==='xmlns'&&M;else M=I,L=null,N=I==='xmlns'&&'';H['localName']=M,N!==![]&&(F==null&&(F={},v(D,D={})),D[N]=F[N]=J,H['uri']='http://www.w3.org/2000/xmlns/',C['startPrefixMapping'](N,J));}var G=B['length'];while(G--){H=B[G];var L=H['prefix'];L&&(L==='xml'&&(H['uri']='http://www.w3.org/XML/1998/namespace'),L!=='xmlns'&&(H['uri']=D[L||'']));}var K=E['indexOf'](':');K>0x0?(L=B['prefix']=E['slice'](0x0,K),M=B['localName']=E['slice'](K+0x1)):(L=null,M=B['localName']=E);var O=B['uri']=D[L||''];C['startElement'](O,M,E,B);if(B['closed']){C['endElement'](O,M,E);if(F)for(L in F){C['endPrefixMapping'](L);}}else return B['currentNSMap']=D,B['localNSMap']=F,!![];}function t(B,C,D,E,F){if(/^(?:script|textarea)$/i['test'](D)){var G=B['indexOf']('',C),H=B['substring'](C+0x1,G);if(/[&<]/['test'](H)){if(/^script$/i['test'](D))return F['characters'](H,0x0,H['length']),G;return H=H['replace'](/&#?\w+;/g,E),F['characters'](H,0x0,H['length']),G;}}return C+0x1;}function u(B,C,D,E){var F=E[D];return F==null&&(F=B['lastIndexOf'](''),F',C+0x4);return G>C?(D['comment'](B,C+0x4,G-C-0x4),G+0x3):(E['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(B['substr'](C+0x3,0x6)=='CDATA['){var G=B['indexOf'](']]>',C+0x9);return D['startCDATA'](),D['characters'](B,C+0x9,G-C-0x9),D['endCDATA'](),G+0x3;}var H=z(B,C),I=H['length'];if(I>0x1&&/!doctype/i['test'](H[0x0][0x0])){var J=H[0x1][0x0],K=I>0x3&&/^public$/i['test'](H[0x2][0x0])&&H[0x3][0x0],L=I>0x4&&H[0x4][0x0],M=H[I-0x1];return D['startDTD'](J,K&&K['replace'](/^(['"])(.*?)\1$/,'$2'),L&&L['replace'](/^(['"])(.*?)\1$/,'$2')),D['endDTD'](),M['index']+M[0x0]['length'];}}return-0x1;}function x(B,C,D){var E=B['indexOf']('?>',C);if(E){var F=B['substring'](C,E)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(F){var G=F[0x0]['length'];return D['processingInstruction'](F[0x1],F[0x2]),E+0x2;}else return-0x1;}return-0x1;}function y(B){}y['prototype']={'setTagName':function B(C){if(!f['test'](C))throw new Error('invalid\x20tagName:'+C);this['tagName']=C;},'add':function C(D,E,F){if(!f['test'](D))throw new Error('invalid\x20attribute:'+D);this[this['length']++]={'qName':D,'value':E,'offset':F};},'length':0x0,'getLocalName':function D(E){return this[E]['localName'];},'getLocator':function E(F){return this[F]['locator'];},'getQName':function F(G){return this[G]['qName'];},'getURI':function G(H){return this[H]['uri'];},'getValue':function H(I){return this[I]['value'];}};function z(I,J){var K,L=[],M=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;M['lastIndex']=J,M['exec'](I);while(K=M['exec'](I)){L['push'](K);if(K[0x1])return L;}}c['XMLReader']=o;},{}],0x5:[function(a,b,c){'use strict';function d(D){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(E){return typeof E;}:function(E){return E&&'function'==typeof Symbol&&E['constructor']===Symbol&&E!==Symbol['prototype']?'symbol':typeof E;},d(D);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLAudioElement'));function f(D){return D&&D['__esModule']?D:{'default':D};}function g(D,E){if(!(D instanceof E))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(D,E){for(var F=0x0;F0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};p(E,'addEventListener',this,0x3)([G,H,I]),G=String(G)['toLowerCase'](),this['_loaded']&&this['_canplayEvents']['indexOf'](G)!==-0x1&&this['dispatchEvent']({'type':G});}},{'key':'load','value':function G(){}},{'key':'play','value':function H(){B[this['_$sn']]['play']();}},{'key':'resume','value':function I(){B[this['_$sn']]['resume']();}},{'key':'pause','value':function J(){B[this['_$sn']]['pause']();}},{'key':'stop','value':function K(){B[this['_$sn']]['stop']();}},{'key':'destroy','value':function L(){B[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function M(){var N=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof N!=='string')return'';if(N['indexOf']('audio/mpeg')>-0x1||N['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function N(){return B[this['_$sn']]['currentTime'];},'set':function O(P){B[this['_$sn']]['seek'](P);}},{'key':'duration','get':function P(){return B[this['_$sn']]['duration'];}},{'key':'src','get':function Q(){return this['_src'];},'set':function R(S){this['_src']=S,this['_loaded']=![],this['readyState']=this['HAVE_NOTHING'];var T=B[this['_$sn']];T['src']=S;}},{'key':'loop','get':function S(){return this['_loop'];},'set':function T(U){this['_loop']=U,B[this['_$sn']]['loop']=U;}},{'key':'autoplay','get':function U(){return this['autoplay'];},'set':function V(W){this['_autoplay']=W,B[this['_$sn']]['autoplay']=W;}},{'key':'paused','get':function W(){return this['_paused'];}},{'key':'volume','get':function X(){return this['_volume'];},'set':function Y(Z){this['_volume']=Z,!this['_muted']&&(B[this['_$sn']]['volume']=Z);}},{'key':'muted','get':function Z(){return this['_muted'];},'set':function a0(a1){this['_muted']=a1,a1?B[this['_$sn']]['volume']=0x0:B[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function a1(){var a2=new E();return a2['loop']=this['loop'],a2['autoplay']=this['autoplay'],a2['src']=this['src'],a2;}}]);}(e['default']);},{'./HTMLAudioElement':0x9}],0x6:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function d(){}var e=new Proxy(d,{'construct':function g(){var canvas=my['createCanvas']();canvas['type']='canvas';var h=canvas['getContext'];return canvas['getBoundingClientRect']=function(){var i={'top':0x0,'left':0x0,'width':window['innerWidth'],'height':window['innerHeight']};return i;},canvas['style']={'top':'0px','left':'0px','width':''['concat'](window['innerWidth'],'px'),'height':''['concat'](window['innerHeight'],'px')},canvas['addEventListener']=function(i,j){var k=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};globalThis['document']['addEventListener'](i,j,k);},canvas['removeEventListener']=function(i,j){globalThis['document']['removeEventListener'](i,j);},canvas['dispatchEvent']=function(){var i=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',i['type'],i),my['isIDE']&&globalThis['document']['dispatchEvent'](i);},Object['defineProperty'](canvas,'clientWidth',{'enumerable':!![],'get':function i(){return window['innerWidth'];}}),Object['defineProperty'](canvas,'clientHeight',{'enumerable':!![],'get':function j(){return window['innerHeight'];}}),canvas;}});$global['screencanvas']=$global['screencanvas']||new e();var f=c['default']=e;},{}],0x7:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./Node'));function e(u){return u&&u['__esModule']?u:{'default':u};}function f(u){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},f(u);}function g(u,v){for(var w=0x0;w0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},q=j['get'](this);!q&&(q={},j['set'](this,q));!q[n]&&(q[n]=[]);q[n]['push'](o);if(p['capture']){}if(p['once']){}if(p['passive']){}}},{'key':'removeEventListener','value':function n(o,p){var q=j['get'](this);if(q){var r=q[o];if(r&&r['length']>0x0)for(var s=r['length'];s--;s>0x0){if(r[s]===p){r['splice'](s,0x1);break;}}}}},{'key':'dispatchEvent','value':function o(){var p=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},q=j['get'](this)[p['type']];if(q)for(var r=0x0;r0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return i(this,x),y=l(this,x),s(y,'className',''),s(y,'childern',[]),s(y,'style',{'width':''['concat'](f['innerWidth'],'px'),'height':''['concat'](f['innerHeight'],'px')}),s(y,'insertBefore',e['noop']),s(y,'innerHTML',''),y['tagName']=z['toUpperCase'](),y;}return q(x,w),k(x,[{'key':'setAttribute','value':function y(z,A){this[z]=A;}},{'key':'getAttribute','value':function z(A){return this[A];}},{'key':'clientWidth','get':function A(){var B=parseInt(this['style']['fontSize'],0xa)*this['innerHTML']['length'];return Number['isNaN'](B)?0x0:B;}},{'key':'clientHeight','get':function B(){var C=parseInt(this['style']['fontSize'],0xa);return Number['isNaN'](C)?0x0:C;}},{'key':'getBoundingClientRect','value':function C(){return{'top':0x0,'left':0x0,'width':f['innerWidth'],'height':f['innerHeight']};}},{'key':'focus','value':function D(){}}]);}(d['default']);},{'./Element':0x7,'./WindowProperties':0x13,'./util/index.js':0x1c}],0xc:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0,a('./Canvas');var d=$global['screencanvas'],e=d['createImage']()['constructor'],f=c['default']=e;},{'./Canvas':0x6}],0xd:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0,a('./Canvas');function d(){return $global['screencanvas']['createImage']();}var e=c['default']=d;},{'./Canvas':0x6}],0xe:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];e(this,m),h(this,'binaryType',''),h(this,'bufferedAmount',0x0),h(this,'extensions',''),h(this,'onclose',null),h(this,'onerror',null),h(this,'onmessage',null),h(this,'onopen',null),h(this,'protocol',''),h(this,'readyState',0x3);if(typeof n!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](n))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](n,'\x27\x20is\x20invalid'));this['url']=n,this['readyState']=m['CONNECTING'];var q=my['connectSocket']({'url':n,'multiple':!![]});this['_socketTask']=q,q['onClose'](function(r){o['readyState']=m['CLOSED'],typeof o['onclose']==='function'&&o['onclose'](r);}),q['onMessage'](function(r){typeof o['onmessage']==='function'&&(r&&r['data']&&r['data']['data']&&r['data']['isBuffer']&&(r['isBuffer']=r['data']['isBuffer'],r['data']=k['base64ToArrayBuffer'](r['data']['data'])),o['onmessage'](r));}),q['onOpen'](function(r){o['readyState']=m['OPEN'],typeof o['onopen']==='function'&&o['onopen'](r);}),q['onError'](function(r){typeof o['onerror']==='function'&&o['onerror'](new Error(r['errMsg']));});}return g(m,[{'key':'close','value':function n(o,p){this['readyState']=m['CLOSING'],this['_socketTask']['close']({'code':o,'reason':p});}},{'key':'send','value':function o(p){if(typeof p!=='string'&&!(p instanceof ArrayBuffer)&&!ArrayBuffer['isView'](p))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](p,'\x20is\x20invalid'));var q=![];p instanceof ArrayBuffer&&(p=k['arrayBufferToBase64'](p),q=!![]),this['_socketTask']['send']({'data':p,'isBuffer':q});}}]);}());h(l,'CONNECTING',0x0),h(l,'OPEN',0x1),h(l,'CLOSING',0x2),h(l,'CLOSED',0x3);},{'../utils':0x1f}],0x10:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./EventTarget.js'));function e(u){return u&&u['__esModule']?u:{'default':u};}function f(u){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},f(u);}function g(u,v){if(!(u instanceof v))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(u,v){for(var w=0x0;w-0x1)return this['childNodes']['splice'](A,0x1);return null;}}]);}(d['default']);},{'./EventTarget.js':0x8}],0x11:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];e(this,o),h(this,'binaryType',''),h(this,'bufferedAmount',0x0),h(this,'extensions',''),h(this,'onopen',null),h(this,'onmessage',null),h(this,'onerror',null),h(this,'onclose',null),h(this,'_onMessage',null),h(this,'_onOpen',null),h(this,'_onError',null),h(this,'_onClose',null),h(this,'_isReduced',![]),h(this,'protocol',''),h(this,'readyState',0x3);if(this['_isMaxCount']())return console['warn']('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20Only\x20'['concat'](m,'\x20WebSocket\x20can\x20be\x20created\x20at\x20the\x20same\x20time\x20on\x20TaoBao.')),this;if(typeof p!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](p))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](p,'\x27\x20is\x20invalid'));return this['url']=p,this['readyState']=o['CONNECTING'],this['_increaseCount'](),my['connectSocket']({'url':p,'fail':function s(t){q['_triggerEvent']('error',t);}}),this['_onOpen']=function(t){q['readyState']=o['OPEN'],q['_triggerEvent']('open');},my['onSocketOpen'](this['_onOpen']),this['_onMessage']=function(t){function u(w){if(d(w)!=='object'||w==null)return w;var x={};for(var y in w){w['hasOwnProperty'](y)&&(x[y]=u(w[y]));}return x;}var v=u(t);v&&v['data']&&v['isBuffer']&&(v['data']=k['base64ToArrayBuffer'](v['data'])),q['_triggerEvent']('message',v);},my['onSocketMessage'](this['_onMessage']),this['_onError']=function(t){q['_triggerEvent']('error',t),q['_decreaseCount']();},my['onSocketError'](this['_onError']),this['_onClose']=function(t){q['readyState']=o['CLOSED'],q['_decreaseCount'](),q['_removeAllSocketListener'](),q['_triggerEvent']('close');},my['onSocketClose'](this['_onClose']),this;}return g(o,[{'key':'close','value':function p(){this['readyState']=o['CLOSING'],my['closeSocket']();}},{'key':'send','value':function q(r){var s=this;if(typeof r!=='string'&&!(r instanceof ArrayBuffer)&&!ArrayBuffer['isView'](r))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](r,'\x20is\x20invalid'));else{var t=![];r instanceof ArrayBuffer&&(r=k['arrayBufferToBase64'](r),t=!![]),my['sendSocketMessage']({'data':r,'isBuffer':t,'fail':function u(v){s['_triggerEvent']('error',v);}});}}},{'key':'_triggerEvent','value':function r(s){if(typeof this['on'['concat'](s)]==='function'){for(var t=arguments['length'],u=new Array(t>0x1?t-0x1:0x0),v=0x1;v=l;}}]);}());h(n,'CONNECTING',0x0),h(n,'OPEN',0x1),h(n,'CLOSING',0x2),h(n,'CLOSED',0x3);},{'../utils':0x1f}],0x13:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['screen']=c['performance']=c['ontouchstart']=c['ontouchmove']=c['ontouchend']=c['devicePixelRatio']=void 0x0;var d=my['getWindowInfoSync'](),e=d['pixelRatio'],f=d['windowWidth'],g=d['windowHeight'],h=c['devicePixelRatio']=e,i,j;{i=f,j=g;}var k=c['screen']={'width':i,'height':j,'availWidth':i,'availHeight':j,'availLeft':0x0,'availTop':0x0},l=c['performance']={'now':Date['now']},m=c['ontouchstart']=null,n=c['ontouchmove']=null,o=c['ontouchend']=null;},{}],0x14:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./EventTarget.js'));function e(B){return B&&B['__esModule']?B:{'default':B};}function f(B){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(C){return typeof C;}:function(C){return C&&'function'==typeof Symbol&&C['constructor']===Symbol&&C!==Symbol['prototype']?'symbol':typeof C;},f(B);}function g(B,C){if(!(B instanceof C))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(B,C){for(var D=0x0;D0x1?C-0x1:0x0),E=0x1;E0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==C['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var L=my['tb']['request']({'body':JSON['stringify'](K),'url':t['get'](this),'method':u['get'](this),'headers':v['get'](this),'options':{'timeout':this['timeout'],'enableSystemParams':!![]},'success':function M(N){J['status']=N['code'],J['responseText']=J['response']=N['content'],w['set'](J,v['get'](J)),y['call'](J,'loadstart'),z['call'](J,C['HEADERS_RECEIVED']),z['call'](J,C['LOADING']),z['call'](J,C['DONE']),y['call'](J,'load'),y['call'](J,'loadend');},'fail':function N(O){y['call'](J,'error',O),y['call'](J,'loadend');}});x['set'](this,L);}}},{'key':'setRequestHeader','value':function J(K,L){var M=v['get'](this);M[K]=L,v['set'](this,M);}},{'key':'addEventListener','value':function K(L,M){if(typeof M==='function'){var N=this,O={'target':N};this['on'+L]=function(P){M['call'](N,P);};}}}]);}(d['default']);q(A,'UNSEND',0x0),q(A,'OPENED',0x1),q(A,'HEADERS_RECEIVED',0x2),q(A,'LOADING',0x3),q(A,'DONE',0x4);},{'./EventTarget.js':0x8}],0x15:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=$global['screencanvas'],e=d['cancelAnimationFrame']['bind'](d),f=c['default']=e;},{}],0x16:[function(a,b,c){'use strict';function d(m){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(n){return typeof n;}:function(n){return n&&'function'==typeof Symbol&&n['constructor']===Symbol&&n!==Symbol['prototype']?'symbol':typeof n;},d(m);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['document']=void 0x0;var e=k(a('./window')),f=j(a('./HTMLElement')),g=j(a('./Image')),h=j(a('./Canvas')),i=j(a('./Audio'));function j(m){return m&&m['__esModule']?m:{'default':m};}function k(m,o){if('function'==typeof WeakMap)var p=new WeakMap(),q=new WeakMap();return(k=function s(u,v){if(!v&&u&&u['__esModule'])return u;var w,x,y={'__proto__':null,'default':u};if(null===u||'object'!=d(u)&&'function'!=typeof u)return y;if(w=v?q:p){if(w['has'](u))return w['get'](u);w['set'](u,y);}for(var z in u)'default'!==z&&{}['hasOwnProperty']['call'](u,z)&&((x=(w=Object['defineProperty'])&&Object['getOwnPropertyDescriptor'](u,z))&&(x['get']||x['set'])?w(y,z,x):y[z]=u[z]);return y;})(m,o);}var l={},document=c['document']={'readyState':'complete','visibilityState':'visible','documentElement':e,'hidden':![],'style':{},'location':e['location'],'ontouchstart':null,'ontouchmove':null,'ontouchend':null,'head':new f['default']('head'),'body':new f['default']('body'),'createElement':function m(n){n=n['toLowerCase']();if(n==='canvas')return new h['default']();else{if(n==='audio')return new i['default']();else{if(n==='img')return new g['default']();}}return new f['default'](n);},'createElementNS':function n(o,p){return this['createElement'](p);},'getElementById':function o(p){if(p===e['canvas']['id'])return e['canvas'];return null;},'getElementsByTagName':function p(q){if(q==='head')return[document['head']];else{if(q==='body')return[document['body']];else{if(q==='canvas')return[e['canvas']];}}return[];},'getElementsByName':function q(r){if(r==='head')return[document['head']];else{if(r==='body')return[document['body']];else{if(r==='canvas')return[e['canvas']];}}return[];},'querySelector':function r(s){if(s==='head')return document['head'];else{if(s==='body')return document['body'];else{if(s==='canvas')return e['canvas'];else{if(s==='#'['concat'](e['canvas']['id']))return e['canvas'];}}}return null;},'querySelectorAll':function s(t){if(t==='head')return[document['head']];else{if(t==='body')return[document['body']];else{if(t==='canvas')return[e['canvas']];}}return[];},'addEventListener':function t(u,v){!l[u]&&(l[u]=[]),l[u]['push'](v);},'removeEventListener':function u(v,w){var x=l[v];if(x&&x['length']>0x0)for(var y=x['length'];y--;y>0x0){if(x[y]===w){x['splice'](y,0x1);break;}}},'dispatchEvent':function v(w){var x=l[w['type']];if(x)for(var y=0x0;yn['windowHeight']){var o=l;l=-m,m=o;}k['x']=l,k['y']=m,k['z']=i['z'],g&&g(k);},f=window['__globalAdapter'];f['isSubContext']=![],f['isDevTool']=my['isIDE'],d['cloneMethod'](f,my,'getSystemInfoSync'),f['createInnerAudioContext']=function(){var i=my['createInnerAudioContext']();if(my['getSystemInfoSync']()['platform']==='iOS'){var j=0x0,k=i['seek'];i['seek']=function(m){setTimeout(function(){i['paused']?j=m:k['call'](i,m);},0x32);};var l=i['play'];i['play']=function(){j!==0x0&&(i['seek'](j),j=0x0),l['call'](i);};}return i;},d['cloneMethod'](f,my,'onTouchStart'),d['cloneMethod'](f,my,'onTouchMove'),d['cloneMethod'](f,my,'onTouchEnd'),d['cloneMethod'](f,my,'onTouchCancel'),d['cloneMethod'](f,my,'onAudioInterruptionEnd'),d['cloneMethod'](f,my,'onAudioInterruptionBegin'),d['cloneMethod'](f,my,'createVideo'),d['cloneMethod'](f,my,'setPreferredFramesPerSecond'),d['cloneMethod'](f,my,'showKeyboard'),d['cloneMethod'](f,my,'hideKeyboard'),d['cloneMethod'](f,my,'updateKeyboard'),d['cloneMethod'](f,my,'onKeyboardInput'),d['cloneMethod'](f,my,'onKeyboardConfirm'),d['cloneMethod'](f,my,'onKeyboardComplete'),d['cloneMethod'](f,my,'offKeyboardInput'),d['cloneMethod'](f,my,'offKeyboardConfirm'),d['cloneMethod'](f,my,'offKeyboardComplete'),d['cloneMethod'](f,my,'getOpenDataContext'),d['cloneMethod'](f,my,'onMessage'),d['cloneMethod'](f,my,'loadSubpackage'),d['cloneMethod'](f,my,'getSharedCanvas'),d['cloneMethod'](f,my,'loadFont'),d['cloneMethod'](f,my,'onShow'),d['cloneMethod'](f,my,'onHide'),d['cloneMethod'](f,my,'onError'),d['cloneMethod'](f,my,'offError'),f['loadFont']=function(i){return'Arial';};var g=null;Object['assign'](f,{'startAccelerometer':function i(j){g=j,my['onAccelerometerChange']&&my['onAccelerometerChange'](e);},'stopAccelerometer':function j(){my['offAccelerometerChange']&&my['offAccelerometerChange'](e);}});}},{'./utils':0x1f}],0x1f:[function(a,b,c){'use strict';var d={'cloneMethod':function e(f,g,h,i){g[h]&&(i=i||h,f[i]=g[h]['bind'](g));},'encode':function f(g){var h='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',i=String(g),j='',k=0x0,l=void 0x0;while(i['charAt'](0x0|k)||(h='=',k%0x1)){k+=0.75;var m=i['charCodeAt'](k);if(m>0xff)throw new Error('\x22btoa\x22\x20failed');l=l<<0x8|m;var n=0x3f&l>>0x8-k%0x1*0x8;j+=h['charAt'](n);}return j;},'decode':function g(h){var j='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',k='',l=String(h)['replace'](/[=]+$/,''),m,n,p=0x0,q=0x0;while(n=l['charAt'](q)){q+=0x1,n=j['indexOf'](n),~n&&(m=p%0x4?0x40*m+n:n,p++%0x4&&(k+=String['fromCharCode'](0xff&m>>(-0x2*p&0x6))));}return k;},'arrayBufferToBase64':function h(i){return d['encode'](d['arrayBufferToString'](i));},'base64ToArrayBuffer':function i(j){return d['stringToArrayBuffer'](d['decode'](j));},'arrayBufferToString':function j(k){var l='',m=new Uint8Array(k),n=m['byteLength'];for(var o=0x0;o=z+A||z?new java['lang']['String'](y,z,A)+'':y;}function u(y,z){(y['currentElement']||y['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(y,z){var A=this['options'],B=new w(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},z=/\/x?html?$/['test'](z),G=z?v['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=((H,I,J)=>{if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;})(D,C,E),B['domBuilder']=A['domBuilder']||C,z&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',y?B['parse'](y,F,G):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new x()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(y,z,A,B){var C=this['doc'],D=C['createElementNS'](y,A||z),E=B['length'];u(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==ay&&'>')||('&'==ay?'&':'\x22'==ay&&'"')||'&#'+ay['charCodeAt']()+';';}function ab(ay,az){if(az(ay))return 0x1;if(ay=ay['firstChild'])do{if(ab(ay,az))return 0x1;}while(ay=ay['nextSibling']);}function ac(){}function ad(ay,az,aA){ay&&ay['_inc']++,'http://www.w3.org/2000/xmlns/'==aA['namespaceURI']&&delete az['_nsMap'][aA['prefix']?aA['localName']:''];}function ae(ay,az,aA){if(ay&&ay['_inc']){ay['_inc']++;var aB=az['childNodes'];if(aA)aB[aB['length']++]=aA;else{for(var aC=az['firstChild'],aD=0x0;aC;)aC=(aB[aD++]=aC)['nextSibling'];aB['length']=aD;}}}function af(ay,az){var aA=az['previousSibling'],aB=az['nextSibling'];return aA?aA['nextSibling']=aB:ay['firstChild']=aB,aB?aB['previousSibling']=aA:ay['lastChild']=aA,ae(ay['ownerDocument'],ay),az;}function ag(ay,az,aA){var aB=az['parentNode'];if(aB&&aB['removeChild'](az),0xb===az['nodeType']){var aC=az['firstChild'];if(null==aC)return az;var aD=az['lastChild'];}else aC=aD=az;aB=aA?aA['previousSibling']:ay['lastChild'];for(aC['previousSibling']=aB,aD['nextSibling']=aA,aB?aB['nextSibling']=aC:ay['firstChild']=aC,null==aA?ay['lastChild']=aD:aA['previousSibling']=aD;aC['parentNode']=ay,aC!==aD&&(aC=aC['nextSibling']););return ae(ay['ownerDocument']||ay,ay),0xb==az['nodeType']&&(az['firstChild']=az['lastChild']=null),az;}function ah(){this['_nsMap']={};}function ai(){}function aj(){}function ak(){}function al(){}function am(){}function an(){}function ao(){}function ap(){}function aq(){}function ar(){}function as(){}function at(){}function au(ay,az){var aA,aB=[],aC=0x9==this['nodeType']&&this['documentElement']||this,aD=aC['prefix'],aE=aC['namespaceURI'];return aw(this,aB,ay,az,aA=aE&&null==aD&&null==aC['lookupPrefix'](aE)?[{'namespace':aE,'prefix':null}]:aA),aB['join']('');}function av(ay,az,aA){var aB=ay['prefix']||'',aC=ay['namespaceURI'];if((aB||aC)&&('xml'!==aB||'http://www.w3.org/XML/1998/namespace'!==aC)&&'http://www.w3.org/2000/xmlns/'!=aC){for(var aD=aA['length'];aD--;){var aE=aA[aD];if(aE['prefix']==aB)return aE['namespace']!=aC;}return 0x1;}}function aw(ay,az,aA,aB,aC){if(aB){if(!(ay=aB(ay)))return;if('string'==typeof ay)return void az['push'](ay);}switch(ay['nodeType']){case 0x1:aC=aC||[];var aD=ay['attributes'],aE=aD['length'],aF=ay['firstChild'],aG=ay['tagName'];aA='http://www.w3.org/1999/xhtml'===ay['namespaceURI']||aA,az['push']('<',aG);for(var aH=0x0;aH'),aA&&/^script$/i['test'](aG)){for(;aF;)aF['data']?az['push'](aF['data']):aw(aF,az,aA,aB,aC),aF=aF['nextSibling'];}else{for(;aF;)aw(aF,az,aA,aB,aC),aF=aF['nextSibling'];}az['push']('');}else az['push']('/>');return;case 0x9:case 0xb:for(aF=ay['firstChild'];aF;)aw(aF,az,aA,aB,aC),aF=aF['nextSibling'];return;case 0x2:return az['push']('\x20',ay['name'],'=\x22',ay['value']['replace'](/[<&"]/g,aa),'\x22');case 0x3:return az['push'](ay['data']['replace'](/[<&]/g,aa));case 0x4:return az['push']('');case 0x8:return az['push']('');case 0xa:var aG=ay['publicId'],aL=ay['systemId'];return az['push']('')):aL&&'.'!=aL?az['push']('\x20SYSTEM\x20\x22',aL,'\x22>'):((aG=ay['internalSubset'])&&az['push']('\x20[',aG,']'),az['push']('>')));case 0x7:return az['push']('');case 0x5:return az['push']('&',ay['nodeName'],';');default:az['push']('??',ay['nodeName']);}}function ax(ay,az,aA){ay[az]=aA;}a0['prototype']=Error['prototype'],K(Y,a0),a1['prototype']={'length':0x0,'item':function(ay){return this[ay]||null;},'toString':function(ay,az){for(var aA=[],aB=0x0;aB','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(b,c,d){var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),j=0x0,l=0x1,m=0x2,q=0x3,s=0x4,u=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function C(G,J,K){for(var N=G['tagName'],O=null,P=G['length'];P--;){var Q=G[P],S=Q['qName'],T=Q['value'],S=0x0<(V=S['indexOf'](':'))?(U=Q['prefix']=S['slice'](0x0,V),X=S['slice'](V+0x1),'xmlns'===U&&X):(U=null,'xmlns'===(X=S)&&'');Q['localName']=X,!0x1!==S&&(null==O&&(O={},E(K,K={})),K[S]=O[S]=T,Q['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](S,T));}for(var U,P=G['length'];P--;)(U=(Q=G[P])['prefix'])&&('xml'===U&&(Q['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==U)&&(Q['uri']=K[U||'']);var V,X=0x0<(V=N['indexOf'](':'))?(U=G['prefix']=N['slice'](0x0,V),G['localName']=N['slice'](V+0x1)):(U=null,G['localName']=N),Y=G['uri']=K[U||''];if(J['startElement'](Y,X,N,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=O,0x1;if(J['endElement'](Y,X,N),O){for(U in O)J['endPrefixMapping'](U);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var N=this['domBuilder'];N['startDocument'](),E(J,J={}),((Q,U,V,X,Y)=>{function Z(ao){var ap=ao['slice'](0x1,-0x1);return ap in V?V[ap]:'#'===ap['charAt'](0x0)?0xffff<(ap=parseInt(ap['substr'](0x1)['replace']('x','0x')))?(ap-=0x10000,String['fromCharCode'](0xd800+(ap>>0xa),0xdc00+(0x3ff&ap))):String['fromCharCode'](ap):(Y['error']('entity\x20not\x20found:'+ao),ao);}function a0(ao){var ap;a8',ab+0x3),ad=Q['substring'](ab+0x2,ac),ae=a6['pop'](),af=(ac<0x0?(ad=Q['substring'](ab+0x2)['replace'](/[\s<].*/,''),Y['error']('end\x20tag\x20name:\x20'+ad+'\x20is\x20not\x20complete:'+ae['tagName']),ac=ab+0x1+ad['length']):ad['match'](/\s{var ar=ao['indexOf']('?>',ap);if(ar){ao=ao['substring'](ap,ar)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(ao)return ao[0x0]['length'],aq['processingInstruction'](ao[0x1],ao[0x2]),ar+0x2;}return-0x1;})(Q,ab,X);break;case'!':a5&&a1(ab),ac=((ao,ap,aq,ar)=>{var as,at;return'-'===ao['charAt'](ap+0x2)?'-'===ao['charAt'](ap+0x3)?(at=ao['indexOf']('-->',ap+0x4),ap',ap+0x9),aq['startCDATA'](),aq['characters'](ao,ap+0x9,at-ap-0x9),aq['endCDATA'](),at+0x3):0x1<(at=(ar=((au,av)=>{var aw,ax=[],ay=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(ay['lastIndex']=av,ay['exec'](au);aw=ay['exec'](au);)if(ax['push'](aw),aw[0x1])return ax;})(ao,ap))['length'])&&/!doctype/i['test'](ar[0x0][0x0])?(ao=ar[0x1][0x0],ap=0x3{for(var au,av=++ap,aw=j;;){var ax=ao['charAt'](av);switch(ax){case'=':if(aw===l)au=ao['slice'](ap,av);else{if(aw!==m)throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}aw=q;break;case'\x27':case'\x22':if(aw===q||aw===l){if(aw===l&&(at['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),au=ao['slice'](ap,av)),ap=av+0x1,!(0x0<(av=ao['indexOf'](ax,ap))))throw new Error('attribute\x20value\x20no\x20end\x20\x27'+ax+'\x27\x20match');ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as),aq['add'](au,ay,ap-0x1);}else{if(aw!=s)throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as),aq['add'](au,ay,ap),at['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20start\x20quot('+ax+')!!'),ap=av+0x1;}aw=u;break;case'/':switch(aw){case j:aq['setTagName'](ao['slice'](ap,av));case u:case v:case w:aw=w,aq['closed']=!0x0;case s:case l:case m:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':return at['error']('unexpected\x20end\x20of\x20input'),aw==j&&aq['setTagName'](ao['slice'](ap,av)),av;case'>':switch(aw){case j:aq['setTagName'](ao['slice'](ap,av));case u:case v:case w:break;case s:case l:'/'===(ay=ao['slice'](ap,av))['slice'](-0x1)&&(aq['closed']=!0x0,ay=ay['slice'](0x0,-0x1));case m:aw===m&&(ay=au),aw==s?(at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20quot(\x22)!!'),aq['add'](au,ay['replace'](/&#?\w+;/g,as),ap)):('http://www.w3.org/1999/xhtml'===ar['']&&ay['match'](/^(?:disabled|checked|selected)$/i)||at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20value!!\x20\x22'+ay+'\x22\x20instead!!'),aq['add'](ay,ay,ap));break;case q:throw new Error('attribute\x20value\x20missed!!');}return av;case'\u0080':ax='\x20';default:if(ax<='\x20')switch(aw){case j:aq['setTagName'](ao['slice'](ap,av)),aw=v;break;case l:au=ao['slice'](ap,av),aw=m;break;case s:var ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as);at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20quot(\x22)!!'),aq['add'](au,ay,ap);case u:aw=v;}else switch(aw){case m:aq['tagName'],('http://www.w3.org/1999/xhtml'===ar['']&&au['match'](/^(?:disabled|checked|selected)$/i)||at['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead2!!'),aq['add'](au,au,ap),ap=av,aw=l);break;case u:at['warning']('attribute\x20space\x20is\x20required\x22'+au+'\x22!!');case v:aw=l,ap=av;break;case q:aw=s,ap=av;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}av++;}})(Q,ab,ai,aj,Z,Y),ak=ai['length'];if(!ai['closed']&&((ao,ap,aq,ar)=>{var as=ar[aq];return null==as&&((as=ao['lastIndexOf']('')){if(/^(?:script|textarea)$/i['test'](aq)){var at=ao['indexOf']('',ap),ao=ao['substring'](ap+0x1,at);if(/[&<]/['test'](ao))return/^script$/i['test'](aq)?as['characters'](ao,0x0,ao['length']):(ao=ao['replace'](/&#?\w+;/g,ar),as['characters'](ao,0x0,ao['length'])),at;}return ap+0x1;})(Q,ac,ai['tagName'],Z,X);}}catch(ao){Y['error']('element\x20parse\x20error:\x20'+ao),ac=-0x1;}a8(C=((D,E)=>{if('object'!=h(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=h(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==h(C)?C:C+''))(B['key']),B);}}function k(y,z,A){z=q(z);var B=y,z=m()?Reflect['construct'](z,A||[],q(y)['constructor']):z['apply'](y,A);if(!z||'object'!=h(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function m(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(m=function(){return!!y;})();}function p(){return(p='undefined'!=typeof Reflect&&Reflect['get']?Reflect['get']['bind']():function(y,z,A){var B=((C,D)=>{for(;!{}['hasOwnProperty']['call'](C,D)&&null!==(C=q(C)););return C;})(y,z);if(B)return(B=Object['getOwnPropertyDescriptor'](B,z))['get']?B['get']['call'](arguments['length']<0x3?y:A):B['value'];})['apply'](null,arguments);}function q(y){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function v(y,z){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}var w=0x1,x={};g['default']=(y=>{function z(C){var D;if(!(this instanceof z))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');(D=k(this,z))['_$sn']=w++,D['HAVE_NOTHING']=0x0,D['HAVE_METADATA']=0x1,D['HAVE_CURRENT_DATA']=0x2,D['HAVE_FUTURE_DATA']=0x3,D['HAVE_ENOUGH_DATA']=0x4,D['readyState']=0x0;var E=my['createInnerAudioContext']();return x[D['_$sn']]=E,D['_canplayEvents']=['load','loadend','canplay','canplaythrough','loadedmetadata'],E['onCanplay'](function(){D['_loaded']=!0x0,D['readyState']=D['HAVE_CURRENT_DATA'],D['_canplayEvents']['forEach'](function(F){D['dispatchEvent']({'type':F});});}),E['onPlay'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'play'});}),E['onPause'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'pause'});}),E['onEnded'](function(){D['_paused']=x[D['_$sn']]['paused'],!0x1===x[D['_$sn']]['loop']&&D['dispatchEvent']({'type':'ended'}),D['readyState']=0x4;}),E['onError'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'error'});}),C?D['src']=C:D['_src']='',D['_loop']=E['loop'],D['_autoplay']=E['autoplay'],D['_paused']=E['paused'],D['_volume']=E['volume'],D['_muted']=!0x1,D;}var A,B=z;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),y&&v(B,y),B=z,(y=[{'key':'addEventListener','value':function(C,D){var E,F,G,H,I,J=0x2{if('object'!=h(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=h(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==h(x)?x:x+'';}g['default']=(x=>{function y(){var C;if(this instanceof y)return v(C=k(this,y),'className',''),v(C,'children',[]),C;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var z,A,B=y;if('function'!=typeof x&&null!==x)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](x&&x['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),x&&q(B,x),B=y,z&&j(B['prototype'],z),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})(b['default']);},{'./Node':0x10}],0x8:[function(b,c,d){function f(j){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(k){return typeof k;}:function(k){return k&&'function'==typeof Symbol&&k['constructor']===Symbol&&k!==Symbol['prototype']?'symbol':typeof k;})(j);}function g(j,k){for(var l=0x0;l(p=((q,s)=>{if('object'!=f(q)||!q)return q;var u=q[Symbol['toPrimitive']];if(void 0x0===u)return('string'===s?String:Number)(q);if('object'!=f(u=u['call'](q,s||'default')))return u;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==f(p)?p:p+''))(m['key']),m);}}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var h=new WeakMap();d['default']=((()=>{function j(){if(!(this instanceof j))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');h['set'](this,{});}return k=j,(l=[{'key':'addEventListener','value':function(p,q){var s=0x2(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['audio']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLElement':0xb}],0xa:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,a=(a=a('./Canvas'))&&a['__esModule']?a:{'default':a},$global['screencanvas']=$global['screencanvas']||new a['default'](),a=$global['screencanvas']['constructor'],c['default']=a;},{'./Canvas':0x6}],0xb:[function(b,g,h){Object['defineProperty'](h,'__esModule',{'value':!0x0}),h['default']=void 0x0;var j=(j=b('./Element'))&&j['__esModule']?j:{'default':j},k=b('./util/index.js'),m=b('./WindowProperties');function q(C){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(D){return typeof D;}:function(D){return D&&'function'==typeof Symbol&&D['constructor']===Symbol&&D!==Symbol['prototype']?'symbol':typeof D;})(C);}function v(C,D){for(var E=0x0;E{if('object'!=q(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=q(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==q(C)?C:C+'';}h['default']=(C=>{function D(){var G=0x0(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0xf:[function(b,c,d){function f(l){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(m){return typeof m;}:function(m){return m&&'function'==typeof Symbol&&m['constructor']===Symbol&&m!==Symbol['prototype']?'symbol':typeof m;})(l);}function g(l,m){for(var p=0x0;p{if('object'!=f(m)||!m)return m;var q=m[Symbol['toPrimitive']];if(void 0x0===q)return('string'===p?String:Number)(m);if('object'!=f(q=q['call'](m,p||'default')))return q;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(l,'string'),'symbol'==f(l)?l:l+'';}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var k=b('../utils'),b=d['default']=((()=>{function l(s){var v=this,w=this,x=l;if(!(w instanceof x))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');if(h(this,'binaryType',''),h(this,'bufferedAmount',0x0),h(this,'extensions',''),h(this,'onclose',null),h(this,'onerror',null),h(this,'onmessage',null),h(this,'onopen',null),h(this,'protocol',''),h(this,'readyState',0x3),'string'!=typeof s||!/(^ws:\/\/)|(^wss:\/\/)/['test'](s))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](s,'\x27\x20is\x20invalid'));this['url']=s,this['readyState']=l['CONNECTING'],w=my['connectSocket']({'url':s,'multiple':!0x0}),((this['_socketTask']=w)['onClose'](function(y){v['readyState']=l['CLOSED'],'function'==typeof v['onclose']&&v['onclose'](y);}),w['onMessage'](function(y){'function'==typeof v['onmessage']&&(y&&y['data']&&y['data']['data']&&y['data']['isBuffer']&&(y['isBuffer']=y['data']['isBuffer'],y['data']=k['base64ToArrayBuffer'](y['data']['data'])),v['onmessage'](y));}),w['onOpen'](function(y){v['readyState']=l['OPEN'],'function'==typeof v['onopen']&&v['onopen'](y);}),w['onError'](function(y){'function'==typeof v['onerror']&&v['onerror'](new Error(y['errMsg']));}));}return m=l,(p=[{'key':'close','value':function(s,v){this['readyState']=l['CLOSING'],this['_socketTask']['close']({'code':s,'reason':v});}},{'key':'send','value':function(s){if(!('string'==typeof s||s instanceof ArrayBuffer||ArrayBuffer['isView'](s)))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](s,'\x20is\x20invalid'));var v=!0x1;s instanceof ArrayBuffer&&(s=k['arrayBufferToBase64'](s),v=!0x0),this['_socketTask']['send']({'data':s,'isBuffer':v});}}])&&g(m['prototype'],p),q&&g(m,q),Object['defineProperty'](m,'prototype',{'writable':!0x1}),m;var m,p,q;})());h(b,'CONNECTING',0x0),h(b,'OPEN',0x1),h(b,'CLOSING',0x2),h(b,'CLOSED',0x3);},{'../utils':0x1f}],0x10:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./EventTarget.js'))&&b['__esModule']?b:{'default':b};function g(s){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;})(s);}function h(s,v){for(var w=0x0;w{if('object'!=g(v)||!v)return v;var x=v[Symbol['toPrimitive']];if(void 0x0===x)return('string'===w?String:Number)(v);if('object'!=g(x=x['call'](v,w||'default')))return x;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(s,'string'),'symbol'==g(s)?s:s+'';}f['default']=(s=>{function v(){var y,z,A,B;if(this instanceof v)return y=j(this,v),z=y,B=[],(A=q(A='childNodes'))in z?Object['defineProperty'](z,A,{'value':B,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):z[A]=B,y;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v;if('function'!=typeof s&&null!==s)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](s&&s['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),s&&p(x,s),x=v,(s=[{'key':'appendChild','value':function(y){this['childNodes']['push'](y);}},{'key':'cloneNode','value':function(){var y=Object['create'](this);return Object['assign'](y,this),y;}},{'key':'removeChild','value':function(y){var z=this['childNodes']['findIndex'](function(A){return A===y;});return-0x1(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x12:[function(b,d,f){function g(p){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(q){return typeof q;}:function(q){return q&&'function'==typeof Symbol&&q['constructor']===Symbol&&q!==Symbol['prototype']?'symbol':typeof q;})(p);}function h(p,q){for(var s=0x0;s{if('object'!=g(q)||!q)return q;var v=q[Symbol['toPrimitive']];if(void 0x0===v)return('string'===s?String:Number)(q);if('object'!=g(v=v['call'](q,s||'default')))return v;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==g(p)?p:p+'';}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var l=b('../utils'),m=0x0,b=f['default']=((()=>{function p(w){var x=this,y=this,z=p;if(!(y instanceof z))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');if(j(this,'binaryType',''),j(this,'bufferedAmount',0x0),j(this,'extensions',''),j(this,'onopen',null),j(this,'onmessage',null),j(this,'onerror',null),j(this,'onclose',null),j(this,'_onMessage',null),j(this,'_onOpen',null),j(this,'_onError',null),j(this,'_onClose',null),j(this,'_isReduced',!0x1),j(this,'protocol',''),j(this,'readyState',0x3),this['_isMaxCount']())console['warn']('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20Only\x20'['concat'](m,'\x20WebSocket\x20can\x20be\x20created\x20at\x20the\x20same\x20time\x20on\x20TaoBao.'));else{if('string'!=typeof w||!/(^ws:\/\/)|(^wss:\/\/)/['test'](w))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](w,'\x27\x20is\x20invalid'));this['url']=w,this['readyState']=p['CONNECTING'],this['_increaseCount'](),my['connectSocket']({'url':w,'fail':function(A){x['_triggerEvent']('error',A);}}),this['_onOpen']=function(A){x['readyState']=p['OPEN'],x['_triggerEvent']('open');},my['onSocketOpen'](this['_onOpen']),this['_onMessage']=function(A){A=function B(C){if('object'!==g(C)||null==C)return C;var D,E={};for(D in C)C['hasOwnProperty'](D)&&(E[D]=B(C[D]));return E;}(A),(A&&A['data']&&A['isBuffer']&&(A['data']=l['base64ToArrayBuffer'](A['data'])),x['_triggerEvent']('message',A));},my['onSocketMessage'](this['_onMessage']),this['_onError']=function(A){x['_triggerEvent']('error',A),x['_decreaseCount']();},my['onSocketError'](this['_onError']),this['_onClose']=function(A){x['readyState']=p['CLOSED'],x['_decreaseCount'](),x['_removeAllSocketListener'](),x['_triggerEvent']('close');},my['onSocketClose'](this['_onClose']);}return this;}return q=p,(s=[{'key':'close','value':function(){this['readyState']=p['CLOSING'],my['closeSocket']();}},{'key':'send','value':function(w){var x=this;if(!('string'==typeof w||w instanceof ArrayBuffer||ArrayBuffer['isView'](w)))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](w,'\x20is\x20invalid'));var y=!0x1;w instanceof ArrayBuffer&&(w=l['arrayBufferToBase64'](w),y=!0x0),my['sendSocketMessage']({'data':w,'isBuffer':y,'fail':function(z){x['_triggerEvent']('error',z);}});}},{'key':'_triggerEvent','value':function(w){if('function'==typeof this['on'['concat'](w)]){for(var x=arguments['length'],y=new Array(0x1{if('object'!=q(M)||!M)return M;var O=M[Symbol['toPrimitive']];if(void 0x0===O)return('string'===N?String:Number)(M);if('object'!=q(O=O['call'](M,N||'default')))return O;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(L,'string'),'symbol'==q(L)?L:L+'';}var E=new WeakMap(),F=new WeakMap(),G=new WeakMap(),H=new WeakMap(),I=new WeakMap();function J(L){if('function'==typeof this['on'['concat'](L)]){for(var M=arguments['length'],N=new Array(0x1{function M(){var P;if(this instanceof M)return C(P=x(this,M),'timeout',0x0),C(P,'onabort',null),C(P,'onerror',null),C(P,'onload',null),C(P,'onloadstart',null),C(P,'onprogress',null),C(P,'ontimeout',null),C(P,'onloadend',null),C(P,'onreadystatechange',null),C(P,'readyState',0x0),C(P,'response',null),C(P,'responseText',null),C(P,'responseType',''),C(P,'responseXML',null),C(P,'status',0x0),C(P,'statusText',''),C(P,'upload',{}),C(P,'withCredentials',!0x1),G['set'](P,{'content-type':'application/json'}),H['set'](P,{}),P;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var N,O=M;if('function'!=typeof L&&null!==L)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return O['prototype']=Object['create'](L&&L['prototype'],{'constructor':{'value':O,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](O,'prototype',{'writable':!0x1}),L&&B(O,L),O=M,(L=[{'key':'abort','value':function(){var P=I['get'](this);P&&P['abort']();}},{'key':'getAllResponseHeaders','value':function(){var P=H['get'](this);return Object['keys'](P)['map'](function(Q){return''['concat'](Q,':\x20')['concat'](P[Q]);})['join']('\x0a');}},{'key':'getResponseHeader','value':function(P){return H['get'](this)[P];}},{'key':'open','value':function(P,Q){F['set'](this,P),E['set'](this,Q),K['call'](this,M['OPENED']);}},{'key':'overrideMimeType','value':function(){}},{'key':'send','value':function(){var P=this,Q=0x0q['windowHeight']&&(q=m,m=-p,p=q),l['x']=m,l['y']=p,l['z']=j['z'],h&&h(l);},(g=window['__globalAdapter'])['isSubContext']=!0x1,g['isDevTool']=my['isIDE'],b['cloneMethod'](g,my,'getSystemInfoSync'),g['createInnerAudioContext']=function(){var i,j,k,l=my['createInnerAudioContext']();return'iOS'===my['getSystemInfoSync']()['platform']&&(i=0x0,j=l['seek'],l['seek']=function(m){setTimeout(function(){l['paused']?i=m:j['call'](l,m);},0x32);},k=l['play'],l['play']=function(){0x0!==i&&(l['seek'](i),i=0x0),k['call'](l);}),l;},b['cloneMethod'](g,my,'onTouchStart'),b['cloneMethod'](g,my,'onTouchMove'),b['cloneMethod'](g,my,'onTouchEnd'),b['cloneMethod'](g,my,'onTouchCancel'),b['cloneMethod'](g,my,'onAudioInterruptionEnd'),b['cloneMethod'](g,my,'onAudioInterruptionBegin'),b['cloneMethod'](g,my,'createVideo'),b['cloneMethod'](g,my,'setPreferredFramesPerSecond'),b['cloneMethod'](g,my,'showKeyboard'),b['cloneMethod'](g,my,'hideKeyboard'),b['cloneMethod'](g,my,'updateKeyboard'),b['cloneMethod'](g,my,'onKeyboardInput'),b['cloneMethod'](g,my,'onKeyboardConfirm'),b['cloneMethod'](g,my,'onKeyboardComplete'),b['cloneMethod'](g,my,'offKeyboardInput'),b['cloneMethod'](g,my,'offKeyboardConfirm'),b['cloneMethod'](g,my,'offKeyboardComplete'),b['cloneMethod'](g,my,'getOpenDataContext'),b['cloneMethod'](g,my,'onMessage'),b['cloneMethod'](g,my,'loadSubpackage'),b['cloneMethod'](g,my,'getSharedCanvas'),b['cloneMethod'](g,my,'loadFont'),b['cloneMethod'](g,my,'onShow'),b['cloneMethod'](g,my,'onHide'),b['cloneMethod'](g,my,'onError'),b['cloneMethod'](g,my,'offError'),g['loadFont']=function(i){return'Arial';},h=null,Object['assign'](g,{'startAccelerometer':function(i){h=i,my['onAccelerometerChange']&&my['onAccelerometerChange'](f);},'stopAccelerometer':function(){my['offAccelerometerChange']&&my['offAccelerometerChange'](f);}}));},{'./utils':0x1f}],0x1f:[function(a,b,c){var d={'cloneMethod':function(f,g,h,i){g[h]&&(f[i=i||h]=g[h]['bind'](g));},'encode':function(f){for(var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',h=String(f),j='',k=0x0,l=void 0x0;h['charAt'](0x0|k)||(g='=',k%0x1);){k+=0.75;var m=h['charCodeAt'](k);if(0xff>0x8-k%0x1*0x8);}return j;},'decode':function(f){for(var g,h,j='',k=String(f)['replace'](/[=]+$/,''),l=0x0,m=0x0;h=k['charAt'](m);)m+=0x1,~(h='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='['indexOf'](h))&&(g=l%0x4?0x40*g+h:h,l++%0x4)&&(j+=String['fromCharCode'](0xff&g>>(-0x2*l&0x6)));return j;},'arrayBufferToBase64':function(f){return d['encode'](d['arrayBufferToString'](f));},'base64ToArrayBuffer':function(f){return d['stringToArrayBuffer'](d['decode'](f));},'arrayBufferToString':function(f){for(var g='',h=new Uint8Array(f),i=h['byteLength'],j=0x0;j0x0?setTimeout(N,J['deleteInterval']):u=![];}setTimeout(N,J['deleteInterval']);});},'removeCache':function I(J){if(this['cachedFiles']['has'](J)){var K=this,L=this['cachedFiles']['remove'](J)['url'];clearTimeout(q),q=null,this['writeCacheFile'](function(){K['_removePathOrFile'](J,L);});}},'_removePathOrFile':function J(K,L){this['_isZipFile'](K)?this['_isZipFile'](L)?l(L,this['_deleteFileCB']['bind'](this)):(m(L,!![]),this['_deleteFileCB']()):l(L,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function K(L){if(!L)this['outOfStorage']=![];},'makeBundleFolder':function L(M){g(''['concat'](this['cacheDir'],'/')['concat'](M),!![]);},'unzipAndCacheBundle':function M(N,O,P,Q){var R=Date['now']()['toString'](),S=''['concat'](this['cacheDir'],'/')['concat'](P,'/')['concat'](R)['concat'](v++),T=this;g(S,!![]),n(O,S,function(U){if(U){m(S,!![]);o(U['message'])&&(T['outOfStorage']=!![],T['autoClear']&&T['clearLRU']());Q&&Q(U);return;}T['cachedFiles']['add'](N,{'bundle':P,'url':S,'lastTime':R}),T['writeCacheFile'](),Q&&Q(null,S);});},'_isZipFile':function N(O){return O['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=x;},{}],0x4:[function(a,b,c){'use strict';a('./Editbox'),a('./AssetManager');},{'./AssetManager':0x1,'./Editbox':0x2}],0x5:[function(a,b,c){'use strict';var d=cc['assetManager']['parser'],e=cc['assetManager']['downloader'],f=cc['debug'];function g(i,j,k){k(null,i);}my['isIDE']&&e['register']({'.png':g,'.jpg':g,'.bmp':g,'.jpeg':g,'.gif':g,'.ico':g,'.tiff':g,'.image':g,'.webp':g});e['register']({'.mp3':g,'.ogg':g,'.wav':g,'.m4a':g});function h(i,j,k){var l=window['screencanvas']['createImage']();function m(){l['onload']=null,l['onerror']=null,k&&k(null,l);}function n(){l['onload']=null,l['onerror']=null,k&&k(new Error(f['getError'](0x1342,i)));}return l['onload']=m,l['onerror']=n,l['src']=i,l;}e['downloadDomImage']=h,d['register']({'.png':h,'.jpg':h,'.bmp':h,'.jpeg':h,'.gif':h,'.ico':h,'.tiff':h,'.image':h,'.webp':h});},{}],0x6:[function(a,b,c){'use strict';(function(){if(!(cc&&cc['internal']&&cc['internal']['EditBox']))return;var d=cc['internal']['EditBox'],e=cc['js'],f=d['KeyboardReturnType'],g=0xffff;function h(k){switch(k){case f['DEFAULT']:case f['DONE']:return'done';case f['SEND']:return'send';case f['SEARCH']:return'search';case f['GO']:return'go';case f['NEXT']:return'next';}return'done';}var i=d['_EditBoxImpl'];function j(){i['call'](this);}e['extend'](j,i),d['_EditBoxImpl']=j,Object['assign'](j['prototype'],{'init':function k(l){if(!l){cc['error']('EditBox\x20init\x20failed');return;}this['_delegate']=l;},'beginEditing':function l(){if(this['_editing'])return;var m=this['_delegate'];this['_showPrompt'](),this['_editing']=!![],m['_editBoxEditingDidBegan']();},'endEditing':function m(){cc['warn']('Can\x27t\x20support\x20to\x20end\x20editing.');},'_showPrompt':function n(){var o=this,p=this['_delegate'],q=p['inputMode']===d['InputMode']['ANY'],r=p['maxLength']<0x0?g:p['maxLength'];q&&cc['warn']('Multiline\x20editing\x20is\x20not\x20supported'),my['prompt']({'title':'','message':p['placeholder'],'okButtonText':h(p['returnType']),'cancelButtonText':'cancel','success':function s(t){if(t['ok']){var u=t['inputValue'];u=r<=u['length']?u['substring'](0x0,r):u,p['_string']!==u&&p['_editBoxTextChanged'](u),p['_editBoxEditingReturn']();}o['_editing']=![],p['_editBoxEditingDidEnded']();}});}});}());},{}],0x7:[function(a,b,c){'use strict';if(cc&&cc['Label']){var d=cc['Label'],e=my['createOffscreenCanvas'](),f=e['getContext']('2d'),g={'canvas':e,'context':f};cc['game']['on'](cc['game']['EVENT_ENGINE_INITED'],function(){Object['assign'](d['_canvasPool'],{'get':function h(){return g;},'put':function i(){}});});}},{}],0x8:[function(a,b,c){'use strict';a('../fs-utils'),a('../../../../common/engine/index'),a('./AssetManager.js'),a('./Label.js'),a('./Editbox.js');},{'../../../../common/engine/index':0x4,'../fs-utils':0x9,'./AssetManager.js':0x5,'./Editbox.js':0x6,'./Label.js':0x7}],0x9:[function(a,b,c){'use strict';var d=my['getFileSystemManager']?my['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return my['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('Can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errorMessage'])),l&&l(new Error(o['errorMessage']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){!m?p&&p(null,t['apFilePath']):f['copyFile'](t['apFilePath'],m,p);},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errorMessage'])),p&&p(new Error(u['errorMessage']),null);}};if(n)q['header']=n;var r=my['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){f['copyFile'](m,n,o);},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errorMessage'])),p&&p(new Error(s['errorMessage']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errorMessage'])),r&&r(new Error(u['errorMessage']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync']({'filePath':p,'data':q,'encoding':r}),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errorMessage'])),s&&s(new Error(v['errorMessage']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errorMessage'])),s&&s(new Error(v['errorMessage']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync']({'filePath':v,'encoding':'utf8'});return JSON['parse'](w['data']);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync']({'dirPath':w,'recursive':x}),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync']({'dirPath':x,'recursive':y}),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['readFile']({'filePath':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){throw new Error('Not\x20Implemented');},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errorMessage'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errorMessage'])));}});}};window['fsUtils']=b['exports']=f;},{}]},{},[0x8])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao/engine-adapter.min.js +deleted file mode 100644 +index b620acd..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function a(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],a,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{var at=!0x1,au=!0x1;return!ar['startsWith'](V())&&X['test'](ar)?as['reload']||((as=z['cachedFiles']['get'](ar))?(au=!0x0,ar=as['url']):(as=z['tempFiles']['get'](ar))&&(at=!0x0,ar=as)):at=!0x0,{'url':ar,'inLocal':at,'inCache':au};})(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(z['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&z['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(z['tempFiles']['add'](al,as),z['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a5(al,am,an){N(al,an);}function a6(al,am,an){L(al,an);}function a7(al,am,an){Q(al,an);}function a8(al,am,an){a4(al,a7,am,am['onFileProgress'],an);}function a9(al,am,an){an(null,__globalAdapter['loadFont'](al)||'Arial');}function aa(al,am,an){W(al,function(ao){ao?an(null,al):an(new Error('file\x20'['concat'](al,'\x20does\x20not\x20exist!')));});}function ab(al,am,an){a4(al,aa,am,am['onFileProgress'],an);}a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']&&(j=globalThis['__taobaoRequire']);function ac(al,am,an){N(al,function(ao,ap){ao?an(ao):ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){ao?an(ao):ah(ap,am,an);});}function ae(al,am,an){N(al,function(ao,ap){ao?an(ao):ai(ap,am,an);});}function af(al,am,an){L(al,function(ao,ap){ao?an(ao):aj(ap,am,an);});}var ag=G['parsePVRTex'],ah=G['parsePKMTex'],ai=G['parseASTCTex'],aj=G['parsePlist'];Y['downloadScript']=a2,Y['_downloadArrayBuffer']=function(al,am,an){a4(al,a5,am,am['onFileProgress'],an);},Y['_downloadJson']=a8,G['parsePVRTex']=ac,G['parsePKMTex']=ad,G['parseASTCTex']=ae,G['parsePlist']=af,Y['register']({'.js':a2,'.mp3':ab,'.ogg':ab,'.wav':ab,'.m4a':ab,'.png':ab,'.jpg':ab,'.bmp':ab,'.jpeg':ab,'.gif':ab,'.ico':ab,'.tiff':ab,'.image':ab,'.webp':ab,'.pvr':ab,'.pkm':ab,'.astc':ab,'.font':ab,'.eot':ab,'.ttf':ab,'.woff':ab,'.svg':ab,'.ttc':ab,'.txt':ab,'.xml':ab,'.vsh':ab,'.fsh':ab,'.atlas':ab,'.tmx':ab,'.tsx':ab,'.plist':ab,'.fnt':ab,'.json':a8,'.ExportJson':ab,'.binary':ab,'.bin':ab,'.dbbin':ab,'.skel':ab,'.mp4':ab,'.avi':ab,'.mov':ab,'.mpg':ab,'.mpeg':ab,'.rm':ab,'.rmvb':ab,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';a0[ar]?(ao=(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?'':'subpackages/')['concat'](ar,'/config.')['concat'](as,'json'),U(ar,am['onFileProgress'],function(at){at?an(at,null):a8(ao,am,function(au,av){var aw;(aw=av)&&(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?aw['base']=''['concat'](ar,'/'):aw['base']='subpackages/'['concat'](ar,'/')),an(au,av);});})):(X['test'](al)||al['startsWith'](V())?(aq=al,ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):-0x1!==Y['remoteBundles']['indexOf'](ar)?(aq=''['concat'](Y['remoteServerAddress'],'remote/')['concat'](ar),ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):(aq='assets/'['concat'](ar),ap='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?j(ap):a1['platform']!==a1['Platform']['TAOBAO_CREATIVE_APP']&&j('./'['concat'](ap)),am['__cacheBundleRoot__']=ar,a8(''['concat'](aq,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](aq,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),a1['platform']===a1['Platform']['ALIPAY_MINI_GAME']&&a1['os']===a1['OS']['ANDROID']&&(ay=''['concat'](az,'res/'),H['accessSync']({'path':ay})['success'])&&(au['base']=ay),an&&an(null,au));},(at=z['cachedFiles']['get'](av))?(z['updateLastTime'](av),ax&&ax(null,at['url'])):X['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):z['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):z['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](aq,'/'),an&&an(null,au));}));},'default':function(al,am,an){a4(al,a6,am,am['onFileProgress'],an);}}),G['register']({'.png':Y['downloadDomImage'],'.jpg':Y['downloadDomImage'],'.bmp':Y['downloadDomImage'],'.jpeg':Y['downloadDomImage'],'.gif':Y['downloadDomImage'],'.ico':Y['downloadDomImage'],'.tiff':Y['downloadDomImage'],'.image':Y['downloadDomImage'],'.webp':Y['downloadDomImage'],'.pvr':ac,'.pkm':ad,'.astc':ae,'.font':a9,'.eot':a9,'.ttf':a9,'.woff':a9,'.svg':a9,'.ttc':a9,'.mp3':a3,'.ogg':a3,'.wav':a3,'.m4a':a3,'.txt':a6,'.xml':a6,'.vsh':a6,'.fsh':a6,'.atlas':a6,'.tmx':a6,'.tsx':a6,'.fnt':a6,'.plist':af,'.binary':a5,'.bin':a5,'.dbbin':a5,'.skel':a5,'.ExportJson':a7}),cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';default:return'done';}})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){__globalAdapter['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x3:[function(j,k,q){var x=window['fsUtils'],z=x['getUserDataPath'],A=x['readJsonSync'],B=x['makeDirSync'],C=x['writeFileSync'],D=x['writeFile'],E=x['copyFile'],G=x['downloadFile'],H=x['deleteFile'],I=x['rmdirSync'],J=x['unzip'],K=x['isOutOfStorage'],L=!0x1,M=null,N=!0x1,O=[],P=[],Q=!0x1,R=0x0,S=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=k['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(T){return this['cachedFiles']['has'](T)?this['cachedFiles']['get'](T)['url']:'';},'getTemp':function(T){return this['tempFiles']['has'](T)?this['tempFiles']['get'](T):'';},'init':function(){this['cacheDir']=''['concat'](z(),'/')['concat'](this['cacheDir']);var T=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),U=A(T);U instanceof Error||!U['version']?(U instanceof Error||I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),C(T,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](U['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(T){this['cachedFiles']['has'](T)&&(this['cachedFiles']['get'](T)['lastTime']=Date['now']());},'_write':function(){N=!(M=null),D(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8',function(){N=!0x1;for(var T=0x0,U=P['length'];T{var Y=V['cacheQueue'][X],Z=Y['srcUrl'],a0=Y['isCopy'],a1=Y['cacheBundleRoot'],a2=Date['now']()['toString'](),a3='';function a4(a5){if(L=!0x1,a5){if(K(a5['message']))return W['outOfStorage']=!0x0,void(W['autoClear']&&W['clearLRU']());}else W['cachedFiles']['add'](X,{'bundle':a1,'url':a3,'lastTime':a2}),delete W['cacheQueue'][X],W['writeCacheFile']();cc['js']['isEmptyObject'](W['cacheQueue'])||(L=!0x0,setTimeout(W['_cache']['bind'](W),W['cacheInterval']));}return a3=(a1?''['concat'](V['cacheDir'],'/')['concat'](a1,'/'):''['concat'](V['cacheDir'],'/'))['concat'](a2)['concat'](R++)['concat'](cc['path']['extname'](X)),a0?E(Z,a3,a4):G(Z,a3,null,a4),{'v':void 0x0};})(U))return T['v'];L=!0x1;},'cacheFile':function(T,U,V,W,X){!(V=void 0x0!==V?V:this['cacheEnabled'])||this['cacheQueue'][T]||this['cachedFiles']['has'](T)||(this['cacheQueue'][T]={'srcUrl':U,'cacheBundleRoot':W,'isCopy':X},L)||(L=!0x0,this['outOfStorage']?L=!0x1:setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var T=this,U=(I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),this['cacheDir']+'/'+this['cachedFileName']);this['outOfStorage']=!0x1,clearTimeout(M),M=null,C(U,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8'),cc['assetManager']['bundles']['forEach'](function(V){S['test'](V['base'])&&T['makeBundleFolder'](V['name']);});},'clearLRU':function(){if(!Q){Q=!0x0;var T=[],U=this;this['cachedFiles']['forEach'](function(Y,Z){U['_isZipFile'](Z)&&cc['assetManager']['bundles']['find'](function(a0){return-0x1!==a0['base']['indexOf'](Y['url']);})||T['push']({'originUrl':Z,'url':Y['url'],'lastTime':Y['lastTime']});}),T['sort'](function(Y,Z){return Y['lastTime']-Z['lastTime'];}),T['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):T['length']=Math['floor'](T['length']/0x3);for(var V=0x0,W=T['length'];V{switch(q){case h['DEFAULT']:case h['DONE']:return'done';case h['SEND']:return'send';case h['SEARCH']:return'search';case h['GO']:return'go';case h['NEXT']:return'next';}return'done';})(l['returnType']),'cancelButtonText':'cancel','success':function(q){q['ok']&&(q=q['inputValue'],q=p<=q['length']?q['substring'](0x0,p):q,l['_string']!==q&&l['_editBoxTextChanged'](q),l['_editBoxEditingReturn']()),k['_editing']=!0x1,l['_editBoxEditingDidEnded']();}});}}));},{}],0x7:[function(b,c,d){var f,g,h,j;cc&&cc['Label']&&(f=cc['Label'],h=(g=my['createOffscreenCanvas']())['getContext']('2d'),j={'canvas':g,'context':h},cc['game']['on'](cc['game']['EVENT_ENGINE_INITED'],function(){Object['assign'](f['_canvasPool'],{'get':function(){return j;},'put':function(){}});}));},{}],0x8:[function(b,c,d){b('../fs-utils'),b('../../../../common/engine/index'),b('./AssetManager.js'),b('./Label.js'),b('./Editbox.js');},{'../../../../common/engine/index':0x4,'../fs-utils':0x9,'./AssetManager.js':0x5,'./Editbox.js':0x6,'./Label.js':0x7}],0x9:[function(b,c,d){var f=my['getFileSystemManager']?my['getFileSystemManager']():null,g=/the maximum size of the file storage/,h={'fs':f,'isOutOfStorage':function(j){return g['test'](j);},'getUserDataPath':function(){return my['env']['USER_DATA_PATH'];},'checkFsValid':function(){return!!f||(console['warn']('Can\x20not\x20get\x20the\x20file\x20system!'),!0x1);},'deleteFile':function(j,k){f['unlink']({'filePath':j,'success':function(){k&&k(null);},'fail':function(l){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['errorMessage'])),k&&k(new Error(l['errorMessage']));}});},'downloadFile':function(j,k,l,m,p){var q={'url':j,'success':function(s){k?h['copyFile'](s['apFilePath'],k,p):p&&p(null,s['apFilePath']);},'fail':function(s){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](s['errorMessage'])),p&&p(new Error(s['errorMessage']),null);}},l=(l&&(q['header']=l),my['downloadFile'](q));m&&l['onProgressUpdate'](m);},'saveFile':function(j,k,l){h['copyFile'](j,k,l);},'copyFile':function(j,k,l){f['copyFile']({'srcPath':j,'destPath':k,'success':function(){l&&l(null);},'fail':function(m){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errorMessage'])),l&&l(new Error(m['errorMessage']));}});},'writeFile':function(j,k,l,m){f['writeFile']({'filePath':j,'encoding':l,'data':k,'success':function(){m&&m(null);},'fail':function(o){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](o['errorMessage'])),m&&m(new Error(o['errorMessage']));}});},'writeFileSync':function(j,k,l){try{return f['writeFileSync']({'filePath':j,'data':k,'encoding':l}),null;}catch(m){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['message'])),new Error(m['message']);}},'readFile':function(j,k,l){f['readFile']({'filePath':j,'encoding':k,'success':function(m){l&&l(null,m['data']);},'fail':function(m){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errorMessage'])),l&&l(new Error(m['errorMessage']),null);}});},'readDir':function(j,k){f['readdir']({'dirPath':j,'success':function(l){k&&k(null,l['files']);},'fail':function(l){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['errorMessage'])),k&&k(new Error(l['errorMessage']),null);}});},'readText':function(j,k){h['readFile'](j,'utf8',k);},'readArrayBuffer':function(j,k){h['readFile'](j,'',k);},'readJson':function(j,k){h['readFile'](j,'utf8',function(l,m){var o=null;if(!l)try{o=JSON['parse'](m);}catch(p){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](p['message'])),l=new Error(p['message']);}k&&k(l,o);});},'readJsonSync':function(j){try{var k=f['readFileSync']({'filePath':j,'encoding':'utf8'});return JSON['parse'](k['data']);}catch(l){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'makeDirSync':function(j,k){try{return f['mkdirSync']({'dirPath':j,'recursive':k}),null;}catch(l){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'rmdirSync':function(j,k){try{return f['rmdirSync']({'dirPath':j,'recursive':k}),null;}catch(l){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](l['message'])),new Error(l['message']);}},'exists':function(j,k){f['readFile']({'filePath':j,'success':function(){k&&k(!0x0);},'fail':function(){k&&k(!0x1);}});},'loadSubpackage':function(j,k,l){throw new Error('Not\x20Implemented');},'unzip':function(j,k,l){f['unzip']({'zipFilePath':j,'targetPath':k,'success':function(){l&&l(null);},'fail':function(m){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](j,'\x20message:\x20')['concat'](m['errorMessage'])),l&&l(new Error('unzip\x20failed:\x20'['concat'](m['errorMessage'])));}});}};window['fsUtils']=c['exports']=h;},{}]},{},[0x8]); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao/web-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao/web-adapter.js +deleted file mode 100644 +index f4d7f19..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/taobao/web-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function n(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function o(p,q,r,s){var t=this['doc'],u=t['createElementNS'](p,r||q),v=s['length'];j(this,u),this['currentElement']=u,this['locator']&&g(this['locator'],u);for(var w=0x0;w=G+H||G)return new java['lang']['String'](F,G,H)+'';return F;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(F){f['prototype'][F]=function(){return null;};});function j(F,G){!F['currentElement']?F['doc']['appendChild'](G):F['currentElement']['appendChild'](G);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d,window['DOMParser']=d;},{'./dom':0x2,'./entities':0x3,'./sax':0x4}],0x2:[function(a,b,c){'use strict';function d(ap){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(aq){return typeof aq;}:function(aq){return aq&&'function'==typeof Symbol&&aq['constructor']===Symbol&&aq!==Symbol['prototype']?'symbol':typeof aq;},d(ap);}function f(ap,aq){for(var ar in ap){aq[ar]=ap[ar];}}function g(ap,aq){var ar=ap['prototype'];if(!(ar instanceof aq)){var as=function au(){};;as['prototype']=aq['prototype'],as=new as();for(var at in ar){as[at]=ar[at];}ap['prototype']=ar=as;}ar['constructor']!=ap&&(typeof ap!='function'&&console['error']('unknow\x20Class:'+ap),ar['constructor']=ap);}var h='http://www.w3.org/1999/xhtml',i={},j=i['ELEMENT_NODE']=0x1,k=i['ATTRIBUTE_NODE']=0x2,l=i['TEXT_NODE']=0x3,m=i['CDATA_SECTION_NODE']=0x4,n=i['ENTITY_REFERENCE_NODE']=0x5,o=i['ENTITY_NODE']=0x6,p=i['PROCESSING_INSTRUCTION_NODE']=0x7,q=i['COMMENT_NODE']=0x8,r=i['DOCUMENT_NODE']=0x9,s=i['DOCUMENT_TYPE_NODE']=0xa,t=i['DOCUMENT_FRAGMENT_NODE']=0xb,u=i['NOTATION_NODE']=0xc,v={},w={},x=v['INDEX_SIZE_ERR']=(w[0x1]='Index\x20size\x20error',0x1),y=v['DOMSTRING_SIZE_ERR']=(w[0x2]='DOMString\x20size\x20error',0x2),z=v['HIERARCHY_REQUEST_ERR']=(w[0x3]='Hierarchy\x20request\x20error',0x3),A=v['WRONG_DOCUMENT_ERR']=(w[0x4]='Wrong\x20document',0x4),B=v['INVALID_CHARACTER_ERR']=(w[0x5]='Invalid\x20character',0x5),C=v['NO_DATA_ALLOWED_ERR']=(w[0x6]='No\x20data\x20allowed',0x6),D=v['NO_MODIFICATION_ALLOWED_ERR']=(w[0x7]='No\x20modification\x20allowed',0x7),E=v['NOT_FOUND_ERR']=(w[0x8]='Not\x20found',0x8),F=v['NOT_SUPPORTED_ERR']=(w[0x9]='Not\x20supported',0x9),G=v['INUSE_ATTRIBUTE_ERR']=(w[0xa]='Attribute\x20in\x20use',0xa),H=v['INVALID_STATE_ERR']=(w[0xb]='Invalid\x20state',0xb),I=v['SYNTAX_ERR']=(w[0xc]='Syntax\x20error',0xc),J=v['INVALID_MODIFICATION_ERR']=(w[0xd]='Invalid\x20modification',0xd),K=v['NAMESPACE_ERR']=(w[0xe]='Invalid\x20namespace',0xe),L=v['INVALID_ACCESS_ERR']=(w[0xf]='Invalid\x20access',0xf);function M(ap,aq){if(aq instanceof Error)var ar=aq;else{ar=this,Error['call'](this,w[ap]),this['message']=w[ap];if(Error['captureStackTrace'])Error['captureStackTrace'](this,M);}ar['code']=ap;if(aq)this['message']=this['message']+':\x20'+aq;return ar;};M['prototype']=Error['prototype'],f(v,M);function N(){};N['prototype']={'length':0x0,'item':function ap(aq){return this[aq]||null;},'toString':function aq(ar,as){for(var at=[],au=0x0;au=0x0){var av=as['length']-0x1;while(au0x0;},'lookupPrefix':function aJ(aK){var aL=this;while(aL){var aM=aL['_nsMap'];if(aM)for(var aN in aM){if(aM[aN]==aK)return aN;}aL=aL['nodeType']==k?aL['ownerDocument']:aL['parentNode'];}return null;},'lookupNamespaceURI':function aK(aL){var aM=this;while(aM){var aN=aM['_nsMap'];if(aN){if(aL in aN)return aN[aL];}aM=aM['nodeType']==k?aM['ownerDocument']:aM['parentNode'];}return null;},'isDefaultNamespace':function aL(aM){var aN=this['lookupPrefix'](aM);return aN==null;}};function W(aM){return aM=='<'&&'<'||aM=='>'&&'>'||aM=='&'&&'&'||aM=='\x22'&&'"'||'&#'+aM['charCodeAt']()+';';}f(i,V),f(i,V['prototype']);function X(aM,aN){if(aN(aM))return!![];if(aM=aM['firstChild'])do{if(X(aM,aN))return!![];}while(aM=aM['nextSibling']);}function Y(){}function Z(aM,aN,aO){aM&&aM['_inc']++;var aP=aO['namespaceURI'];aP=='http://www.w3.org/2000/xmlns/'&&(aN['_nsMap'][aO['prefix']?aO['localName']:'']=aO['value']);}function a0(aM,aN,aO,aP){aM&&aM['_inc']++;var aQ=aO['namespaceURI'];aQ=='http://www.w3.org/2000/xmlns/'&&delete aN['_nsMap'][aO['prefix']?aO['localName']:''];}function a1(aM,aN,aO){if(aM&&aM['_inc']){aM['_inc']++;var aP=aN['childNodes'];if(aO)aP[aP['length']++]=aO;else{var aQ=aN['firstChild'],aR=0x0;while(aQ){aP[aR++]=aQ,aQ=aQ['nextSibling'];}aP['length']=aR;}}}function a2(aM,aN){var aO=aN['previousSibling'],aP=aN['nextSibling'];return aO?aO['nextSibling']=aP:aM['firstChild']=aP,aP?aP['previousSibling']=aO:aM['lastChild']=aO,a1(aM['ownerDocument'],aM),aN;}function a3(aM,aN,aO){var aP=aN['parentNode'];aP&&aP['removeChild'](aN);if(aN['nodeType']===t){var aQ=aN['firstChild'];if(aQ==null)return aN;var aR=aN['lastChild'];}else aQ=aR=aN;var aS=aO?aO['previousSibling']:aM['lastChild'];aQ['previousSibling']=aS,aR['nextSibling']=aO;aS?aS['nextSibling']=aQ:aM['firstChild']=aQ;aO==null?aM['lastChild']=aR:aO['previousSibling']=aR;do{aQ['parentNode']=aM;}while(aQ!==aR&&(aQ=aQ['nextSibling']));return a1(aM['ownerDocument']||aM,aM),aN['nodeType']==t&&(aN['firstChild']=aN['lastChild']=null),aN;}function a4(aM,aN){var aO=aN['parentNode'];if(aO){var aP=aM['lastChild'];aO['removeChild'](aN);var aP=aM['lastChild'];}var aP=aM['lastChild'];return aN['parentNode']=aM,aN['previousSibling']=aP,aN['nextSibling']=null,aP?aP['nextSibling']=aN:aM['firstChild']=aN,aM['lastChild']=aN,a1(aM['ownerDocument'],aM,aN),aN;}Y['prototype']={'nodeName':'#document','nodeType':r,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function aM(aN,aO){if(aN['nodeType']==t){var aP=aN['firstChild'];while(aP){var aQ=aP['nextSibling'];this['insertBefore'](aP,aO),aP=aQ;}return aN;}return this['documentElement']==null&&aN['nodeType']==j&&(this['documentElement']=aN),(a3(this,aN,aO),aN['ownerDocument']=this,aN);},'removeChild':function aN(aO){return this['documentElement']==aO&&(this['documentElement']=null),a2(this,aO);},'importNode':function aO(aP,aQ){return al(this,aP,aQ);},'getElementById':function aP(aQ){var aR=null;return X(this['documentElement'],function(aS){if(aS['nodeType']==j){if(aS['getAttribute']('id')==aQ)return aR=aS,!![];}}),aR;},'createElement':function aQ(aR){var aS=new a5();aS['ownerDocument']=this,aS['nodeName']=aR,aS['tagName']=aR,aS['childNodes']=new N();var aT=aS['attributes']=new Q();return aT['_ownerElement']=aS,aS;},'createDocumentFragment':function aR(){var aS=new af();return aS['ownerDocument']=this,aS['childNodes']=new N(),aS;},'createTextNode':function aS(aT){var aU=new a8();return aU['ownerDocument']=this,aU['appendData'](aT),aU;},'createComment':function aT(aU){var aV=new a9();return aV['ownerDocument']=this,aV['appendData'](aU),aV;},'createCDATASection':function aU(aV){var aW=new aa();return aW['ownerDocument']=this,aW['appendData'](aV),aW;},'createProcessingInstruction':function aV(aW,aX){var aY=new ag();return aY['ownerDocument']=this,aY['tagName']=aY['target']=aW,aY['nodeValue']=aY['data']=aX,aY;},'createAttribute':function aW(aX){var aY=new a6();return aY['ownerDocument']=this,aY['name']=aX,aY['nodeName']=aX,aY['localName']=aX,aY['specified']=!![],aY;},'createEntityReference':function aX(aY){var aZ=new ae();return aZ['ownerDocument']=this,aZ['nodeName']=aY,aZ;},'createElementNS':function aY(aZ,b0){var b1=new a5(),b2=b0['split'](':'),b3=b1['attributes']=new Q();return b1['childNodes']=new N(),b1['ownerDocument']=this,b1['nodeName']=b0,b1['tagName']=b0,b1['namespaceURI']=aZ,b2['length']==0x2?(b1['prefix']=b2[0x0],b1['localName']=b2[0x1]):b1['localName']=b0,b3['_ownerElement']=b1,b1;},'createAttributeNS':function aZ(b0,b1){var b2=new a6(),b3=b1['split'](':');return b2['ownerDocument']=this,b2['nodeName']=b1,b2['name']=b1,b2['namespaceURI']=b0,b2['specified']=!![],b3['length']==0x2?(b2['prefix']=b3[0x0],b2['localName']=b3[0x1]):b2['localName']=b1,b2;}},g(Y,V);function a5(){this['_nsMap']={};};a5['prototype']={'nodeType':j,'hasAttribute':function b0(b1){return this['getAttributeNode'](b1)!=null;},'getAttribute':function b1(b2){var b3=this['getAttributeNode'](b2);return b3&&b3['value']||'';},'getAttributeNode':function b2(b3){return this['attributes']['getNamedItem'](b3);},'setAttribute':function b3(b4,b5){var b6=this['ownerDocument']['createAttribute'](b4);b6['value']=b6['nodeValue']=''+b5,this['setAttributeNode'](b6);},'removeAttribute':function b4(b5){var b6=this['getAttributeNode'](b5);b6&&this['removeAttributeNode'](b6);},'appendChild':function b5(b6){return b6['nodeType']===t?this['insertBefore'](b6,null):a4(this,b6);},'setAttributeNode':function b6(b7){return this['attributes']['setNamedItem'](b7);},'setAttributeNodeNS':function b7(b8){return this['attributes']['setNamedItemNS'](b8);},'removeAttributeNode':function b8(b9){return this['attributes']['removeNamedItem'](b9['nodeName']);},'removeAttributeNS':function b9(ba,bb){var bc=this['getAttributeNodeNS'](ba,bb);bc&&this['removeAttributeNode'](bc);},'hasAttributeNS':function ba(bb,bc){return this['getAttributeNodeNS'](bb,bc)!=null;},'getAttributeNS':function bb(bc,bd){var be=this['getAttributeNodeNS'](bc,bd);return be&&be['value']||'';},'setAttributeNS':function bc(bd,be,bf){var bg=this['ownerDocument']['createAttributeNS'](bd,be);bg['value']=bg['nodeValue']=''+bf,this['setAttributeNode'](bg);},'getAttributeNodeNS':function bd(be,bf){return this['attributes']['getNamedItemNS'](be,bf);},'getElementsByTagName':function be(bf){return new O(this,function(bg){var bh=[];return X(bg,function(bi){bi!==bg&&bi['nodeType']==j&&(bf==='*'||bi['tagName']==bf)&&bh['push'](bi);}),bh;});},'getElementsByTagNameNS':function bf(bg,bh){return new O(this,function(bi){var bj=[];return X(bi,function(bk){bk!==bi&&bk['nodeType']===j&&(bg==='*'||bk['namespaceURI']===bg)&&(bh==='*'||bk['localName']==bh)&&bj['push'](bk);}),bj;});}},Y['prototype']['getElementsByTagName']=a5['prototype']['getElementsByTagName'],Y['prototype']['getElementsByTagNameNS']=a5['prototype']['getElementsByTagNameNS'],g(a5,V);function a6(){};a6['prototype']['nodeType']=k,g(a6,V);function a7(){};a7['prototype']={'data':'','substringData':function bg(bh,bi){return this['data']['substring'](bh,bh+bi);},'appendData':function bh(bi){bi=this['data']+bi,this['nodeValue']=this['data']=bi,this['length']=bi['length'];},'insertData':function bi(bj,bk){this['replaceData'](bj,0x0,bk);},'appendChild':function bj(bk){throw new Error(w[z]);},'deleteData':function bk(bl,bm){this['replaceData'](bl,bm,'');},'replaceData':function bl(bm,bn,bo){var bp=this['data']['substring'](0x0,bm),bq=this['data']['substring'](bm+bn);bo=bp+bo+bq,this['nodeValue']=this['data']=bo,this['length']=bo['length'];}},g(a7,V);function a8(){};a8['prototype']={'nodeName':'#text','nodeType':l,'splitText':function bm(bn){var bo=this['data'],bp=bo['substring'](bn);bo=bo['substring'](0x0,bn),this['data']=this['nodeValue']=bo,this['length']=bo['length'];var bq=this['ownerDocument']['createTextNode'](bp);return this['parentNode']&&this['parentNode']['insertBefore'](bq,this['nextSibling']),bq;}},g(a8,a7);function a9(){};a9['prototype']={'nodeName':'#comment','nodeType':q},g(a9,a7);function aa(){};aa['prototype']={'nodeName':'#cdata-section','nodeType':m},g(aa,a7);function ab(){};ab['prototype']['nodeType']=s,g(ab,V);function ac(){};ac['prototype']['nodeType']=u,g(ac,V);function ad(){};ad['prototype']['nodeType']=o,g(ad,V);function ae(){};ae['prototype']['nodeType']=n,g(ae,V);function af(){};af['prototype']['nodeName']='#document-fragment',af['prototype']['nodeType']=t,g(af,V);function ag(){}ag['prototype']['nodeType']=p,g(ag,V);function ah(){}ah['prototype']['serializeToString']=function(bn,bo,bp){return ai['call'](bn,bo,bp);},V['prototype']['toString']=ai;function ai(bn,bo){var bp=[],bq=this['nodeType']==0x9&&this['documentElement']||this,br=bq['prefix'],bs=bq['namespaceURI'];if(bs&&br==null){var br=bq['lookupPrefix'](bs);if(br==null)var bt=[{'namespace':bs,'prefix':null}];}return ak(this,bp,bn,bo,bt),bp['join']('');}function aj(bn,bo,bp){var bq=bn['prefix']||'',br=bn['namespaceURI'];if(!bq&&!br)return![];if(bq==='xml'&&br==='http://www.w3.org/XML/1998/namespace'||br=='http://www.w3.org/2000/xmlns/')return![];var bs=bp['length'];while(bs--){var bt=bp[bs];if(bt['prefix']==bq)return bt['namespace']!=br;}return!![];}function ak(bn,bo,bp,bq,br){if(bq){bn=bq(bn);if(bn){if(typeof bn=='string'){bo['push'](bn);return;}}else return;}switch(bn['nodeType']){case j:if(!br)br=[];var bs=br['length'],bt=bn['attributes'],bu=bt['length'],bv=bn['firstChild'],bw=bn['tagName'];bp=h===bn['namespaceURI']||bp,bo['push']('<',bw);for(var bx=0x0;bx');if(bp&&/^script$/i['test'](bw))while(bv){bv['data']?bo['push'](bv['data']):ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}else while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}bo['push']('');}else bo['push']('/>');return;case r:case t:var bv=bn['firstChild'];while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}return;case k:return bo['push']('\x20',bn['name'],'=\x22',bn['value']['replace'](/[<&"]/g,W),'\x22');case l:return bo['push'](bn['data']['replace'](/[<&]/g,W));case m:return bo['push']('');case q:return bo['push']('');case s:var bC=bn['publicId'],bD=bn['systemId'];bo['push']('');else{if(bD&&bD!='.')bo['push']('\x20SYSTEM\x20\x22',bD,'\x22>');else{var bE=bn['internalSubset'];bE&&bo['push']('\x20[',bE,']'),bo['push']('>');}}return;case p:return bo['push']('');case n:return bo['push']('&',bn['nodeName'],';');default:bo['push']('??',bn['nodeName']);}}function al(bn,bo,bp){var bq;switch(bo['nodeType']){case j:bq=bo['cloneNode'](![]),bq['ownerDocument']=bn;case t:break;case k:bp=!![];break;}!bq&&(bq=bo['cloneNode'](![]));bq['ownerDocument']=bn,bq['parentNode']=null;if(bp){var br=bo['firstChild'];while(br){bq['appendChild'](al(bn,br,bp)),br=br['nextSibling'];}}return bq;}function am(bn,bo,bp){var bq=new bo['constructor']();for(var br in bo){var bs=bo[br];d(bs)!='object'&&(bs!=bq[br]&&(bq[br]=bs));}bo['childNodes']&&(bq['childNodes']=new N());bq['ownerDocument']=bn;switch(bq['nodeType']){case j:var bt=bo['attributes'],bu=bq['attributes']=new Q(),bv=bt['length'];bu['_ownerElement']=bq;for(var bw=0x0;bw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function A(B,C,D){var E=this['domBuilder'];E['startDocument'](),v(C,C={}),p(B,C,D,E,this['errorHandler']),E['endDocument']();}};function p(B,C,D,E,F){function G(a7){if(a7>0xffff){a7-=0x10000;var a8=0xd800+(a7>>0xa),a9=0xdc00+(a7&0x3ff);return String['fromCharCode'](a8,a9);}else return String['fromCharCode'](a7);}function H(a7){var a8=a7['slice'](0x1,-0x1);if(a8 in D)return D[a8];else return a8['charAt'](0x0)==='#'?G(parseInt(a8['substr'](0x1)['replace']('x','0x'))):(F['error']('entity\x20not\x20found:'+a7),a7);}function I(a7){if(a7>Q){var a8=B['substring'](Q,a7)['replace'](/&#?\w+;/g,H);N&&J(Q),E['characters'](a8,0x0,a7-Q),Q=a7;}}function J(a7,a8){while(a7>=L&&(a8=M['exec'](B))){K=a8['index'],L=K+a8[0x0]['length'],N['lineNumber']++;}N['columnNumber']=a7-K+0x1;}var K=0x0,L=0x0,M=/.*(?:\r\n?|\n)|.*$/g,N=E['locator'],O=[{'currentNSMap':C}],P={},Q=0x0;while(!![]){try{var R=B['indexOf']('<',Q);if(R<0x0){if(!B['substr'](Q)['match'](/^\s*$/)){var S=E['doc'],T=S['createTextNode'](B['substr'](Q));S['appendChild'](T),E['currentElement']=T;}return;}R>Q&&I(R);switch(B['charAt'](R+0x1)){case'/':var U=B['indexOf']('>',R+0x3),V=B['substring'](R+0x2,U),W=O['pop']();if(U<0x0)V=B['substring'](R+0x2)['replace'](/[\s<].*/,''),F['error']('end\x20tag\x20name:\x20'+V+'\x20is\x20not\x20complete:'+W['tagName']),U=R+0x1+V['length'];else V['match'](/\sQ?Q=U:I(Math['max'](R,Q)+0x1);}}function q(B,C){return C['lineNumber']=B['lineNumber'],C['columnNumber']=B['columnNumber'],C;}function r(B,C,D,E,F,G){var H,I,J=++C,K=g;while(!![]){var L=B['charAt'](J);switch(L){case'=':if(K===h)H=B['slice'](C,J),K=j;else{if(K===i)K=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(K===j||K===h){K===h&&(G['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),H=B['slice'](C,J));C=J+0x1,J=B['indexOf'](L,C);if(J>0x0)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C-0x1),K=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+L+'\x27\x20match');}else{if(K==k)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C),G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20start\x20quot('+L+')!!'),C=J+0x1,K=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:K=n,D['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':G['error']('unexpected\x20end\x20of\x20input');K==g&&D['setTagName'](B['slice'](C,J));return J;case'>':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:break;case k:case h:I=B['slice'](C,J);I['slice'](-0x1)==='/'&&(D['closed']=!![],I=I['slice'](0x0,-0x1));case i:K===i&&(I=H);K==k?(G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I['replace'](/&#?\w+;/g,F),C)):((E['']!=='http://www.w3.org/1999/xhtml'||!I['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20value!!\x20\x22'+I+'\x22\x20instead!!'),D['add'](I,I,C));break;case j:throw new Error('attribute\x20value\x20missed!!');}return J;case'\u0080':L='\x20';default:if(L<='\x20')switch(K){case g:D['setTagName'](B['slice'](C,J)),K=m;break;case h:H=B['slice'](C,J),K=i;break;case k:var I=B['slice'](C,J)['replace'](/&#?\w+;/g,F);G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I,C);case l:K=m;break;}else switch(K){case i:var M=D['tagName'];(E['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead2!!');D['add'](H,H,C),C=J,K=h;break;case l:G['warning']('attribute\x20space\x20is\x20required\x22'+H+'\x22!!');case m:K=h,C=J;break;case j:K=k,C=J;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}J++;}}function s(B,C,D){var E=B['tagName'],F=null,G=B['length'];while(G--){var H=B[G],I=H['qName'],J=H['value'],K=I['indexOf'](':');if(K>0x0)var L=H['prefix']=I['slice'](0x0,K),M=I['slice'](K+0x1),N=L==='xmlns'&&M;else M=I,L=null,N=I==='xmlns'&&'';H['localName']=M,N!==![]&&(F==null&&(F={},v(D,D={})),D[N]=F[N]=J,H['uri']='http://www.w3.org/2000/xmlns/',C['startPrefixMapping'](N,J));}var G=B['length'];while(G--){H=B[G];var L=H['prefix'];L&&(L==='xml'&&(H['uri']='http://www.w3.org/XML/1998/namespace'),L!=='xmlns'&&(H['uri']=D[L||'']));}var K=E['indexOf'](':');K>0x0?(L=B['prefix']=E['slice'](0x0,K),M=B['localName']=E['slice'](K+0x1)):(L=null,M=B['localName']=E);var O=B['uri']=D[L||''];C['startElement'](O,M,E,B);if(B['closed']){C['endElement'](O,M,E);if(F)for(L in F){C['endPrefixMapping'](L);}}else return B['currentNSMap']=D,B['localNSMap']=F,!![];}function t(B,C,D,E,F){if(/^(?:script|textarea)$/i['test'](D)){var G=B['indexOf']('',C),H=B['substring'](C+0x1,G);if(/[&<]/['test'](H)){if(/^script$/i['test'](D))return F['characters'](H,0x0,H['length']),G;return H=H['replace'](/&#?\w+;/g,E),F['characters'](H,0x0,H['length']),G;}}return C+0x1;}function u(B,C,D,E){var F=E[D];return F==null&&(F=B['lastIndexOf'](''),F',C+0x4);return G>C?(D['comment'](B,C+0x4,G-C-0x4),G+0x3):(E['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(B['substr'](C+0x3,0x6)=='CDATA['){var G=B['indexOf'](']]>',C+0x9);return D['startCDATA'](),D['characters'](B,C+0x9,G-C-0x9),D['endCDATA'](),G+0x3;}var H=z(B,C),I=H['length'];if(I>0x1&&/!doctype/i['test'](H[0x0][0x0])){var J=H[0x1][0x0],K=I>0x3&&/^public$/i['test'](H[0x2][0x0])&&H[0x3][0x0],L=I>0x4&&H[0x4][0x0],M=H[I-0x1];return D['startDTD'](J,K&&K['replace'](/^(['"])(.*?)\1$/,'$2'),L&&L['replace'](/^(['"])(.*?)\1$/,'$2')),D['endDTD'](),M['index']+M[0x0]['length'];}}return-0x1;}function x(B,C,D){var E=B['indexOf']('?>',C);if(E){var F=B['substring'](C,E)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(F){var G=F[0x0]['length'];return D['processingInstruction'](F[0x1],F[0x2]),E+0x2;}else return-0x1;}return-0x1;}function y(B){}y['prototype']={'setTagName':function B(C){if(!f['test'](C))throw new Error('invalid\x20tagName:'+C);this['tagName']=C;},'add':function C(D,E,F){if(!f['test'](D))throw new Error('invalid\x20attribute:'+D);this[this['length']++]={'qName':D,'value':E,'offset':F};},'length':0x0,'getLocalName':function D(E){return this[E]['localName'];},'getLocator':function E(F){return this[F]['locator'];},'getQName':function F(G){return this[G]['qName'];},'getURI':function G(H){return this[H]['uri'];},'getValue':function H(I){return this[I]['value'];}};function z(I,J){var K,L=[],M=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;M['lastIndex']=J,M['exec'](I);while(K=M['exec'](I)){L['push'](K);if(K[0x1])return L;}}c['XMLReader']=o;},{}],0x5:[function(a,b,c){'use strict';function d(D){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(E){return typeof E;}:function(E){return E&&'function'==typeof Symbol&&E['constructor']===Symbol&&E!==Symbol['prototype']?'symbol':typeof E;},d(D);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLAudioElement'));function f(D){return D&&D['__esModule']?D:{'default':D};}function g(D,E){if(!(D instanceof E))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(D,E){for(var F=0x0;F0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};p(E,'addEventListener',this,0x3)([G,H,I]),G=String(G)['toLowerCase'](),this['_loaded']&&this['_canplayEvents']['indexOf'](G)!==-0x1&&this['dispatchEvent']({'type':G});}},{'key':'load','value':function G(){}},{'key':'play','value':function H(){B[this['_$sn']]['play']();}},{'key':'resume','value':function I(){B[this['_$sn']]['resume']();}},{'key':'pause','value':function J(){B[this['_$sn']]['pause']();}},{'key':'stop','value':function K(){B[this['_$sn']]['stop']();}},{'key':'destroy','value':function L(){B[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function M(){var N=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof N!=='string')return'';if(N['indexOf']('audio/mpeg')>-0x1||N['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function N(){return B[this['_$sn']]['currentTime'];},'set':function O(P){B[this['_$sn']]['seek'](P);}},{'key':'duration','get':function P(){return B[this['_$sn']]['duration'];}},{'key':'src','get':function Q(){return this['_src'];},'set':function R(S){this['_src']=S,this['_loaded']=![],this['readyState']=this['HAVE_NOTHING'];var T=B[this['_$sn']];T['src']=S;}},{'key':'loop','get':function S(){return this['_loop'];},'set':function T(U){this['_loop']=U,B[this['_$sn']]['loop']=U;}},{'key':'autoplay','get':function U(){return this['autoplay'];},'set':function V(W){this['_autoplay']=W,B[this['_$sn']]['autoplay']=W;}},{'key':'paused','get':function W(){return this['_paused'];}},{'key':'volume','get':function X(){return this['_volume'];},'set':function Y(Z){this['_volume']=Z,!this['_muted']&&(B[this['_$sn']]['volume']=Z);}},{'key':'muted','get':function Z(){return this['_muted'];},'set':function a0(a1){this['_muted']=a1,a1?B[this['_$sn']]['volume']=0x0:B[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function a1(){var a2=new E();return a2['loop']=this['loop'],a2['autoplay']=this['autoplay'],a2['src']=this['src'],a2;}}]);}(e['default']);},{'./HTMLAudioElement':0x9}],0x6:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=a('./WindowProperties');function e(){}var f=new Proxy(e,{'construct':function h(){var canvas=my['createOffscreenCanvas']();canvas['type']='canvas';var i=canvas['getContext'];return canvas['getBoundingClientRect']=function(){var j={'top':0x0,'left':0x0,'width':window['innerWidth'],'height':window['innerHeight']};return j;},canvas['style']={'top':'0px','left':'0px','width':d['innerWidth']+'px','height':d['innerHeight']+'px'},canvas['addEventListener']=function(j,k){var l=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};document['addEventListener'](j,k,l);},canvas['removeEventListener']=function(j,k){document['removeEventListener'](j,k);},canvas['dispatchEvent']=function(){var j=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',j['type'],j);},Object['defineProperty'](canvas,'clientWidth',{'enumerable':!![],'get':function j(){return d['innerWidth'];}}),Object['defineProperty'](canvas,'clientHeight',{'enumerable':!![],'get':function k(){return d['innerHeight'];}}),canvas;}}),g=c['default']=f;},{'./WindowProperties':0x12}],0x7:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./Node'));function e(u){return u&&u['__esModule']?u:{'default':u};}function f(u){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},f(u);}function g(u,v){for(var w=0x0;w0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},q=j['get'](this);!q&&(q={},j['set'](this,q));!q[n]&&(q[n]=[]);q[n]['push'](o);if(p['capture']){}if(p['once']){}if(p['passive']){}}},{'key':'removeEventListener','value':function n(o,p){var q=j['get'](this);if(q){var r=q[o];if(r&&r['length']>0x0)for(var s=r['length'];s--;s>0x0){if(r[s]===p){r['splice'](s,0x1);break;}}}}},{'key':'dispatchEvent','value':function o(){var p=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},q=j['get'](this)[p['type']];if(q)for(var r=0x0;r0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return i(this,x),y=l(this,x),s(y,'className',''),s(y,'childern',[]),s(y,'style',{'width':''['concat'](f['innerWidth'],'px'),'height':''['concat'](f['innerHeight'],'px')}),s(y,'insertBefore',e['noop']),s(y,'innerHTML',''),y['tagName']=z['toUpperCase'](),y;}return q(x,w),k(x,[{'key':'setAttribute','value':function y(z,A){this[z]=A;}},{'key':'getAttribute','value':function z(A){return this[A];}},{'key':'clientWidth','get':function A(){var B=parseInt(this['style']['fontSize'],0xa)*this['innerHTML']['length'];return Number['isNaN'](B)?0x0:B;}},{'key':'clientHeight','get':function B(){var C=parseInt(this['style']['fontSize'],0xa);return Number['isNaN'](C)?0x0:C;}},{'key':'getBoundingClientRect','value':function C(){return{'top':0x0,'left':0x0,'width':f['innerWidth'],'height':f['innerHeight']};}},{'key':'focus','value':function D(){}}]);}(d['default']);},{'./Element':0x7,'./WindowProperties':0x12,'./util/index.js':0x1b}],0xc:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=$global['screencanvas'],e=d['createImage']()['constructor'],f=c['default']=e;},{}],0xd:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function d(){return $global['screencanvas']['createImage']();}var e=c['default']=d;},{}],0xe:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m-0x1)return this['childNodes']['splice'](A,0x1);return null;}}]);}(d['default']);},{'./EventTarget.js':0x8}],0x10:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];e(this,o),h(this,'binaryType',''),h(this,'bufferedAmount',0x0),h(this,'extensions',''),h(this,'onopen',null),h(this,'onmessage',null),h(this,'onerror',null),h(this,'onclose',null),h(this,'_onMessage',null),h(this,'_onOpen',null),h(this,'_onError',null),h(this,'_onClose',null),h(this,'_isReduced',![]),h(this,'protocol',''),h(this,'readyState',0x3);if(this['_isMaxCount']())return console['warn']('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20Only\x20'['concat'](m,'\x20WebSocket\x20can\x20be\x20created\x20at\x20the\x20same\x20time\x20on\x20TaoBao.')),this;if(typeof p!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](p))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](p,'\x27\x20is\x20invalid'));return this['url']=p,this['readyState']=o['CONNECTING'],this['_increaseCount'](),my['connectSocket']({'url':p,'fail':function s(t){this['_triggerEvent']('error',t);}}),this['_onOpen']=function(t){q['readyState']=o['OPEN'],q['_triggerEvent']('open');},my['onSocketOpen'](this['_onOpen']),this['_onMessage']=function(t){t&&t['data']&&t['isBuffer']&&(t['data']=k['base64ToArrayBuffer'](t['data'])),q['_triggerEvent']('message',t);},my['onSocketMessage'](this['_onMessage']),this['_onError']=function(t){q['_triggerEvent']('error',t),q['_decreaseCount']();},my['onSocketError'](this['_onError']),this['_onClose']=function(t){q['readyState']=o['CLOSED'],q['_triggerEvent']('close'),q['_removeAllSocketListenr'](),q['_decreaseCount']();},my['onSocketClose'](this['_onClose']),this;}return g(o,[{'key':'close','value':function p(){this['readyState']=o['CLOSING'],my['closeSocket']();}},{'key':'send','value':function q(r){if(typeof r!=='string'&&!(r instanceof ArrayBuffer)&&!ArrayBuffer['isView'](r))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](r,'\x20is\x20invalid'));else{var s=![];r instanceof ArrayBuffer&&(r=k['arrayBufferToBase64'](r),s=!![]),my['sendSocketMessage']({'data':r,'isBuffer':s,'fail':function t(u){this['_triggerEvent']('error',u);}});}}},{'key':'_triggerEvent','value':function r(s){if(typeof this['on'['concat'](s)]==='function'){for(var t=arguments['length'],u=new Array(t>0x1?t-0x1:0x0),v=0x1;v=l;}}]);}());h(n,'CONNECTING',0x0),h(n,'OPEN',0x1),h(n,'CLOSING',0x2),h(n,'CLOSED',0x3);},{'../utils':0x1e}],0x12:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['screen']=c['performance']=c['ontouchstart']=c['ontouchmove']=c['ontouchend']=c['innerWidth']=c['innerHeight']=c['devicePixelRatio']=void 0x0;var d=my['getSystemInfoSync'](),e=d['pixelRatio'],f=d['windowWidth'],g=d['windowHeight'],h=c['devicePixelRatio']=e,i,j;if($global['screencanvas']['getBoundingClientRect']){var k=$global['screencanvas']['getBoundingClientRect']();i=k['width'],j=k['height'];}else i=f,j=g;var l=c['innerWidth']=i,m=c['innerHeight']=j,n=c['screen']={'width':i,'height':j,'availWidth':l,'availHeight':m,'availLeft':0x0,'availTop':0x0},o=c['performance']={'now':Date['now']},p=c['ontouchstart']=null,q=c['ontouchmove']=null,r=c['ontouchend']=null;},{}],0x13:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./EventTarget.js'));function e(B){return B&&B['__esModule']?B:{'default':B};}function f(B){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(C){return typeof C;}:function(C){return C&&'function'==typeof Symbol&&C['constructor']===Symbol&&C!==Symbol['prototype']?'symbol':typeof C;},f(B);}function g(B,C){if(!(B instanceof C))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(B,C){for(var D=0x0;D0x1?C-0x1:0x0),E=0x1;E0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==C['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var L=my['request']({'data':K,'url':t['get'](this),'method':u['get'](this),'headers':v['get'](this),'dataType':'other','responseType':this['responseType']==='arraybuffer'?'arraybuffer':'text','timeout':this['timeout']||undefined,'success':function M(N){var O=N['data'],P=N['status'],Q=N['headers'];J['status']=P,w['set'](J,Q),y['call'](J,'loadstart'),z['call'](J,C['HEADERS_RECEIVED']),z['call'](J,C['LOADING']);switch(J['responseType']){case'json':J['responseText']=O;try{J['response']=JSON['parse'](O);}catch(U){J['response']=null;}break;case'':case'text':J['responseText']=J['response']=O;break;case'arraybuffer':J['response']=O,J['responseText']='';var R=new Uint8Array(O),S=R['byteLength'];for(var T=0x0;T0x0)for(var y=x['length'];y--;y>0x0){if(x[y]===w){x['splice'](y,0x1);break;}}},'dispatchEvent':function v(w){var x=l[w['type']];if(x)for(var y=0x0;y=p['length']?{'done':!0x0}:{'done':!0x1,'value':p[w++]};},'e':function D(E){throw E;},'f':x};}throw new TypeError('Invalid\x20attempt\x20to\x20iterate\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}var y,z=!0x0,A=!0x1;return{'s':function E(){v=v['call'](p);},'n':function G(){var H=v['next']();return z=H['done'],H;},'e':function H(I){A=!0x0,y=I;},'f':function I(){try{z||null==v['return']||v['return']();}finally{if(A)throw y;}}};}function e(p,q){if(p){if('string'==typeof p)return f(p,q);var s={}['toString']['call'](p)['slice'](0x8,-0x1);return'Object'===s&&p['constructor']&&(s=p['constructor']['name']),'Map'===s||'Set'===s?Array['from'](p):'Arguments'===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](s)?f(p,q):void 0x0;}}function f(p,q){(null==q||q>p['length'])&&(q=p['length']);for(var s=0x0,t=Array(q);sn;Object['assign'](j,{'startAccelerometer':function q(r){k=r,my['onAccelerometerChange']&&my['onAccelerometerChange'](i);},'stopAccelerometer':function r(){my['offAccelerometerChange']&&my['offAccelerometerChange'](i);}});}},{'./utils':0x1e}],0x1e:[function(a,b,c){'use strict';var d={'cloneMethod':function e(f,g,h,i){g[h]&&(i=i||h,f[i]=g[h]['bind'](g));},'encode':function f(g){var h='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',i=String(g),j='',k=0x0,l=void 0x0;while(i['charAt'](0x0|k)||(h='=',k%0x1)){k+=0.75;var m=i['charCodeAt'](k);if(m>0xff)throw new Error('\x22btoa\x22\x20failed');l=l<<0x8|m;var n=0x3f&l>>0x8-k%0x1*0x8;j+=h['charAt'](n);}return j;},'decode':function g(h){var j='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',k='',l=String(h)['replace'](/[=]+$/,''),m,n,p=0x0,q=0x0;while(n=l['charAt'](q)){q+=0x1,n=j['indexOf'](n),~n&&(m=p%0x4?0x40*m+n:n,p++%0x4&&(k+=String['fromCharCode'](0xff&m>>(-0x2*p&0x6))));}return k;},'arrayBufferToBase64':function h(i){return d['encode'](d['arrayBufferToString'](i));},'base64ToArrayBuffer':function i(j){return d['stringToArrayBuffer'](d['decode'](j));},'arrayBufferToString':function j(k){var l='',m=new Uint8Array(k),n=m['byteLength'];for(var o=0x0;o=z+A||z?new java['lang']['String'](y,z,A)+'':y;}function u(y,z){(y['currentElement']||y['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(y,z){var A=this['options'],B=new w(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},z=/\/x?html?$/['test'](z),G=z?v['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=((H,I,J)=>{if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;})(D,C,E),B['domBuilder']=A['domBuilder']||C,z&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',y?B['parse'](y,F,G):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new x()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(y,z,A,B){var C=this['doc'],D=C['createElementNS'](y,A||z),E=B['length'];u(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==ay&&'>')||('&'==ay?'&':'\x22'==ay&&'"')||'&#'+ay['charCodeAt']()+';';}function ab(ay,az){if(az(ay))return 0x1;if(ay=ay['firstChild'])do{if(ab(ay,az))return 0x1;}while(ay=ay['nextSibling']);}function ac(){}function ad(ay,az,aA){ay&&ay['_inc']++,'http://www.w3.org/2000/xmlns/'==aA['namespaceURI']&&delete az['_nsMap'][aA['prefix']?aA['localName']:''];}function ae(ay,az,aA){if(ay&&ay['_inc']){ay['_inc']++;var aB=az['childNodes'];if(aA)aB[aB['length']++]=aA;else{for(var aC=az['firstChild'],aD=0x0;aC;)aC=(aB[aD++]=aC)['nextSibling'];aB['length']=aD;}}}function af(ay,az){var aA=az['previousSibling'],aB=az['nextSibling'];return aA?aA['nextSibling']=aB:ay['firstChild']=aB,aB?aB['previousSibling']=aA:ay['lastChild']=aA,ae(ay['ownerDocument'],ay),az;}function ag(ay,az,aA){var aB=az['parentNode'];if(aB&&aB['removeChild'](az),0xb===az['nodeType']){var aC=az['firstChild'];if(null==aC)return az;var aD=az['lastChild'];}else aC=aD=az;aB=aA?aA['previousSibling']:ay['lastChild'];for(aC['previousSibling']=aB,aD['nextSibling']=aA,aB?aB['nextSibling']=aC:ay['firstChild']=aC,null==aA?ay['lastChild']=aD:aA['previousSibling']=aD;aC['parentNode']=ay,aC!==aD&&(aC=aC['nextSibling']););return ae(ay['ownerDocument']||ay,ay),0xb==az['nodeType']&&(az['firstChild']=az['lastChild']=null),az;}function ah(){this['_nsMap']={};}function ai(){}function aj(){}function ak(){}function al(){}function am(){}function an(){}function ao(){}function ap(){}function aq(){}function ar(){}function as(){}function at(){}function au(ay,az){var aA,aB=[],aC=0x9==this['nodeType']&&this['documentElement']||this,aD=aC['prefix'],aE=aC['namespaceURI'];return aw(this,aB,ay,az,aA=aE&&null==aD&&null==aC['lookupPrefix'](aE)?[{'namespace':aE,'prefix':null}]:aA),aB['join']('');}function av(ay,az,aA){var aB=ay['prefix']||'',aC=ay['namespaceURI'];if((aB||aC)&&('xml'!==aB||'http://www.w3.org/XML/1998/namespace'!==aC)&&'http://www.w3.org/2000/xmlns/'!=aC){for(var aD=aA['length'];aD--;){var aE=aA[aD];if(aE['prefix']==aB)return aE['namespace']!=aC;}return 0x1;}}function aw(ay,az,aA,aB,aC){if(aB){if(!(ay=aB(ay)))return;if('string'==typeof ay)return void az['push'](ay);}switch(ay['nodeType']){case 0x1:aC=aC||[];var aD=ay['attributes'],aE=aD['length'],aF=ay['firstChild'],aG=ay['tagName'];aA='http://www.w3.org/1999/xhtml'===ay['namespaceURI']||aA,az['push']('<',aG);for(var aH=0x0;aH'),aA&&/^script$/i['test'](aG)){for(;aF;)aF['data']?az['push'](aF['data']):aw(aF,az,aA,aB,aC),aF=aF['nextSibling'];}else{for(;aF;)aw(aF,az,aA,aB,aC),aF=aF['nextSibling'];}az['push']('');}else az['push']('/>');return;case 0x9:case 0xb:for(aF=ay['firstChild'];aF;)aw(aF,az,aA,aB,aC),aF=aF['nextSibling'];return;case 0x2:return az['push']('\x20',ay['name'],'=\x22',ay['value']['replace'](/[<&"]/g,aa),'\x22');case 0x3:return az['push'](ay['data']['replace'](/[<&]/g,aa));case 0x4:return az['push']('');case 0x8:return az['push']('');case 0xa:var aG=ay['publicId'],aL=ay['systemId'];return az['push']('')):aL&&'.'!=aL?az['push']('\x20SYSTEM\x20\x22',aL,'\x22>'):((aG=ay['internalSubset'])&&az['push']('\x20[',aG,']'),az['push']('>')));case 0x7:return az['push']('');case 0x5:return az['push']('&',ay['nodeName'],';');default:az['push']('??',ay['nodeName']);}}function ax(ay,az,aA){ay[az]=aA;}a0['prototype']=Error['prototype'],K(Y,a0),a1['prototype']={'length':0x0,'item':function(ay){return this[ay]||null;},'toString':function(ay,az){for(var aA=[],aB=0x0;aB','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(b,c,d){var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),j=0x0,l=0x1,m=0x2,q=0x3,s=0x4,u=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function C(G,J,K){for(var N=G['tagName'],O=null,P=G['length'];P--;){var Q=G[P],S=Q['qName'],T=Q['value'],S=0x0<(V=S['indexOf'](':'))?(U=Q['prefix']=S['slice'](0x0,V),W=S['slice'](V+0x1),'xmlns'===U&&W):(U=null,'xmlns'===(W=S)&&'');Q['localName']=W,!0x1!==S&&(null==O&&(O={},E(K,K={})),K[S]=O[S]=T,Q['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](S,T));}for(var U,P=G['length'];P--;)(U=(Q=G[P])['prefix'])&&('xml'===U&&(Q['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==U)&&(Q['uri']=K[U||'']);var V,W=0x0<(V=N['indexOf'](':'))?(U=G['prefix']=N['slice'](0x0,V),G['localName']=N['slice'](V+0x1)):(U=null,G['localName']=N),X=G['uri']=K[U||''];if(J['startElement'](X,W,N,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=O,0x1;if(J['endElement'](X,W,N),O){for(U in O)J['endPrefixMapping'](U);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var N=this['domBuilder'];N['startDocument'](),E(J,J={}),((Q,U,V,W,X)=>{function Y(an){var ao=an['slice'](0x1,-0x1);return ao in V?V[ao]:'#'===ao['charAt'](0x0)?0xffff<(ao=parseInt(ao['substr'](0x1)['replace']('x','0x')))?(ao-=0x10000,String['fromCharCode'](0xd800+(ao>>0xa),0xdc00+(0x3ff&ao))):String['fromCharCode'](ao):(X['error']('entity\x20not\x20found:'+an),an);}function Z(an){var ao;a7',aa+0x3),ac=Q['substring'](aa+0x2,ab),ad=a5['pop'](),ae=(ab<0x0?(ac=Q['substring'](aa+0x2)['replace'](/[\s<].*/,''),X['error']('end\x20tag\x20name:\x20'+ac+'\x20is\x20not\x20complete:'+ad['tagName']),ab=aa+0x1+ac['length']):ac['match'](/\s{var aq=an['indexOf']('?>',ao);if(aq){an=an['substring'](ao,aq)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(an)return an[0x0]['length'],ap['processingInstruction'](an[0x1],an[0x2]),aq+0x2;}return-0x1;})(Q,aa,W);break;case'!':a4&&a0(aa),ab=((an,ao,ap,aq)=>{var ar,as;return'-'===an['charAt'](ao+0x2)?'-'===an['charAt'](ao+0x3)?(as=an['indexOf']('-->',ao+0x4),ao',ao+0x9),ap['startCDATA'](),ap['characters'](an,ao+0x9,as-ao-0x9),ap['endCDATA'](),as+0x3):0x1<(as=(aq=((at,au)=>{var av,aw=[],ax=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(ax['lastIndex']=au,ax['exec'](at);av=ax['exec'](at);)if(aw['push'](av),av[0x1])return aw;})(an,ao))['length'])&&/!doctype/i['test'](aq[0x0][0x0])?(an=aq[0x1][0x0],ao=0x3{for(var at,au=++ao,av=j;;){var aw=an['charAt'](au);switch(aw){case'=':if(av===l)at=an['slice'](ao,au);else{if(av!==m)throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}av=q;break;case'\x27':case'\x22':if(av===q||av===l){if(av===l&&(as['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),at=an['slice'](ao,au)),ao=au+0x1,!(0x0<(au=an['indexOf'](aw,ao))))throw new Error('attribute\x20value\x20no\x20end\x20\x27'+aw+'\x27\x20match');ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar),ap['add'](at,ax,ao-0x1);}else{if(av!=s)throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar),ap['add'](at,ax,ao),as['warning']('attribute\x20\x22'+at+'\x22\x20missed\x20start\x20quot('+aw+')!!'),ao=au+0x1;}av=u;break;case'/':switch(av){case j:ap['setTagName'](an['slice'](ao,au));case u:case v:case w:av=w,ap['closed']=!0x0;case s:case l:case m:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':return as['error']('unexpected\x20end\x20of\x20input'),av==j&&ap['setTagName'](an['slice'](ao,au)),au;case'>':switch(av){case j:ap['setTagName'](an['slice'](ao,au));case u:case v:case w:break;case s:case l:'/'===(ax=an['slice'](ao,au))['slice'](-0x1)&&(ap['closed']=!0x0,ax=ax['slice'](0x0,-0x1));case m:av===m&&(ax=at),av==s?(as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20quot(\x22)!!'),ap['add'](at,ax['replace'](/&#?\w+;/g,ar),ao)):('http://www.w3.org/1999/xhtml'===aq['']&&ax['match'](/^(?:disabled|checked|selected)$/i)||as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20value!!\x20\x22'+ax+'\x22\x20instead!!'),ap['add'](ax,ax,ao));break;case q:throw new Error('attribute\x20value\x20missed!!');}return au;case'\u0080':aw='\x20';default:if(aw<='\x20')switch(av){case j:ap['setTagName'](an['slice'](ao,au)),av=v;break;case l:at=an['slice'](ao,au),av=m;break;case s:var ax=an['slice'](ao,au)['replace'](/&#?\w+;/g,ar);as['warning']('attribute\x20\x22'+ax+'\x22\x20missed\x20quot(\x22)!!'),ap['add'](at,ax,ao);case u:av=v;}else switch(av){case m:ap['tagName'],('http://www.w3.org/1999/xhtml'===aq['']&&at['match'](/^(?:disabled|checked|selected)$/i)||as['warning']('attribute\x20\x22'+at+'\x22\x20missed\x20value!!\x20\x22'+at+'\x22\x20instead2!!'),ap['add'](at,at,ao),ao=au,av=l);break;case u:as['warning']('attribute\x20space\x20is\x20required\x22'+at+'\x22!!');case v:av=l,ao=au;break;case q:av=s,ao=au;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}au++;}})(Q,aa,ah,ai,Y,X),aj=ah['length'];if(!ah['closed']&&((an,ao,ap,aq)=>{var ar=aq[ap];return null==ar&&((ar=an['lastIndexOf']('')){if(/^(?:script|textarea)$/i['test'](ap)){var as=an['indexOf']('',ao),an=an['substring'](ao+0x1,as);if(/[&<]/['test'](an))return/^script$/i['test'](ap)?ar['characters'](an,0x0,an['length']):(an=an['replace'](/&#?\w+;/g,aq),ar['characters'](an,0x0,an['length'])),as;}return ao+0x1;})(Q,ab,ah['tagName'],Y,W);}}catch(an){X['error']('element\x20parse\x20error:\x20'+an),ab=-0x1;}a7(C=((D,E)=>{if('object'!=h(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=h(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==h(C)?C:C+''))(B['key']),B);}}function k(y,z,A){z=q(z);var B=y,z=m()?Reflect['construct'](z,A||[],q(y)['constructor']):z['apply'](y,A);if(!z||'object'!=h(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function m(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(m=function(){return!!y;})();}function p(){return(p='undefined'!=typeof Reflect&&Reflect['get']?Reflect['get']['bind']():function(y,z,A){var B=((C,D)=>{for(;!{}['hasOwnProperty']['call'](C,D)&&null!==(C=q(C)););return C;})(y,z);if(B)return(B=Object['getOwnPropertyDescriptor'](B,z))['get']?B['get']['call'](arguments['length']<0x3?y:A):B['value'];})['apply'](null,arguments);}function q(y){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function v(y,z){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}var w=0x1,x={};g['default']=(y=>{function z(C){var D;if(!(this instanceof z))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');(D=k(this,z))['_$sn']=w++,D['HAVE_NOTHING']=0x0,D['HAVE_METADATA']=0x1,D['HAVE_CURRENT_DATA']=0x2,D['HAVE_FUTURE_DATA']=0x3,D['HAVE_ENOUGH_DATA']=0x4,D['readyState']=0x0;var E=my['createInnerAudioContext']();return x[D['_$sn']]=E,D['_canplayEvents']=['load','loadend','canplay','canplaythrough','loadedmetadata'],E['onCanplay'](function(){D['_loaded']=!0x0,D['readyState']=D['HAVE_CURRENT_DATA'],D['_canplayEvents']['forEach'](function(F){D['dispatchEvent']({'type':F});});}),E['onPlay'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'play'});}),E['onPause'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'pause'});}),E['onEnded'](function(){D['_paused']=x[D['_$sn']]['paused'],!0x1===x[D['_$sn']]['loop']&&D['dispatchEvent']({'type':'ended'}),D['readyState']=0x4;}),E['onError'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'error'});}),C?D['src']=C:D['_src']='',D['_loop']=E['loop'],D['_autoplay']=E['autoplay'],D['_paused']=E['paused'],D['_volume']=E['volume'],D['_muted']=!0x1,D;}var A,B=z;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),y&&v(B,y),B=z,(y=[{'key':'addEventListener','value':function(C,D){var E,F,G,H,I,J=0x2{if('object'!=h(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=h(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==h(x)?x:x+'';}g['default']=(x=>{function y(){var C;if(this instanceof y)return v(C=k(this,y),'className',''),v(C,'children',[]),C;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var z,A,B=y;if('function'!=typeof x&&null!==x)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](x&&x['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),x&&q(B,x),B=y,z&&j(B['prototype'],z),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})(b['default']);},{'./Node':0xf}],0x8:[function(b,c,d){function f(j){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(k){return typeof k;}:function(k){return k&&'function'==typeof Symbol&&k['constructor']===Symbol&&k!==Symbol['prototype']?'symbol':typeof k;})(j);}function g(j,k){for(var l=0x0;l(p=((q,s)=>{if('object'!=f(q)||!q)return q;var u=q[Symbol['toPrimitive']];if(void 0x0===u)return('string'===s?String:Number)(q);if('object'!=f(u=u['call'](q,s||'default')))return u;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==f(p)?p:p+''))(m['key']),m);}}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var h=new WeakMap();d['default']=((()=>{function j(){if(!(this instanceof j))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');h['set'](this,{});}return k=j,(l=[{'key':'addEventListener','value':function(p,q){var s=0x2(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['audio']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLElement':0xb}],0xa:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0;var d=my['createOffscreenCanvas']()['constructor'];c['default']=d;},{}],0xb:[function(b,g,h){Object['defineProperty'](h,'__esModule',{'value':!0x0}),h['default']=void 0x0;var j=(j=b('./Element'))&&j['__esModule']?j:{'default':j},k=b('./util/index.js'),m=b('./WindowProperties');function q(C){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(D){return typeof D;}:function(D){return D&&'function'==typeof Symbol&&D['constructor']===Symbol&&D!==Symbol['prototype']?'symbol':typeof D;})(C);}function v(C,D){for(var E=0x0;E{if('object'!=q(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=q(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==q(C)?C:C+'';}h['default']=(C=>{function D(){var G=0x0(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0xf:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./EventTarget.js'))&&b['__esModule']?b:{'default':b};function g(s){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;})(s);}function h(s,v){for(var w=0x0;w{if('object'!=g(v)||!v)return v;var x=v[Symbol['toPrimitive']];if(void 0x0===x)return('string'===w?String:Number)(v);if('object'!=g(x=x['call'](v,w||'default')))return x;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(s,'string'),'symbol'==g(s)?s:s+'';}f['default']=(s=>{function v(){var y,z,A,B;if(this instanceof v)return y=j(this,v),z=y,B=[],(A=q(A='childNodes'))in z?Object['defineProperty'](z,A,{'value':B,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):z[A]=B,y;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v;if('function'!=typeof s&&null!==s)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](s&&s['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),s&&p(x,s),x=v,(s=[{'key':'appendChild','value':function(y){this['childNodes']['push'](y);}},{'key':'cloneNode','value':function(){var y=Object['create'](this);return Object['assign'](y,this),y;}},{'key':'removeChild','value':function(y){var z=this['childNodes']['findIndex'](function(A){return A===y;});return-0x1(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x11:[function(b,d,f){function g(p){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(q){return typeof q;}:function(q){return q&&'function'==typeof Symbol&&q['constructor']===Symbol&&q!==Symbol['prototype']?'symbol':typeof q;})(p);}function h(p,q){for(var s=0x0;s{if('object'!=g(q)||!q)return q;var v=q[Symbol['toPrimitive']];if(void 0x0===v)return('string'===s?String:Number)(q);if('object'!=g(v=v['call'](q,s||'default')))return v;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==g(p)?p:p+'';}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var l=b('../utils'),m=0x0,b=f['default']=((()=>{function p(w){var x=this,y=this,z=p;if(!(y instanceof z))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');if(j(this,'binaryType',''),j(this,'bufferedAmount',0x0),j(this,'extensions',''),j(this,'onopen',null),j(this,'onmessage',null),j(this,'onerror',null),j(this,'onclose',null),j(this,'_onMessage',null),j(this,'_onOpen',null),j(this,'_onError',null),j(this,'_onClose',null),j(this,'_isReduced',!0x1),j(this,'protocol',''),j(this,'readyState',0x3),this['_isMaxCount']())console['warn']('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20Only\x20'['concat'](m,'\x20WebSocket\x20can\x20be\x20created\x20at\x20the\x20same\x20time\x20on\x20TaoBao.'));else{if('string'!=typeof w||!/(^ws:\/\/)|(^wss:\/\/)/['test'](w))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](w,'\x27\x20is\x20invalid'));this['url']=w,this['readyState']=p['CONNECTING'],this['_increaseCount'](),my['connectSocket']({'url':w,'fail':function(A){this['_triggerEvent']('error',A);}}),this['_onOpen']=function(A){x['readyState']=p['OPEN'],x['_triggerEvent']('open');},my['onSocketOpen'](this['_onOpen']),this['_onMessage']=function(A){A&&A['data']&&A['isBuffer']&&(A['data']=l['base64ToArrayBuffer'](A['data'])),x['_triggerEvent']('message',A);},my['onSocketMessage'](this['_onMessage']),this['_onError']=function(A){x['_triggerEvent']('error',A),x['_decreaseCount']();},my['onSocketError'](this['_onError']),this['_onClose']=function(A){x['readyState']=p['CLOSED'],x['_triggerEvent']('close'),x['_removeAllSocketListenr'](),x['_decreaseCount']();},my['onSocketClose'](this['_onClose']);}return this;}return q=p,(s=[{'key':'close','value':function(){this['readyState']=p['CLOSING'],my['closeSocket']();}},{'key':'send','value':function(w){if(!('string'==typeof w||w instanceof ArrayBuffer||ArrayBuffer['isView'](w)))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](w,'\x20is\x20invalid'));var x=!0x1;w instanceof ArrayBuffer&&(w=l['arrayBufferToBase64'](w),x=!0x0),my['sendSocketMessage']({'data':w,'isBuffer':x,'fail':function(y){this['_triggerEvent']('error',y);}});}},{'key':'_triggerEvent','value':function(w){if('function'==typeof this['on'['concat'](w)]){for(var x=arguments['length'],y=new Array(0x1{if('object'!=q(L)||!L)return L;var N=L[Symbol['toPrimitive']];if(void 0x0===N)return('string'===M?String:Number)(L);if('object'!=q(N=N['call'](L,M||'default')))return N;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(K,'string'),'symbol'==q(K)?K:K+'';}var D=new WeakMap(),E=new WeakMap(),F=new WeakMap(),G=new WeakMap(),H=new WeakMap();function I(K){if('function'==typeof this['on'['concat'](K)]){for(var L=arguments['length'],M=new Array(0x1{function L(){var O;if(this instanceof L)return B(O=w(this,L),'timeout',0x0),B(O,'onabort',null),B(O,'onerror',null),B(O,'onload',null),B(O,'onloadstart',null),B(O,'onprogress',null),B(O,'ontimeout',null),B(O,'onloadend',null),B(O,'onreadystatechange',null),B(O,'readyState',0x0),B(O,'response',null),B(O,'responseText',null),B(O,'responseType',''),B(O,'responseXML',null),B(O,'status',0x0),B(O,'statusText',''),B(O,'upload',{}),B(O,'withCredentials',!0x1),F['set'](O,{'content-type':'application/json'}),G['set'](O,{}),O;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var M,N=L;if('function'!=typeof K&&null!==K)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return N['prototype']=Object['create'](K&&K['prototype'],{'constructor':{'value':N,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](N,'prototype',{'writable':!0x1}),K&&A(N,K),N=L,(K=[{'key':'abort','value':function(){var O=H['get'](this);O&&O['abort']();}},{'key':'getAllResponseHeaders','value':function(){var O=G['get'](this);return Object['keys'](O)['map'](function(P){return''['concat'](P,':\x20')['concat'](O[P]);})['join']('\x0a');}},{'key':'getResponseHeader','value':function(O){return G['get'](this)[O];}},{'key':'open','value':function(O,P){E['set'](this,O),D['set'](this,P),J['call'](this,L['OPENED']);}},{'key':'overrideMimeType','value':function(){}},{'key':'send','value':function(){var O=this,P=0x0{var F;if(D)return'string'==typeof D?h(D,E):'Map'===(F='Object'===(F={}['toString']['call'](D)['slice'](0x8,-0x1))&&D['constructor']?D['constructor']['name']:F)||'Set'===F?Array['from'](D):'Arguments'===F||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](F)?h(D,E):void 0x0;})(w))||x&&w&&'number'==typeof w['length'])return C&&(w=C),B=0x0,{'s':x=function(){},'n':function(){return B>=w['length']?{'done':!0x0}:{'done':!0x1,'value':w[B++]};},'e':function(D){throw D;},'f':x};throw new TypeError('Invalid\x20attempt\x20to\x20iterate\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function h(w,x){(null==x||x>w['length'])&&(x=w['length']);for(var y=0x0,z=Array(x);y>0x8-k%0x1*0x8);}return j;},'decode':function(f){for(var g,h,j='',k=String(f)['replace'](/[=]+$/,''),l=0x0,m=0x0;h=k['charAt'](m);)m+=0x1,~(h='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='['indexOf'](h))&&(g=l%0x4?0x40*g+h:h,l++%0x4)&&(j+=String['fromCharCode'](0xff&g>>(-0x2*l&0x6)));return j;},'arrayBufferToBase64':function(f){return d['encode'](d['arrayBufferToString'](f));},'base64ToArrayBuffer':function(f){return d['stringToArrayBuffer'](d['decode'](f));},'arrayBufferToString':function(f){for(var g='',h=new Uint8Array(f),i=h['byteLength'],j=0x0;j0x0?setTimeout(N,J['deleteInterval']):u=![];}setTimeout(N,J['deleteInterval']);});},'removeCache':function I(J){if(this['cachedFiles']['has'](J)){var K=this,L=this['cachedFiles']['remove'](J)['url'];clearTimeout(q),q=null,this['writeCacheFile'](function(){K['_removePathOrFile'](J,L);});}},'_removePathOrFile':function J(K,L){this['_isZipFile'](K)?this['_isZipFile'](L)?l(L,this['_deleteFileCB']['bind'](this)):(m(L,!![]),this['_deleteFileCB']()):l(L,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function K(L){if(!L)this['outOfStorage']=![];},'makeBundleFolder':function L(M){g(''['concat'](this['cacheDir'],'/')['concat'](M),!![]);},'unzipAndCacheBundle':function M(N,O,P,Q){var R=Date['now']()['toString'](),S=''['concat'](this['cacheDir'],'/')['concat'](P,'/')['concat'](R)['concat'](v++),T=this;g(S,!![]),n(O,S,function(U){if(U){m(S,!![]);o(U['message'])&&(T['outOfStorage']=!![],T['autoClear']&&T['clearLRU']());Q&&Q(U);return;}T['cachedFiles']['add'](N,{'bundle':P,'url':S,'lastTime':R}),T['writeCacheFile'](),Q&&Q(null,S);});},'_isZipFile':function N(O){return O['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=x;},{}],0x4:[function(a,b,c){'use strict';a('./Editbox'),a('./AssetManager');},{'./AssetManager':0x1,'./Editbox':0x2}],0x5:[function(a,b,c){'use strict';function d(w){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(x){return typeof x;}:function(x){return x&&'function'==typeof Symbol&&x['constructor']===Symbol&&x!==Symbol['prototype']?'symbol':typeof x;},d(w);}function e(w,x){if(!(w instanceof x))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(w,x){for(var y=0x0;yd['maxFrameSize']||g>d['maxFrameSize']){this['_packable']=![];return;}e['image']&&e['image']['getContext']&&(this['_packable']=!![]);});},{}]},{},[0x6])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/engine-adapter.min.js +deleted file mode 100644 +index f5979b8..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function i(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],i,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{var at=!0x1,au=!0x1;return!ar['startsWith'](V())&&X['test'](ar)?as['reload']||((as=G['cachedFiles']['get'](ar))?(au=!0x0,ar=as['url']):(as=G['tempFiles']['get'](ar))&&(at=!0x0,ar=as)):at=!0x0,{'url':ar,'inLocal':at,'inCache':au};})(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):L(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a5(al,am,an){Q(al,an);}function a6(al,am,an){N(al,an);}function a7(al,am,an){R(al,an);}function a8(al,am,an){a4(al,a7,am,am['onFileProgress'],an);}function a9(al,am,an){an(null,__globalAdapter['loadFont'](al)||'Arial');}function aa(al,am,an){W(al,function(ao){ao?an(null,al):an(new Error('file\x20'['concat'](al,'\x20does\x20not\x20exist!')));});}function ab(al,am,an){a4(al,aa,am,am['onFileProgress'],an);}a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']&&(j=globalThis['__taobaoRequire']);function ac(al,am,an){Q(al,function(ao,ap){ao?an(ao):ag(ap,am,an);});}function ad(al,am,an){Q(al,function(ao,ap){ao?an(ao):ah(ap,am,an);});}function ae(al,am,an){Q(al,function(ao,ap){ao?an(ao):ai(ap,am,an);});}function af(al,am,an){N(al,function(ao,ap){ao?an(ao):aj(ap,am,an);});}var ag=H['parsePVRTex'],ah=H['parsePKMTex'],ai=H['parseASTCTex'],aj=H['parsePlist'];Y['downloadScript']=a2,Y['_downloadArrayBuffer']=function(al,am,an){a4(al,a5,am,am['onFileProgress'],an);},Y['_downloadJson']=a8,H['parsePVRTex']=ac,H['parsePKMTex']=ad,H['parseASTCTex']=ae,H['parsePlist']=af,Y['register']({'.js':a2,'.mp3':ab,'.ogg':ab,'.wav':ab,'.m4a':ab,'.png':ab,'.jpg':ab,'.bmp':ab,'.jpeg':ab,'.gif':ab,'.ico':ab,'.tiff':ab,'.image':ab,'.webp':ab,'.pvr':ab,'.pkm':ab,'.astc':ab,'.font':ab,'.eot':ab,'.ttf':ab,'.woff':ab,'.svg':ab,'.ttc':ab,'.txt':ab,'.xml':ab,'.vsh':ab,'.fsh':ab,'.atlas':ab,'.tmx':ab,'.tsx':ab,'.plist':ab,'.fnt':ab,'.json':a8,'.ExportJson':ab,'.binary':ab,'.bin':ab,'.dbbin':ab,'.skel':ab,'.mp4':ab,'.avi':ab,'.mov':ab,'.mpg':ab,'.mpeg':ab,'.rm':ab,'.rmvb':ab,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';a0[ar]?(ao=(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?'':'subpackages/')['concat'](ar,'/config.')['concat'](as,'json'),U(ar,am['onFileProgress'],function(at){at?an(at,null):a8(ao,am,function(au,av){var aw;(aw=av)&&(a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?aw['base']=''['concat'](ar,'/'):aw['base']='subpackages/'['concat'](ar,'/')),an(au,av);});})):(X['test'](al)||al['startsWith'](V())?(aq=al,ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==Y['remoteBundles']['indexOf'](ar)?(aq=''['concat'](Y['remoteServerAddress'],'remote/')['concat'](ar),ap='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(aq='assets/'['concat'](ar),ap='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a1['platform']===a1['Platform']['TAOBAO_MINI_GAME']?j(ap):a1['platform']!==a1['Platform']['TAOBAO_CREATIVE_APP']&&j('./'['concat'](ap)),am['__cacheBundleRoot__']=ar,a8(''['concat'](aq,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](aq,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),a1['platform']===a1['Platform']['ALIPAY_MINI_GAME']&&a1['os']===a1['OS']['ANDROID']&&(ay=''['concat'](az,'res/'),J['accessSync']({'path':ay})['success'])&&(au['base']=ay),an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):X['test'](av)?L(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](aq,'/'),an&&an(null,au));}));},'default':function(al,am,an){a4(al,a6,am,am['onFileProgress'],an);}}),H['register']({'.png':Y['downloadDomImage'],'.jpg':Y['downloadDomImage'],'.bmp':Y['downloadDomImage'],'.jpeg':Y['downloadDomImage'],'.gif':Y['downloadDomImage'],'.ico':Y['downloadDomImage'],'.tiff':Y['downloadDomImage'],'.image':Y['downloadDomImage'],'.webp':Y['downloadDomImage'],'.pvr':ac,'.pkm':ad,'.astc':ae,'.font':a9,'.eot':a9,'.ttf':a9,'.woff':a9,'.svg':a9,'.ttc':a9,'.mp3':a3,'.ogg':a3,'.wav':a3,'.m4a':a3,'.txt':a6,'.xml':a6,'.vsh':a6,'.fsh':a6,'.atlas':a6,'.tmx':a6,'.tsx':a6,'.fnt':a6,'.plist':af,'.binary':a5,'.bin':a5,'.dbbin':a5,'.skel':a5,'.ExportJson':a7}),cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';default:return'done';}})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){__globalAdapter['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x3:[function(j,k,q){var x=window['fsUtils'],z=x['getUserDataPath'],A=x['readJsonSync'],B=x['makeDirSync'],C=x['writeFileSync'],D=x['writeFile'],F=x['copyFile'],G=x['downloadFile'],H=x['deleteFile'],I=x['rmdirSync'],J=x['unzip'],K=x['isOutOfStorage'],L=!0x1,M=null,N=!0x1,O=[],P=[],Q=!0x1,R=0x0,S=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=k['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(T){return this['cachedFiles']['has'](T)?this['cachedFiles']['get'](T)['url']:'';},'getTemp':function(T){return this['tempFiles']['has'](T)?this['tempFiles']['get'](T):'';},'init':function(){this['cacheDir']=''['concat'](z(),'/')['concat'](this['cacheDir']);var T=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),U=A(T);U instanceof Error||!U['version']?(U instanceof Error||I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),C(T,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](U['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(T){this['cachedFiles']['has'](T)&&(this['cachedFiles']['get'](T)['lastTime']=Date['now']());},'_write':function(){N=!(M=null),D(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8',function(){N=!0x1;for(var T=0x0,U=P['length'];T{var Y=V['cacheQueue'][X],Z=Y['srcUrl'],a0=Y['isCopy'],a1=Y['cacheBundleRoot'],a2=Date['now']()['toString'](),a3='';function a4(a5){if(L=!0x1,a5){if(K(a5['message']))return W['outOfStorage']=!0x0,void(W['autoClear']&&W['clearLRU']());}else W['cachedFiles']['add'](X,{'bundle':a1,'url':a3,'lastTime':a2}),delete W['cacheQueue'][X],W['writeCacheFile']();cc['js']['isEmptyObject'](W['cacheQueue'])||(L=!0x0,setTimeout(W['_cache']['bind'](W),W['cacheInterval']));}return a3=(a1?''['concat'](V['cacheDir'],'/')['concat'](a1,'/'):''['concat'](V['cacheDir'],'/'))['concat'](a2)['concat'](R++)['concat'](cc['path']['extname'](X)),a0?F(Z,a3,a4):G(Z,a3,null,a4),{'v':void 0x0};})(U))return T['v'];L=!0x1;},'cacheFile':function(T,U,V,W,X){!(V=void 0x0!==V?V:this['cacheEnabled'])||this['cacheQueue'][T]||this['cachedFiles']['has'](T)||(this['cacheQueue'][T]={'srcUrl':U,'cacheBundleRoot':W,'isCopy':X},L)||(L=!0x0,this['outOfStorage']?L=!0x1:setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var T=this,U=(I(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),B(this['cacheDir'],!0x0),this['cacheDir']+'/'+this['cachedFileName']);this['outOfStorage']=!0x1,clearTimeout(M),M=null,C(U,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8'),cc['assetManager']['bundles']['forEach'](function(V){S['test'](V['base'])&&T['makeBundleFolder'](V['name']);});},'clearLRU':function(){if(!Q){Q=!0x0;var T=[],U=this;this['cachedFiles']['forEach'](function(Y,Z){U['_isZipFile'](Z)&&cc['assetManager']['bundles']['find'](function(a0){return-0x1!==a0['base']['indexOf'](Y['url']);})||T['push']({'originUrl':Z,'url':Y['url'],'lastTime':Y['lastTime']});}),T['sort'](function(Y,Z){return Y['lastTime']-Z['lastTime'];}),T['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):T['length']=Math['floor'](T['length']/0x3);for(var V=0x0,W=T['length'];V(I=((J,K)=>{if('object'!=k(J)||!J)return J;var L=J[Symbol['toPrimitive']];if(void 0x0===L)return('string'===K?String:Number)(J);if('object'!=k(L=L['call'](J,K||'default')))return L;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(I,'string'),'symbol'==k(I)?I:I+''))(H['key']),H);}}function q(E,F,G){F=w(F);var H=E,F=v()?Reflect['construct'](F,G||[],w(E)['constructor']):F['apply'](E,G);if(!F||'object'!=k(F)&&'function'!=typeof F){if(void 0x0!==F)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(F=H))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return F;}function v(){try{var E=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(F){}return(v=function(){return!!E;})();}function w(E){return(w=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(F){return F['__proto__']||Object['getPrototypeOf'](F);})(E);}function x(E,F){return(x=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(G,H){return G['__proto__']=H,G;})(E,F);}var y,z,A,B,C,D;cc['internal']['VideoPlayer']&&(y=cc['internal']['VideoPlayer']['EventType'],z=cc['mat4'](),A=new cc['Vec3'](),B=new cc['Vec3'](),C=wx['getSystemInfoSync']()['pixelRatio'],cc['internal']['VideoPlayerImplManager']['getImpl']=function(E){return new D(E);},D=(E=>{function F(I){if(this instanceof F)return q(this,F,[I]);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var G,H=F;if('function'!=typeof E&&null!==E)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return H['prototype']=Object['create'](E&&E['prototype'],{'constructor':{'value':H,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](H,'prototype',{'writable':!0x1}),E&&x(H,E),H=F,(E=[{'key':'syncClip','value':function(I){this['removeVideoPlayer'](),I&&this['createVideoPlayer'](I['_nativeAsset']);}},{'key':'syncURL','value':function(I){this['removeVideoPlayer'](),I&&this['createVideoPlayer'](I);}},{'key':'onCanplay','value':function(){this['_loaded']||(this['_loaded']=!0x0,this['setVisible'](this['_visible']),this['dispatchEvent'](y['READY_TO_PLAY']),this['delayedPlay']());}},{'key':'_bindEvent','value':function(){var I=this['_video'],J=this;I&&(I['onPlay'](function(){J['_video']===I&&(J['_playing']=!0x0,J['dispatchEvent'](y['PLAYING']));}),I['onEnded'](function(){J['_video']===I&&(J['_playing']=!0x1,J['_currentTime']=J['_duration'],J['dispatchEvent'](y['COMPLETED']));}),I['onPause'](function(){J['_video']===I&&(J['_playing']=!0x1,J['dispatchEvent'](y['PAUSED']));}),I['onTimeUpdate'](function(K){J['_duration']=K['duration'],J['_currentTime']=K['position'];}));}},{'key':'_unbindEvent','value':function(){var I=this['_video'];I&&(I['offPlay'](),I['offEnded'](),I['offPause'](),I['offTimeUpdate']());}},{'key':'createVideoPlayer','value':function(I){__globalAdapter['createVideo']?(this['_video']||(this['_video']=__globalAdapter['createVideo'](),this['_video']['showCenterPlayBtn']=!0x1,this['_video']['controls']=!0x1,this['_duration']=0x0,this['_currentTime']=0x0,this['_loaded']=!0x1,this['setVisible'](this['_visible']),this['_bindEvent'](),this['_forceUpdate']=!0x0),this['setURL'](I),this['_forceUpdate']=!0x0):console['warn']('VideoPlayer\x20not\x20supported');}},{'key':'setURL','value':function(I){var J,K=this['_video'];K&&K['src']!==I&&(K['stop'](),this['_unbindEvent'](),K['autoplay']=!0x0,K['src']=I,K['muted']=!0x0,(J=this)['_loaded']=!0x1,K['onPlay'](function(){K['offPlay'](),J['_bindEvent'](),K['stop'](),K['muted']=!0x1,J['_loaded']=!0x0,J['_playing']=!0x1,J['_currentTime']=0x0,J['dispatchEvent'](y['READY_TO_PLAY']),K['autoplay']=!0x1;}));}},{'key':'removeVideoPlayer','value':function(){var I=this['video'];I&&(I['stop'](),I['destroy'](),this['_playing']=!0x1,this['_loaded']=!0x1,this['_loadedMeta']=!0x1,this['_ignorePause']=!0x1,this['_cachedCurrentTime']=0x0,this['_video']=null);}},{'key':'setVisible','value':function(I){var J=this['_video'];J&&this['_visible']!==I&&(J['width']=I&&this['_actualWidth']||0x0,this['_visible']=I);}},{'key':'getDuration','value':function(){return this['duration']();}},{'key':'duration','value':function(){return this['_duration'];}},{'key':'syncPlaybackRate','value':function(I){var J=this['_video'];J&&I!==J['playbackRate']&&(0.5===I|0.8===I|0x1===I|1.25===I|1.5===I?J['playbackRate']=I:console['warn']('The\x20platform\x20does\x20not\x20support\x20this\x20PlaybackRate!'));}},{'key':'syncVolume','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'syncMute','value':function(I){var J=this['_video'];J&&J['muted']!==I&&(J['muted']=I);}},{'key':'syncLoop','value':function(I){var J=this['_video'];J&&J['loop']!==I&&(J['loop']=I);}},{'key':'syncStayOnBottom','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'getCurrentTime','value':function(){return this['video']?this['currentTime']():-0x1;}},{'key':'currentTime','value':function(){return this['_currentTime'];}},{'key':'seekTo','value':function(I){var J=this['_video'];J&&this['_loaded']&&J['seek'](I);}},{'key':'disable','value':function(I){this['_video']&&(I||this['_video']['pause'](),this['setVisible'](!0x1),this['_visible']=!0x1);}},{'key':'enable','value':function(){this['_video']&&(this['setVisible'](!0x0),this['_visible']=!0x0);}},{'key':'canPlay','value':function(){this['_video']['play'](),this['syncCurrentTime']();}},{'key':'resume','value':function(){var I=this['_video'];!this['_playing']&&I&&I['play']();}},{'key':'pause','value':function(){var I=this['_video'];this['_playing']&&I&&I['pause']();}},{'key':'stop','value':function(){var I=this,J=this['_video'];J&&this['_visible']&&(this['_playing']||J['play'](),J['stop']()['then'](function(K){K['errMsg']&&!K['errMsg']['includes']('ok')?console['error']('failed\x20to\x20stop\x20video\x20player'):(I['_currentTime']=0x0,I['_playing']=!0x1,I['dispatchEvent'](y['STOPPED']));}));}},{'key':'canFullScreen','value':function(I){this['_video']&&this['setFullScreenEnabled'](I);}},{'key':'setFullScreenEnabled','value':function(I){var J=this['_video'];J&&this['_fullScreenEnabled']!==I&&(I?J['requestFullScreen']():J['exitFullScreen'](),this['_fullScreenEnabled']=I);}},{'key':'syncKeepAspectRatio','value':function(I){console['warn']('On\x20wechat\x20game\x20videoPlayer\x20is\x20always\x20keep\x20the\x20aspect\x20ratio');}},{'key':'syncMatrix','value':function(){var I,J,K;this['_video']&&this['_component']&&this['_uiTrans']&&(K=this['UICamera'])&&(this['_component']['node']['getWorldMatrix'](z),I=(J=this['_uiTrans']['contentSize'])['width'],J=J['height'],!this['_forceUpdate']&&this['_m00']===z['m00']&&this['_m01']===z['m01']&&this['_m04']===z['m04']&&this['_m05']===z['m05']&&this['_m12']===z['m12']&&this['_m13']===z['m13']&&this['_w']===I&&this['_h']===J||(this['_m00']=z['m00'],this['_m01']=z['m01'],this['_m04']=z['m04'],this['_m05']=z['m05'],this['_m12']=z['m12'],this['_m13']=z['m13'],this['_w']=I,this['_h']=J,I=cc['game']['canvas']['height'],J=this['_uiTrans']['anchorPoint'],cc['Vec3']['set'](A,-J['x']*this['_w'],(0x1-J['y'])*this['_h'],0x0),cc['Vec3']['set'](B,(0x1-J['x'])*this['_w'],-J['y']*this['_h'],0x0),cc['Vec3']['transformMat4'](A,A,z),cc['Vec3']['transformMat4'](B,B,z),K['worldToScreen'](A,A),K['worldToScreen'](B,B),J=B['x']-A['x'],K=A['y']-B['y'],this['_video']['x']=A['x']/C,this['_video']['y']=(I-A['y'])/C,this['_actualWidth']=this['_video']['width']=J/C,this['_video']['height']=K/C,this['_forceUpdate']=!0x1));}}])&&m(H['prototype'],E),G&&m(H,G),Object['defineProperty'](H,'prototype',{'writable':!0x1}),H;})(cc['internal']['VideoPlayerImpl']));},{}],0x6:[function(a,b,c){a('../../../../common/engine/index'),a('./VideoPlayer'),a('./sprite-frame');},{'../../../../common/engine/index':0x4,'./VideoPlayer':0x5,'./sprite-frame':0x7}],0x7:[function(a,b,c){cc['SpriteFrame']&&(cc['SpriteFrame']['prototype']['_checkPackable']=function(){var d,f,g,h=cc['internal']['dynamicAtlasManager'];h&&(!((d=this['_texture'])instanceof cc['Texture2D'])||d['isCompressed']||(f=this['width'],g=this['height'],!d['image'])||f>h['maxFrameSize']||g>h['maxFrameSize']?this['_packable']=!0x1:d['image']&&d['image']['getContext']&&(this['_packable']=!0x0));});},{}]},{},[0x6]); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/cache-manager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/cache-manager.js +new file mode 100644 +index 0000000..b1f090d +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/cache-manager.js +@@ -0,0 +1 @@ ++'use strict';var _window$fsUtils=window['fsUtils'],getUserDataPath=_window$fsUtils['getUserDataPath'],readJsonSync=_window$fsUtils['readJsonSync'],makeDirSync=_window$fsUtils['makeDirSync'],writeFileSync=_window$fsUtils['writeFileSync'],copyFile=_window$fsUtils['copyFile'],downloadFile=_window$fsUtils['downloadFile'],deleteFile=_window$fsUtils['deleteFile'],rmdirSync=_window$fsUtils['rmdirSync'],unzip=_window$fsUtils['unzip'],isOutOfStorage=_window$fsUtils['isOutOfStorage'],checkNextPeriod=![],writeCacheFileList=null,cleaning=![],suffix=0x0,REGEX=/^https?:\/\/.*/,cacheManager={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!![],'autoClear':!![],'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':![],'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function getCache(a){return this['cachedFiles']['has'](a)?this['cachedFiles']['get'](a)['url']:'';},'getTemp':function getTemp(a){return this['tempFiles']['has'](a)?this['tempFiles']['get'](a):'';},'init':function init(){this['cacheDir']=getUserDataPath()+'/'+this['cacheDir'];var a=this['cacheDir']+'/'+this['cachedFileName'],b=readJsonSync(a);if(b instanceof Error||!b['version']){if(!(b instanceof Error))rmdirSync(this['cacheDir'],!![]);this['cachedFiles']=new cc['AssetManager']['Cache'](),makeDirSync(this['cacheDir'],!![]),writeFileSync(a,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');}else this['cachedFiles']=new cc['AssetManager']['Cache'](b['files']);this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function updateLastTime(a){if(this['cachedFiles']['has'](a)){var b=this['cachedFiles']['get'](a);b['lastTime']=Date['now']();}},'_write':function _write(){writeCacheFileList=null,writeFileSync(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');},'writeCacheFile':function writeCacheFile(){!writeCacheFileList&&(writeCacheFileList=setTimeout(this['_write']['bind'](this),this['writeFileInterval']));},'_cache':function _cache(){checkNextPeriod=![];var a=this,b='';for(var c in this['cacheQueue']){b=c;break;}if(!b)return;var d=this['cacheQueue'][b],e=d['srcUrl'],f=d['isCopy'],g=d['cacheBundleRoot'],h=Date['now']()['toString'](),i='';g?i=''['concat'](this['cacheDir'],'/')['concat'](g,'/')['concat'](h)['concat'](suffix++)['concat'](cc['path']['extname'](b)):i=''['concat'](this['cacheDir'],'/')['concat'](h)['concat'](suffix++)['concat'](cc['path']['extname'](b));function j(k){if(k){if(isOutOfStorage(k['message'])){a['outOfStorage']=!![],a['autoClear']&&a['clearLRU']();return;}}else a['cachedFiles']['add'](b,{'bundle':g,'url':i,'lastTime':h}),a['writeCacheFile']();delete a['cacheQueue'][b],!cc['js']['isEmptyObject'](a['cacheQueue'])&&!checkNextPeriod&&(checkNextPeriod=!![],setTimeout(a['_cache']['bind'](a),a['cacheInterval']));}!f?downloadFile(e,i,null,j):copyFile(e,i,j);},'cacheFile':function cacheFile(a,b,c,d,e){c=c!==undefined?c:this['cacheEnabled'];if(!c||this['cacheQueue'][a]||this['cachedFiles']['has'](a))return;this['cacheQueue'][a]={'srcUrl':b,'cacheBundleRoot':d,'isCopy':e},!checkNextPeriod&&!this['outOfStorage']&&(checkNextPeriod=!![],setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function clearCache(){var a=this;rmdirSync(this['cacheDir'],!![]),this['cachedFiles']=new cc['AssetManager']['Cache'](),makeDirSync(this['cacheDir'],!![]),this['outOfStorage']=![],clearTimeout(writeCacheFileList),this['_write'](),cc['assetManager']['bundles']['forEach'](function(b){if(REGEX['test'](b['base']))a['makeBundleFolder'](b['name']);});},'clearLRU':function clearLRU(){if(cleaning)return;cleaning=!![];var a=[],b=this;this['cachedFiles']['forEach'](function(f,g){if(b['_isZipFile'](g)&&cc['assetManager']['bundles']['find'](function(h){return h['base']['indexOf'](f['url'])!==-0x1;}))return;a['push']({'originUrl':g,'url':f['url'],'lastTime':f['lastTime']});}),a['sort'](function(f,g){return f['lastTime']-g['lastTime'];}),a['length']=Math['floor'](this['cachedFiles']['count']/0x3);if(a['length']===0x0)return;for(var c=0x0,d=a['length'];c0x0?setTimeout(e,b['deleteInterval']):cleaning=![];}setTimeout(e,b['deleteInterval']);},'removeCache':function removeCache(a){if(this['cachedFiles']['has'](a)){var b=this['cachedFiles']['remove'](a)['url'];clearTimeout(writeCacheFileList),this['_write'](),this['_isZipFile'](a)?(rmdirSync(b,!![]),this['_deleteFileCB']()):deleteFile(b,this['_deleteFileCB']['bind'](this));}},'_deleteFileCB':function _deleteFileCB(a){if(!a)this['outOfStorage']=![];},'makeBundleFolder':function makeBundleFolder(a){makeDirSync(this['cacheDir']+'/'+a,!![]);},'unzipAndCacheBundle':function unzipAndCacheBundle(a,b,c,d){var e=Date['now']()['toString'](),f=''['concat'](this['cacheDir'],'/')['concat'](c,'/')['concat'](e)['concat'](suffix++),g=this;makeDirSync(f,!![]),unzip(b,f,function(h){if(h){rmdirSync(f,!![]);isOutOfStorage(h['message'])&&(g['outOfStorage']=!![],g['autoClear']&&g['clearLRU']());d&&d(h);return;}g['cachedFiles']['add'](a,{'bundle':c,'url':f,'lastTime':e}),g['writeCacheFile'](),d&&d(null,f);});},'_isZipFile':function _isZipFile(a){return a['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=module['exports']=cacheManager; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/engine/AssetManager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/engine/AssetManager.js +new file mode 100644 +index 0000000..b6ad0d0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/engine/AssetManager.js +@@ -0,0 +1 @@ ++'use strict';var cacheManager=require('../cache-manager'),_window$fsUtils=window['fsUtils'],fs=_window$fsUtils['fs'],downloadFile=_window$fsUtils['downloadFile'],readText=_window$fsUtils['readText'],readArrayBuffer=_window$fsUtils['readArrayBuffer'],readJson=_window$fsUtils['readJson'],loadSubpackage=_window$fsUtils['loadSubpackage'],getUserDataPath=_window$fsUtils['getUserDataPath'],exists=_window$fsUtils['exists'],REGEX=/^https?:\/\/.*/,downloader=cc['assetManager']['downloader'],parser=cc['assetManager']['parser'],presets=cc['assetManager']['presets'];downloader['maxConcurrency']=0x8,downloader['maxRequestsPerFrame']=0x40,presets['scene']['maxConcurrency']=0xa,presets['scene']['maxRequestsPerFrame']=0x40;var subpackages={};function downloadScript(a,b,c){REGEX['test'](a)?c&&c(new Error('Can\x20not\x20load\x20remote\x20scripts')):(require('../../../'+a),c&&c(null));}function handleZip(a,b,c){var d=cacheManager['cachedFiles']['get'](a);if(d)cacheManager['updateLastTime'](a),c&&c(null,d['url']);else REGEX['test'](a)?downloadFile(a,null,b['header'],b['onFileProgress'],function(e,f){if(e){c&&c(e);return;}cacheManager['unzipAndCacheBundle'](a,f,b['__cacheBundleRoot__'],c);}):cacheManager['unzipAndCacheBundle'](a,a,b['__cacheBundleRoot__'],c);}function loadInnerAudioContext(a){return new Promise(function(b,c){var d=__globalAdapter['createInnerAudioContext'](),e=setTimeout(function(){f(),b(d);},0x1f40);function f(){d['offCanplay'](g),d['offError'](h);}function g(){f(),clearTimeout(e),b(d);}function h(){f(),clearTimeout(e),c('failed\x20to\x20load\x20innerAudioContext:\x20'+err);}d['onCanplay'](g),d['onError'](h),d['src']=a;});}function loadAudioPlayer(a,b,c){cc['AudioPlayer']['load'](a)['then'](function(d){var e={'url':a,'duration':d['duration'],'type':d['type']};d['destroy'](),c(null,e);})['catch'](function(d){c(d);});}function download(a,b,c,d,e){var f=transformUrl(a,c);if(f['inLocal'])b(f['url'],c,e);else f['inCache']?(cacheManager['updateLastTime'](a),b(f['url'],c,function(g,h){g&&cacheManager['removeCache'](a),e(g,h);})):downloadFile(a,null,c['header'],d,function(g,h){if(g){e(g,null);return;}b(h,c,function(i,j){!i&&(cacheManager['tempFiles']['add'](a,h),cacheManager['cacheFile'](a,h,c['cacheEnabled'],c['__cacheBundleRoot__'],!![])),e(i,j);});});}function parseArrayBuffer(a,b,c){readArrayBuffer(a,c);}function parseText(a,b,c){readText(a,c);}function parseJson(a,b,c){readJson(a,c);}function downloadText(a,b,c){download(a,parseText,b,b['onFileProgress'],c);}function downloadJson(a,b,c){download(a,parseJson,b,b['onFileProgress'],c);}function loadFont(a,b,c){var d=__globalAdapter['loadFont'](a);c(null,d||'Arial');}function doNothing(a,b,c){exists(a,function(d){d?c(null,a):c(new Error('file\x20'['concat'](a,'\x20does\x20not\x20exist!')));});}function downloadAsset(a,b,c){download(a,doNothing,b,b['onFileProgress'],c);}function downloadBundle(a,b,c){var d=cc['path']['basename'](a),e=b['version']||cc['assetManager']['downloader']['bundleVers'][d],f=e?e+'.':'';if(subpackages[d]){var g='subpackages/'['concat'](d,'/config.')['concat'](f,'json');loadSubpackage(d,b['onFileProgress'],function(j){if(j){c(j,null);return;}downloadJson(g,b,function(k,l){l&&(l['base']='subpackages/'['concat'](d,'/')),c(k,l);});});}else{var h,i;REGEX['test'](a)||a['startsWith'](getUserDataPath())?(i=a,h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):downloader['remoteBundles']['indexOf'](d)!==-0x1?(i=''['concat'](downloader['remoteServerAddress'],'remote/')['concat'](d),h='src/bundle-scripts/'['concat'](d,'/index.')['concat'](f,'js'),cacheManager['makeBundleFolder'](d)):(i='assets/'['concat'](d),h='assets/'['concat'](d,'/index.')['concat'](f,'js'));require('../../../'+h),b['__cacheBundleRoot__']=d;var g=''['concat'](i,'/config.')['concat'](f,'json');downloadJson(g,b,function(j,k){if(j){c&&c(j);return;}if(k['isZip']){var l=k['zipVersion'],m=''['concat'](i,'/res.')['concat'](l?l+'.':'','zip');handleZip(m,b,function(n,o){if(n){c&&c(n);return;}k['base']=o+'/res/';var p=cc['sys'];if(p['platform']===p['ALIPAY_MINI_GAME']&&p['os']===p['OS_ANDROID']){var q=o+'res/';fs['accessSync']({'path':q})&&(k['base']=q);}c&&c(null,k);});}else k['base']=i+'/',c&&c(null,k);});}};var originParsePVRTex=parser['parsePVRTex'],parsePVRTex=function parsePVRTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePVRTex(e,b,c);});},originParsePKMTex=parser['parsePKMTex'],parsePKMTex=function parsePKMTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParsePKMTex(e,b,c);});},originParseASTCTex=parser['parseASTCTex'],parseASTCTex=function parseASTCTex(a,b,c){readArrayBuffer(a,function(d,e){if(d)return c(d);originParseASTCTex(e,b,c);});},originParsePlist=parser['parsePlist'],parsePlist=function parsePlist(a,b,c){readText(a,function(d,e){if(d)return c(d);originParsePlist(e,b,c);});};downloader['downloadScript']=downloadScript,parser['parsePVRTex']=parsePVRTex,parser['parsePKMTex']=parsePKMTex,parser['parseASTCTex']=parseASTCTex,parser['parsePlist']=parsePlist,downloader['register']({'.js':downloadScript,'.mp3':downloadAsset,'.ogg':downloadAsset,'.wav':downloadAsset,'.m4a':downloadAsset,'.png':downloadAsset,'.jpg':downloadAsset,'.bmp':downloadAsset,'.jpeg':downloadAsset,'.gif':downloadAsset,'.ico':downloadAsset,'.tiff':downloadAsset,'.image':downloadAsset,'.webp':downloadAsset,'.pvr':downloadAsset,'.pkm':downloadAsset,'.astc':downloadAsset,'.font':downloadAsset,'.eot':downloadAsset,'.ttf':downloadAsset,'.woff':downloadAsset,'.svg':downloadAsset,'.ttc':downloadAsset,'.txt':downloadAsset,'.xml':downloadAsset,'.vsh':downloadAsset,'.fsh':downloadAsset,'.atlas':downloadAsset,'.tmx':downloadAsset,'.tsx':downloadAsset,'.plist':downloadAsset,'.fnt':downloadAsset,'.json':downloadJson,'.ExportJson':downloadAsset,'.binary':downloadAsset,'.bin':downloadAsset,'.dbbin':downloadAsset,'.skel':downloadAsset,'.mp4':downloadAsset,'.avi':downloadAsset,'.mov':downloadAsset,'.mpg':downloadAsset,'.mpeg':downloadAsset,'.rm':downloadAsset,'.rmvb':downloadAsset,'bundle':downloadBundle,'default':downloadText}),parser['register']({'.png':downloader['downloadDomImage'],'.jpg':downloader['downloadDomImage'],'.bmp':downloader['downloadDomImage'],'.jpeg':downloader['downloadDomImage'],'.gif':downloader['downloadDomImage'],'.ico':downloader['downloadDomImage'],'.tiff':downloader['downloadDomImage'],'.image':downloader['downloadDomImage'],'.webp':downloader['downloadDomImage'],'.pvr':parsePVRTex,'.pkm':parsePKMTex,'.astc':parseASTCTex,'.font':loadFont,'.eot':loadFont,'.ttf':loadFont,'.woff':loadFont,'.svg':loadFont,'.ttc':loadFont,'.mp3':loadAudioPlayer,'.ogg':loadAudioPlayer,'.wav':loadAudioPlayer,'.m4a':loadAudioPlayer,'.txt':parseText,'.xml':parseText,'.vsh':parseText,'.fsh':parseText,'.atlas':parseText,'.tmx':parseText,'.tsx':parseText,'.fnt':parseText,'.plist':parsePlist,'.binary':parseArrayBuffer,'.bin':parseArrayBuffer,'.dbbin':parseArrayBuffer,'.skel':parseArrayBuffer,'.ExportJson':parseJson});function transformUrl(a,b){var c=![],d=![],e=a['startsWith'](getUserDataPath());if(e)c=!![];else{if(REGEX['test'](a)){if(!b['reload']){var f=cacheManager['cachedFiles']['get'](a);if(f)d=!![],a=f['url'];else{var g=cacheManager['tempFiles']['get'](a);g&&(c=!![],a=g);}}}else c=!![];}return{'url':a,'inLocal':c,'inCache':d};}cc['assetManager']['transformPipeline']['append'](function(a){var b=a['output']=a['input'];for(var c=0x0,d=b['length'];c','amp':'&','quot':'\x22','apos':'\x27'};return g&&e['setDocumentLocator'](g),d['errorHandler']=buildErrorHandler(f,e,g),d['domBuilder']=c['domBuilder']||e,i&&(h['']='http://www.w3.org/1999/xhtml'),h['xml']=h['xml']||'http://www.w3.org/XML/1998/namespace',a?d['parse'](a,h,j):d['errorHandler']['error']('invalid\x20doc\x20source'),e['doc'];};function buildErrorHandler(a,b,c){if(!a){if(b instanceof DOMHandler)return b;a=b;}var d={},e=a instanceof Function;c=c||{};function f(g){var h=a[g];!h&&e&&(h=a['length']==0x2?function(i){a(g,i);}:a),d[g]=h&&function(i){h('[xmldom\x20'+g+']\x09'+i+_locator(c));}||function(){};}return f('warning'),f('error'),f('fatalError'),d;}function DOMHandler(){this['cdata']=![];}function position(a,b){b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'];}DOMHandler['prototype']={'startDocument':function startDocument(){this['doc']=new DOMImplementation()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function startElement(a,b,c,d){var e=this['doc'],f=e['createElementNS'](a,c||b),g=d['length'];appendElement(this,f),this['currentElement']=f,this['locator']&&position(this['locator'],f);for(var h=0x0;h=b+c||b)return new java['lang']['String'](a,b,c)+'';return a;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(a){DOMHandler['prototype'][a]=function(){return null;};});function appendElement(a,b){!a['currentElement']?a['doc']['appendChild'](b):a['currentElement']['appendChild'](b);}var htmlEntity=require('./entities'),XMLReader=require('./sax')['XMLReader'],DOMImplementation=exports['DOMImplementation']=require('./dom')['DOMImplementation'];exports['XMLSerializer']=require('./dom')['XMLSerializer'],exports['DOMParser']=DOMParser; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/xmldom/dom.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/xmldom/dom.js +new file mode 100644 +index 0000000..4471f72 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/xmldom/dom.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function copy(a,b){for(var c in a){b[c]=a[c];}}function _extends(a,b){var c=a['prototype'];if(!(c instanceof b)){var d=function g(){};;d['prototype']=b['prototype'],d=new d();for(var f in c){d[f]=c[f];}a['prototype']=c=d;}c['constructor']!=a&&(typeof a!='function'&&console['error']('unknow\x20Class:'+a),c['constructor']=a);}var htmlns='http://www.w3.org/1999/xhtml',NodeType={},ELEMENT_NODE=NodeType['ELEMENT_NODE']=0x1,ATTRIBUTE_NODE=NodeType['ATTRIBUTE_NODE']=0x2,TEXT_NODE=NodeType['TEXT_NODE']=0x3,CDATA_SECTION_NODE=NodeType['CDATA_SECTION_NODE']=0x4,ENTITY_REFERENCE_NODE=NodeType['ENTITY_REFERENCE_NODE']=0x5,ENTITY_NODE=NodeType['ENTITY_NODE']=0x6,PROCESSING_INSTRUCTION_NODE=NodeType['PROCESSING_INSTRUCTION_NODE']=0x7,COMMENT_NODE=NodeType['COMMENT_NODE']=0x8,DOCUMENT_NODE=NodeType['DOCUMENT_NODE']=0x9,DOCUMENT_TYPE_NODE=NodeType['DOCUMENT_TYPE_NODE']=0xa,DOCUMENT_FRAGMENT_NODE=NodeType['DOCUMENT_FRAGMENT_NODE']=0xb,NOTATION_NODE=NodeType['NOTATION_NODE']=0xc,ExceptionCode={},ExceptionMessage={},INDEX_SIZE_ERR=ExceptionCode['INDEX_SIZE_ERR']=(ExceptionMessage[0x1]='Index\x20size\x20error',0x1),DOMSTRING_SIZE_ERR=ExceptionCode['DOMSTRING_SIZE_ERR']=(ExceptionMessage[0x2]='DOMString\x20size\x20error',0x2),HIERARCHY_REQUEST_ERR=ExceptionCode['HIERARCHY_REQUEST_ERR']=(ExceptionMessage[0x3]='Hierarchy\x20request\x20error',0x3),WRONG_DOCUMENT_ERR=ExceptionCode['WRONG_DOCUMENT_ERR']=(ExceptionMessage[0x4]='Wrong\x20document',0x4),INVALID_CHARACTER_ERR=ExceptionCode['INVALID_CHARACTER_ERR']=(ExceptionMessage[0x5]='Invalid\x20character',0x5),NO_DATA_ALLOWED_ERR=ExceptionCode['NO_DATA_ALLOWED_ERR']=(ExceptionMessage[0x6]='No\x20data\x20allowed',0x6),NO_MODIFICATION_ALLOWED_ERR=ExceptionCode['NO_MODIFICATION_ALLOWED_ERR']=(ExceptionMessage[0x7]='No\x20modification\x20allowed',0x7),NOT_FOUND_ERR=ExceptionCode['NOT_FOUND_ERR']=(ExceptionMessage[0x8]='Not\x20found',0x8),NOT_SUPPORTED_ERR=ExceptionCode['NOT_SUPPORTED_ERR']=(ExceptionMessage[0x9]='Not\x20supported',0x9),INUSE_ATTRIBUTE_ERR=ExceptionCode['INUSE_ATTRIBUTE_ERR']=(ExceptionMessage[0xa]='Attribute\x20in\x20use',0xa),INVALID_STATE_ERR=ExceptionCode['INVALID_STATE_ERR']=(ExceptionMessage[0xb]='Invalid\x20state',0xb),SYNTAX_ERR=ExceptionCode['SYNTAX_ERR']=(ExceptionMessage[0xc]='Syntax\x20error',0xc),INVALID_MODIFICATION_ERR=ExceptionCode['INVALID_MODIFICATION_ERR']=(ExceptionMessage[0xd]='Invalid\x20modification',0xd),NAMESPACE_ERR=ExceptionCode['NAMESPACE_ERR']=(ExceptionMessage[0xe]='Invalid\x20namespace',0xe),INVALID_ACCESS_ERR=ExceptionCode['INVALID_ACCESS_ERR']=(ExceptionMessage[0xf]='Invalid\x20access',0xf);function DOMException(a,b){if(b instanceof Error)var c=b;else{c=this,Error['call'](this,ExceptionMessage[a]),this['message']=ExceptionMessage[a];if(Error['captureStackTrace'])Error['captureStackTrace'](this,DOMException);}c['code']=a;if(b)this['message']=this['message']+':\x20'+b;return c;};DOMException['prototype']=Error['prototype'],copy(ExceptionCode,DOMException);function NodeList(){};NodeList['prototype']={'length':0x0,'item':function item(a){return this[a]||null;},'toString':function toString(a,b){for(var c=[],d=0x0;d=0x0){var f=b['length']-0x1;while(d0x0;},'lookupPrefix':function lookupPrefix(a){var b=this;while(b){var c=b['_nsMap'];if(c)for(var d in c){if(c[d]==a)return d;}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'lookupNamespaceURI':function lookupNamespaceURI(a){var b=this;while(b){var c=b['_nsMap'];if(c){if(a in c)return c[a];}b=b['nodeType']==ATTRIBUTE_NODE?b['ownerDocument']:b['parentNode'];}return null;},'isDefaultNamespace':function isDefaultNamespace(a){var b=this['lookupPrefix'](a);return b==null;}};function _xmlEncoder(a){return a=='<'&&'<'||a=='>'&&'>'||a=='&'&&'&'||a=='\x22'&&'"'||'&#'+a['charCodeAt']()+';';}copy(NodeType,Node),copy(NodeType,Node['prototype']);function _visitNode(a,b){if(b(a))return!![];if(a=a['firstChild'])do{if(_visitNode(a,b))return!![];}while(a=a['nextSibling']);}function Document(){}function _onAddAttribute(a,b,c){a&&a['_inc']++;var d=c['namespaceURI'];d=='http://www.w3.org/2000/xmlns/'&&(b['_nsMap'][c['prefix']?c['localName']:'']=c['value']);}function _onRemoveAttribute(a,b,c,d){a&&a['_inc']++;var f=c['namespaceURI'];f=='http://www.w3.org/2000/xmlns/'&&delete b['_nsMap'][c['prefix']?c['localName']:''];}function _onUpdateChild(a,b,c){if(a&&a['_inc']){a['_inc']++;var d=b['childNodes'];if(c)d[d['length']++]=c;else{var f=b['firstChild'],g=0x0;while(f){d[g++]=f,f=f['nextSibling'];}d['length']=g;}}}function _removeChild(a,b){var c=b['previousSibling'],d=b['nextSibling'];return c?c['nextSibling']=d:a['firstChild']=d,d?d['previousSibling']=c:a['lastChild']=c,_onUpdateChild(a['ownerDocument'],a),b;}function _insertBefore(a,b,c){var d=b['parentNode'];d&&d['removeChild'](b);if(b['nodeType']===DOCUMENT_FRAGMENT_NODE){var f=b['firstChild'];if(f==null)return b;var g=b['lastChild'];}else f=g=b;var h=c?c['previousSibling']:a['lastChild'];f['previousSibling']=h,g['nextSibling']=c;h?h['nextSibling']=f:a['firstChild']=f;c==null?a['lastChild']=g:c['previousSibling']=g;do{f['parentNode']=a;}while(f!==g&&(f=f['nextSibling']));return _onUpdateChild(a['ownerDocument']||a,a),b['nodeType']==DOCUMENT_FRAGMENT_NODE&&(b['firstChild']=b['lastChild']=null),b;}function _appendSingleChild(a,b){var c=b['parentNode'];if(c){var d=a['lastChild'];c['removeChild'](b);var d=a['lastChild'];}var d=a['lastChild'];return b['parentNode']=a,b['previousSibling']=d,b['nextSibling']=null,d?d['nextSibling']=b:a['firstChild']=b,a['lastChild']=b,_onUpdateChild(a['ownerDocument'],a,b),b;}Document['prototype']={'nodeName':'#document','nodeType':DOCUMENT_NODE,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function insertBefore(a,b){if(a['nodeType']==DOCUMENT_FRAGMENT_NODE){var c=a['firstChild'];while(c){var d=c['nextSibling'];this['insertBefore'](c,b),c=d;}return a;}return this['documentElement']==null&&a['nodeType']==ELEMENT_NODE&&(this['documentElement']=a),(_insertBefore(this,a,b),a['ownerDocument']=this,a);},'removeChild':function removeChild(a){return this['documentElement']==a&&(this['documentElement']=null),_removeChild(this,a);},'importNode':function importNode(a,b){return _importNode(this,a,b);},'getElementById':function getElementById(a){var b=null;return _visitNode(this['documentElement'],function(c){if(c['nodeType']==ELEMENT_NODE){if(c['getAttribute']('id')==a)return b=c,!![];}}),b;},'createElement':function createElement(a){var b=new Element();b['ownerDocument']=this,b['nodeName']=a,b['tagName']=a,b['childNodes']=new NodeList();var c=b['attributes']=new NamedNodeMap();return c['_ownerElement']=b,b;},'createDocumentFragment':function createDocumentFragment(){var a=new DocumentFragment();return a['ownerDocument']=this,a['childNodes']=new NodeList(),a;},'createTextNode':function createTextNode(a){var b=new Text();return b['ownerDocument']=this,b['appendData'](a),b;},'createComment':function createComment(a){var b=new Comment();return b['ownerDocument']=this,b['appendData'](a),b;},'createCDATASection':function createCDATASection(a){var b=new CDATASection();return b['ownerDocument']=this,b['appendData'](a),b;},'createProcessingInstruction':function createProcessingInstruction(a,b){var c=new ProcessingInstruction();return c['ownerDocument']=this,c['tagName']=c['target']=a,c['nodeValue']=c['data']=b,c;},'createAttribute':function createAttribute(a){var b=new Attr();return b['ownerDocument']=this,b['name']=a,b['nodeName']=a,b['localName']=a,b['specified']=!![],b;},'createEntityReference':function createEntityReference(a){var b=new EntityReference();return b['ownerDocument']=this,b['nodeName']=a,b;},'createElementNS':function createElementNS(a,b){var c=new Element(),d=b['split'](':'),f=c['attributes']=new NamedNodeMap();return c['childNodes']=new NodeList(),c['ownerDocument']=this,c['nodeName']=b,c['tagName']=b,c['namespaceURI']=a,d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,f['_ownerElement']=c,c;},'createAttributeNS':function createAttributeNS(a,b){var c=new Attr(),d=b['split'](':');return c['ownerDocument']=this,c['nodeName']=b,c['name']=b,c['namespaceURI']=a,c['specified']=!![],d['length']==0x2?(c['prefix']=d[0x0],c['localName']=d[0x1]):c['localName']=b,c;}},_extends(Document,Node);function Element(){this['_nsMap']={};};Element['prototype']={'nodeType':ELEMENT_NODE,'hasAttribute':function hasAttribute(a){return this['getAttributeNode'](a)!=null;},'getAttribute':function getAttribute(a){var b=this['getAttributeNode'](a);return b&&b['value']||'';},'getAttributeNode':function getAttributeNode(a){return this['attributes']['getNamedItem'](a);},'setAttribute':function setAttribute(a,b){var c=this['ownerDocument']['createAttribute'](a);c['value']=c['nodeValue']=''+b,this['setAttributeNode'](c);},'removeAttribute':function removeAttribute(a){var b=this['getAttributeNode'](a);b&&this['removeAttributeNode'](b);},'appendChild':function appendChild(a){return a['nodeType']===DOCUMENT_FRAGMENT_NODE?this['insertBefore'](a,null):_appendSingleChild(this,a);},'setAttributeNode':function setAttributeNode(a){return this['attributes']['setNamedItem'](a);},'setAttributeNodeNS':function setAttributeNodeNS(a){return this['attributes']['setNamedItemNS'](a);},'removeAttributeNode':function removeAttributeNode(a){return this['attributes']['removeNamedItem'](a['nodeName']);},'removeAttributeNS':function removeAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);c&&this['removeAttributeNode'](c);},'hasAttributeNS':function hasAttributeNS(a,b){return this['getAttributeNodeNS'](a,b)!=null;},'getAttributeNS':function getAttributeNS(a,b){var c=this['getAttributeNodeNS'](a,b);return c&&c['value']||'';},'setAttributeNS':function setAttributeNS(a,b,c){var d=this['ownerDocument']['createAttributeNS'](a,b);d['value']=d['nodeValue']=''+c,this['setAttributeNode'](d);},'getAttributeNodeNS':function getAttributeNodeNS(a,b){return this['attributes']['getNamedItemNS'](a,b);},'getElementsByTagName':function getElementsByTagName(a){return new LiveNodeList(this,function(b){var c=[];return _visitNode(b,function(d){d!==b&&d['nodeType']==ELEMENT_NODE&&(a==='*'||d['tagName']==a)&&c['push'](d);}),c;});},'getElementsByTagNameNS':function getElementsByTagNameNS(a,b){return new LiveNodeList(this,function(c){var d=[];return _visitNode(c,function(f){f!==c&&f['nodeType']===ELEMENT_NODE&&(a==='*'||f['namespaceURI']===a)&&(b==='*'||f['localName']==b)&&d['push'](f);}),d;});}},Document['prototype']['getElementsByTagName']=Element['prototype']['getElementsByTagName'],Document['prototype']['getElementsByTagNameNS']=Element['prototype']['getElementsByTagNameNS'],_extends(Element,Node);function Attr(){};Attr['prototype']['nodeType']=ATTRIBUTE_NODE,_extends(Attr,Node);function CharacterData(){};CharacterData['prototype']={'data':'','substringData':function substringData(a,b){return this['data']['substring'](a,a+b);},'appendData':function appendData(a){a=this['data']+a,this['nodeValue']=this['data']=a,this['length']=a['length'];},'insertData':function insertData(a,b){this['replaceData'](a,0x0,b);},'appendChild':function appendChild(a){throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]);},'deleteData':function deleteData(a,b){this['replaceData'](a,b,'');},'replaceData':function replaceData(a,b,c){var d=this['data']['substring'](0x0,a),f=this['data']['substring'](a+b);c=d+c+f,this['nodeValue']=this['data']=c,this['length']=c['length'];}},_extends(CharacterData,Node);function Text(){};Text['prototype']={'nodeName':'#text','nodeType':TEXT_NODE,'splitText':function splitText(a){var b=this['data'],c=b['substring'](a);b=b['substring'](0x0,a),this['data']=this['nodeValue']=b,this['length']=b['length'];var d=this['ownerDocument']['createTextNode'](c);return this['parentNode']&&this['parentNode']['insertBefore'](d,this['nextSibling']),d;}},_extends(Text,CharacterData);function Comment(){};Comment['prototype']={'nodeName':'#comment','nodeType':COMMENT_NODE},_extends(Comment,CharacterData);function CDATASection(){};CDATASection['prototype']={'nodeName':'#cdata-section','nodeType':CDATA_SECTION_NODE},_extends(CDATASection,CharacterData);function DocumentType(){};DocumentType['prototype']['nodeType']=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node);function Notation(){};Notation['prototype']['nodeType']=NOTATION_NODE,_extends(Notation,Node);function Entity(){};Entity['prototype']['nodeType']=ENTITY_NODE,_extends(Entity,Node);function EntityReference(){};EntityReference['prototype']['nodeType']=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node);function DocumentFragment(){};DocumentFragment['prototype']['nodeName']='#document-fragment',DocumentFragment['prototype']['nodeType']=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node);function ProcessingInstruction(){}ProcessingInstruction['prototype']['nodeType']=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node);function XMLSerializer(){}XMLSerializer['prototype']['serializeToString']=function(a,b,c){return nodeSerializeToString['call'](a,b,c);},Node['prototype']['toString']=nodeSerializeToString;function nodeSerializeToString(a,b){var c=[],d=this['nodeType']==0x9&&this['documentElement']||this,f=d['prefix'],g=d['namespaceURI'];if(g&&f==null){var f=d['lookupPrefix'](g);if(f==null)var h=[{'namespace':g,'prefix':null}];}return serializeToString(this,c,a,b,h),c['join']('');}function needNamespaceDefine(a,b,c){var d=a['prefix']||'',f=a['namespaceURI'];if(!d&&!f)return![];if(d==='xml'&&f==='http://www.w3.org/XML/1998/namespace'||f=='http://www.w3.org/2000/xmlns/')return![];var g=c['length'];while(g--){var h=c[g];if(h['prefix']==d)return h['namespace']!=f;}return!![];}function serializeToString(a,b,c,d,f){if(d){a=d(a);if(a){if(typeof a=='string'){b['push'](a);return;}}else return;}switch(a['nodeType']){case ELEMENT_NODE:if(!f)f=[];var g=f['length'],h=a['attributes'],j=h['length'],k=a['firstChild'],l=a['tagName'];c=htmlns===a['namespaceURI']||c,b['push']('<',l);for(var m=0x0;m');if(c&&/^script$/i['test'](l))while(k){k['data']?b['push'](k['data']):serializeToString(k,b,c,d,f),k=k['nextSibling'];}else while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}b['push']('');}else b['push']('/>');return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:var k=a['firstChild'];while(k){serializeToString(k,b,c,d,f),k=k['nextSibling'];}return;case ATTRIBUTE_NODE:return b['push']('\x20',a['name'],'=\x22',a['value']['replace'](/[<&"]/g,_xmlEncoder),'\x22');case TEXT_NODE:return b['push'](a['data']['replace'](/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return b['push']('');case COMMENT_NODE:return b['push']('');case DOCUMENT_TYPE_NODE:var r=a['publicId'],s=a['systemId'];b['push']('');else{if(s&&s!='.')b['push']('\x20SYSTEM\x20\x22',s,'\x22>');else{var t=a['internalSubset'];t&&b['push']('\x20[',t,']'),b['push']('>');}}return;case PROCESSING_INSTRUCTION_NODE:return b['push']('');case ENTITY_REFERENCE_NODE:return b['push']('&',a['nodeName'],';');default:b['push']('??',a['nodeName']);}}function _importNode(a,b,c){var d;switch(b['nodeType']){case ELEMENT_NODE:d=b['cloneNode'](![]),d['ownerDocument']=a;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:c=!![];break;}!d&&(d=b['cloneNode'](![]));d['ownerDocument']=a,d['parentNode']=null;if(c){var f=b['firstChild'];while(f){d['appendChild'](_importNode(a,f,c)),f=f['nextSibling'];}}return d;}function _cloneNode(a,b,c){var d=new b['constructor']();for(var f in b){var g=b[f];_typeof(g)!='object'&&(g!=d[f]&&(d[f]=g));}b['childNodes']&&(d['childNodes']=new NodeList());d['ownerDocument']=a;switch(d['nodeType']){case ELEMENT_NODE:var h=b['attributes'],j=d['attributes']=new NamedNodeMap(),k=h['length'];j['_ownerElement']=d;for(var l=0x0;l','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/xmldom/sax.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/xmldom/sax.js +new file mode 100644 +index 0000000..976ca2a +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/common/xmldom/sax.js +@@ -0,0 +1 @@ ++'use strict';var nameStartChar=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameChar=new RegExp('[\x5c-\x5c.0-9'+nameStartChar['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),tagNamePattern=new RegExp('^'+nameStartChar['source']+nameChar['source']+'*(?::'+nameStartChar['source']+nameChar['source']+'*)?$'),S_TAG=0x0,S_ATTR=0x1,S_ATTR_SPACE=0x2,S_EQ=0x3,S_ATTR_NOQUOT_VALUE=0x4,S_ATTR_END=0x5,S_TAG_SPACE=0x6,S_TAG_CLOSE=0x7;function XMLReader(){}XMLReader['prototype']={'parse':function parse(a,b,c){var d=this['domBuilder'];d['startDocument'](),_copy(b,b={}),_parse(a,b,c,d,this['errorHandler']),d['endDocument']();}};function _parse(b,c,d,f,g){function h(J){if(J>0xffff){J-=0x10000;var K=0xd800+(J>>0xa),L=0xdc00+(J&0x3ff);return String['fromCharCode'](K,L);}else return String['fromCharCode'](J);}function j(J){var K=J['slice'](0x1,-0x1);if(K in d)return d[K];else return K['charAt'](0x0)==='#'?h(parseInt(K['substr'](0x1)['replace']('x','0x'))):(g['error']('entity\x20not\x20found:'+J),J);}function k(J){if(J>s){var K=b['substring'](s,J)['replace'](/&#?\w+;/g,j);p&&l(s),f['characters'](K,0x0,J-s),s=J;}}function l(J,K){while(J>=n&&(K=o['exec'](b))){m=K['index'],n=m+K[0x0]['length'],p['lineNumber']++;}p['columnNumber']=J-m+0x1;}var m=0x0,n=0x0,o=/.*(?:\r\n?|\n)|.*$/g,p=f['locator'],q=[{'currentNSMap':c}],r={},s=0x0;while(!![]){try{var t=b['indexOf']('<',s);if(t<0x0){if(!b['substr'](s)['match'](/^\s*$/)){var u=f['doc'],v=u['createTextNode'](b['substr'](s));u['appendChild'](v),f['currentElement']=v;}return;}t>s&&k(t);switch(b['charAt'](t+0x1)){case'/':var w=b['indexOf']('>',t+0x3),x=b['substring'](t+0x2,w),y=q['pop']();if(w<0x0)x=b['substring'](t+0x2)['replace'](/[\s<].*/,''),g['error']('end\x20tag\x20name:\x20'+x+'\x20is\x20not\x20complete:'+y['tagName']),w=t+0x1+x['length'];else x['match'](/\ss?s=w:k(Math['max'](t,s)+0x1);}}function copyLocator(a,b){return b['lineNumber']=a['lineNumber'],b['columnNumber']=a['columnNumber'],b;}function parseElementStartPart(a,b,d,e,f,g){var h,i,j=++b,k=S_TAG;while(!![]){var l=a['charAt'](j);switch(l){case'=':if(k===S_ATTR)h=a['slice'](b,j),k=S_EQ;else{if(k===S_ATTR_SPACE)k=S_EQ;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(k===S_EQ||k===S_ATTR){k===S_ATTR&&(g['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),h=a['slice'](b,j));b=j+0x1,j=a['indexOf'](l,b);if(j>0x0)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b-0x1),k=S_ATTR_END;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+l+'\x27\x20match');}else{if(k==S_ATTR_NOQUOT_VALUE)i=a['slice'](b,j)['replace'](/&#?\w+;/g,f),d['add'](h,i,b),g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20start\x20quot('+l+')!!'),b=j+0x1,k=S_ATTR_END;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:k=S_TAG_CLOSE,d['closed']=!![];case S_ATTR_NOQUOT_VALUE:case S_ATTR:case S_ATTR_SPACE:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':g['error']('unexpected\x20end\x20of\x20input');k==S_TAG&&d['setTagName'](a['slice'](b,j));return j;case'>':switch(k){case S_TAG:d['setTagName'](a['slice'](b,j));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:break;case S_ATTR_NOQUOT_VALUE:case S_ATTR:i=a['slice'](b,j);i['slice'](-0x1)==='/'&&(d['closed']=!![],i=i['slice'](0x0,-0x1));case S_ATTR_SPACE:k===S_ATTR_SPACE&&(i=h);k==S_ATTR_NOQUOT_VALUE?(g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i['replace'](/&#?\w+;/g,f),b)):((e['']!=='http://www.w3.org/1999/xhtml'||!i['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20value!!\x20\x22'+i+'\x22\x20instead!!'),d['add'](i,i,b));break;case S_EQ:throw new Error('attribute\x20value\x20missed!!');}return j;case'\u0080':l='\x20';default:if(l<='\x20')switch(k){case S_TAG:d['setTagName'](a['slice'](b,j)),k=S_TAG_SPACE;break;case S_ATTR:h=a['slice'](b,j),k=S_ATTR_SPACE;break;case S_ATTR_NOQUOT_VALUE:var i=a['slice'](b,j)['replace'](/&#?\w+;/g,f);g['warning']('attribute\x20\x22'+i+'\x22\x20missed\x20quot(\x22)!!'),d['add'](h,i,b);case S_ATTR_END:k=S_TAG_SPACE;break;}else switch(k){case S_ATTR_SPACE:var m=d['tagName'];(e['']!=='http://www.w3.org/1999/xhtml'||!h['match'](/^(?:disabled|checked|selected)$/i))&&g['warning']('attribute\x20\x22'+h+'\x22\x20missed\x20value!!\x20\x22'+h+'\x22\x20instead2!!');d['add'](h,h,b),b=j,k=S_ATTR;break;case S_ATTR_END:g['warning']('attribute\x20space\x20is\x20required\x22'+h+'\x22!!');case S_TAG_SPACE:k=S_ATTR,b=j;break;case S_EQ:k=S_ATTR_NOQUOT_VALUE,b=j;break;case S_TAG_CLOSE:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}j++;}}function appendElement(b,c,d){var e=b['tagName'],f=null,g=b['length'];while(g--){var h=b[g],j=h['qName'],k=h['value'],l=j['indexOf'](':');if(l>0x0)var m=h['prefix']=j['slice'](0x0,l),n=j['slice'](l+0x1),o=m==='xmlns'&&n;else n=j,m=null,o=j==='xmlns'&&'';h['localName']=n,o!==![]&&(f==null&&(f={},_copy(d,d={})),d[o]=f[o]=k,h['uri']='http://www.w3.org/2000/xmlns/',c['startPrefixMapping'](o,k));}var g=b['length'];while(g--){h=b[g];var m=h['prefix'];m&&(m==='xml'&&(h['uri']='http://www.w3.org/XML/1998/namespace'),m!=='xmlns'&&(h['uri']=d[m||'']));}var l=e['indexOf'](':');l>0x0?(m=b['prefix']=e['slice'](0x0,l),n=b['localName']=e['slice'](l+0x1)):(m=null,n=b['localName']=e);var p=b['uri']=d[m||''];c['startElement'](p,n,e,b);if(b['closed']){c['endElement'](p,n,e);if(f)for(m in f){c['endPrefixMapping'](m);}}else return b['currentNSMap']=d,b['localNSMap']=f,!![];}function parseHtmlSpecialContent(a,b,c,d,e){if(/^(?:script|textarea)$/i['test'](c)){var f=a['indexOf']('',b),g=a['substring'](b+0x1,f);if(/[&<]/['test'](g)){if(/^script$/i['test'](c))return e['characters'](g,0x0,g['length']),f;return g=g['replace'](/&#?\w+;/g,d),e['characters'](g,0x0,g['length']),f;}}return b+0x1;}function fixSelfClosed(a,b,c,d){var e=d[c];return e==null&&(e=a['lastIndexOf'](''),e',b+0x4);return f>b?(c['comment'](a,b+0x4,f-b-0x4),f+0x3):(d['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(a['substr'](b+0x3,0x6)=='CDATA['){var f=a['indexOf'](']]>',b+0x9);return c['startCDATA'](),c['characters'](a,b+0x9,f-b-0x9),c['endCDATA'](),f+0x3;}var g=split(a,b),h=g['length'];if(h>0x1&&/!doctype/i['test'](g[0x0][0x0])){var i=g[0x1][0x0],j=h>0x3&&/^public$/i['test'](g[0x2][0x0])&&g[0x3][0x0],k=h>0x4&&g[0x4][0x0],l=g[h-0x1];return c['startDTD'](i,j&&j['replace'](/^(['"])(.*?)\1$/,'$2'),k&&k['replace'](/^(['"])(.*?)\1$/,'$2')),c['endDTD'](),l['index']+l[0x0]['length'];}}return-0x1;}function parseInstruction(a,b,c){var d=a['indexOf']('?>',b);if(d){var e=a['substring'](b,d)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(e){var f=e[0x0]['length'];return c['processingInstruction'](e[0x1],e[0x2]),d+0x2;}else return-0x1;}return-0x1;}function ElementAttributes(a){}ElementAttributes['prototype']={'setTagName':function setTagName(a){if(!tagNamePattern['test'](a))throw new Error('invalid\x20tagName:'+a);this['tagName']=a;},'add':function add(a,b,c){if(!tagNamePattern['test'](a))throw new Error('invalid\x20attribute:'+a);this[this['length']++]={'qName':a,'value':b,'offset':c};},'length':0x0,'getLocalName':function getLocalName(a){return this[a]['localName'];},'getLocator':function getLocator(a){return this[a]['locator'];},'getQName':function getQName(a){return this[a]['qName'];},'getURI':function getURI(a){return this[a]['uri'];},'getValue':function getValue(a){return this[a]['value'];}};function split(a,b){var c,d=[],e=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;e['lastIndex']=b,e['exec'](a);while(c=e['exec'](a)){d['push'](c);if(c[0x1])return d;}}exports['XMLReader']=XMLReader; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Audio.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Audio.js +new file mode 100644 +index 0000000..fe5788b +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Audio.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLAudioElement2=_interopRequireDefault(require('./HTMLAudioElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};_superPropGet(b,'addEventListener',this,0x3)([d,e,f]),d=String(d)['toLowerCase'](),this['_loaded']&&this['_canplayEvents']['indexOf'](d)!==-0x1&&this['dispatchEvent']({'type':d});}},{'key':'load','value':function d(){}},{'key':'play','value':function e(){_innerAudioContextMap[this['_$sn']]['play']();}},{'key':'resume','value':function f(){_innerAudioContextMap[this['_$sn']]['resume']();}},{'key':'pause','value':function g(){_innerAudioContextMap[this['_$sn']]['pause']();}},{'key':'stop','value':function h(){_innerAudioContextMap[this['_$sn']]['stop']();}},{'key':'destroy','value':function i(){_innerAudioContextMap[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function j(){var k=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof k!=='string')return'';if(k['indexOf']('audio/mpeg')>-0x1||k['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function k(){return _innerAudioContextMap[this['_$sn']]['currentTime'];},'set':function l(m){_innerAudioContextMap[this['_$sn']]['seek'](m);}},{'key':'duration','get':function m(){return _innerAudioContextMap[this['_$sn']]['duration'];}},{'key':'src','get':function n(){return this['_src'];},'set':function o(p){this['_src']=p,this['_loaded']=![],this['readyState']=this['HAVE_NOTHING'];var q=_innerAudioContextMap[this['_$sn']];q['src']=p;}},{'key':'loop','get':function p(){return this['_loop'];},'set':function q(r){this['_loop']=r,_innerAudioContextMap[this['_$sn']]['loop']=r;}},{'key':'autoplay','get':function r(){return this['autoplay'];},'set':function s(t){this['_autoplay']=t,_innerAudioContextMap[this['_$sn']]['autoplay']=t;}},{'key':'paused','get':function t(){return this['_paused'];}},{'key':'volume','get':function u(){return this['_volume'];},'set':function v(w){this['_volume']=w,!this['_muted']&&(_innerAudioContextMap[this['_$sn']]['volume']=w);}},{'key':'muted','get':function w(){return this['_muted'];},'set':function x(y){this['_muted']=y,y?_innerAudioContextMap[this['_$sn']]['volume']=0x0:_innerAudioContextMap[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function y(){var z=new b();return z['loop']=this['loop'],z['autoplay']=this['autoplay'],z['src']=this['src'],z;}}]);}(_HTMLAudioElement2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Canvas.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Canvas.js +new file mode 100644 +index 0000000..5405152 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Canvas.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=Canvas;var _WindowProperties=require('./WindowProperties'),hasModifiedCanvasPrototype=![],hasInit2DContextConstructor=![],hasInitWebGLContextConstructor=![];function Canvas(){var canvas=wx['createCanvas']();canvas['type']='canvas';var a=canvas['getContext'];return canvas['getBoundingClientRect']=function(){var b={'top':0x0,'left':0x0,'width':window['innerWidth'],'height':window['innerHeight']};return b;},canvas['style']={'top':'0px','left':'0px','width':_WindowProperties['innerWidth']+'px','height':_WindowProperties['innerHeight']+'px'},canvas['addEventListener']=function(b,c){var d=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};document['addEventListener'](b,c,d);},canvas['removeEventListener']=function(b,c){document['removeEventListener'](b,c);},canvas['dispatchEvent']=function(){var b=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',b['type'],b);},Object['defineProperty'](canvas,'clientWidth',{'enumerable':!![],'get':function b(){return _WindowProperties['innerWidth'];}}),Object['defineProperty'](canvas,'clientHeight',{'enumerable':!![],'get':function c(){return _WindowProperties['innerHeight'];}}),canvas;}module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Element.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Element.js +new file mode 100644 +index 0000000..9d61afe +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Element.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _Node2=_interopRequireDefault(require('./Node'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _defineProperties(a,b){for(var c=0x0;c0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},f=_events['get'](this);!f&&(f={},_events['set'](this,f));!f[c]&&(f[c]=[]);f[c]['push'](d);if(e['capture']){}if(e['once']){}if(e['passive']){}}},{'key':'removeEventListener','value':function c(d,e){var f=_events['get'](this);if(f){var g=f[d];if(g&&g['length']>0x0)for(var h=g['length'];h--;h>0x0){if(g[h]===e){g['splice'](h,0x1);break;}}}}},{'key':'dispatchEvent','value':function d(){var e=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},f=_events['get'](this)[e['type']];if(f)for(var g=0x0;g0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return _classCallCheck(this,b),c=_callSuper(this,b),c['className']='',c['childern']=[],c['style']={'width':''['concat'](_WindowProperties['innerWidth'],'px'),'height':''['concat'](_WindowProperties['innerHeight'],'px')},c['insertBefore']=_index['noop'],c['innerHTML']='',c['tagName']=d['toUpperCase'](),c;}return _inherits(b,a),_createClass(b,[{'key':'setAttribute','value':function c(d,e){this[d]=e;}},{'key':'getAttribute','value':function d(e){return this[e];}},{'key':'clientWidth','get':function e(){var f=parseInt(this['style']['fontSize'],0xa)*this['innerHTML']['length'];return Number['isNaN'](f)?0x0:f;}},{'key':'clientHeight','get':function f(){var g=parseInt(this['style']['fontSize'],0xa);return Number['isNaN'](g)?0x0:g;}},{'key':'getBoundingClientRect','value':function g(){return{'top':0x0,'left':0x0,'width':_WindowProperties['innerWidth'],'height':_WindowProperties['innerHeight']};}},{'key':'focus','value':function h(){}}]);}(_Element2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/HTMLImageElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/HTMLImageElement.js +new file mode 100644 +index 0000000..17b3486 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/HTMLImageElement.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}var imageConstructor=wx['createImage']()['constructor'],_default=exports['default']=imageConstructor;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/HTMLMediaElement.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/HTMLMediaElement.js +new file mode 100644 +index 0000000..ce6068f +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/HTMLMediaElement.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _HTMLElement2=_interopRequireDefault(require('./HTMLElement'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c-0x1)return this['childNodes']['splice'](g,0x1);return null;}}]);}(_EventTarget2['default']);module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/WebGLRenderingContext.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/WebGLRenderingContext.js +new file mode 100644 +index 0000000..644190e +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/WebGLRenderingContext.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;function _defineProperties(a,b){for(var c=0x0;c0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];_classCallCheck(this,a),this['binaryType']='',this['bufferedAmount']=0x0,this['extensions']='',this['onclose']=null,this['onerror']=null,this['onmessage']=null,this['onopen']=null,this['protocol']='',this['readyState']=0x3;if(typeof b!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](b))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](b,'\x27\x20is\x20invalid'));this['url']=b,this['readyState']=a['CONNECTING'];var e=wx['connectSocket']({'url':b,'protocols':Array['isArray'](d)?d:[d],'tcpNoDelay':!![]});return _socketTask['set'](this,e),e['onClose'](function(f){c['readyState']=a['CLOSED'],typeof c['onclose']==='function'&&c['onclose'](f);}),e['onMessage'](function(f){typeof c['onmessage']==='function'&&c['onmessage'](f);}),e['onOpen'](function(){c['readyState']=a['OPEN'],typeof c['onopen']==='function'&&c['onopen']();}),e['onError'](function(f){typeof c['onerror']==='function'&&c['onerror'](new Error(f['errMsg']));}),this;}return _createClass(a,[{'key':'close','value':function b(c,d){this['readyState']=a['CLOSING'];var e=_socketTask['get'](this);e['close']({'code':c,'reason':d});}},{'key':'send','value':function c(d){if(typeof d!=='string'&&!(d instanceof ArrayBuffer)&&!ArrayBuffer['isView'](d))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](d,'\x20is\x20invalid'));var e=_socketTask['get'](this);e['send']({'data':d});}}]);}());WebSocket['CONNECTING']=0x0,WebSocket['OPEN']=0x1,WebSocket['CLOSING']=0x2,WebSocket['CLOSED']=0x3,module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/WindowProperties.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/WindowProperties.js +new file mode 100644 +index 0000000..b0277bf +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/WindowProperties.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['screen']=exports['performance']=exports['ontouchstart']=exports['ontouchmove']=exports['ontouchend']=exports['innerWidth']=exports['innerHeight']=exports['devicePixelRatio']=void 0x0;var _wx$getSystemInfoSync=wx['getSystemInfoSync'](),screenWidth=_wx$getSystemInfoSync['screenWidth'],screenHeight=_wx$getSystemInfoSync['screenHeight'],devicePixelRatio=exports['devicePixelRatio']=_wx$getSystemInfoSync['devicePixelRatio'],innerWidth=exports['innerWidth']=screenWidth,innerHeight=exports['innerHeight']=screenHeight,screen=exports['screen']={'width':screenWidth,'height':screenHeight,'availWidth':innerWidth,'availHeight':innerHeight,'availLeft':0x0,'availTop':0x0},performance=exports['performance']={'now':Date['now']},ontouchstart=exports['ontouchstart']=null,ontouchmove=exports['ontouchmove']=null,ontouchend=exports['ontouchend']=null; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Worker.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Worker.js +new file mode 100644 +index 0000000..85d2a41 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/Worker.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=_default;function _default(a){var b=wx['createWorker'](a);return b;};module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/XMLHttpRequest.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/XMLHttpRequest.js +new file mode 100644 +index 0000000..deaf2bb +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/XMLHttpRequest.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _EventTarget2=_interopRequireDefault(require('./EventTarget.js'));function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;c0x1?b-0x1:0x0),d=0x1;d0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==b['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var k=wx['request']({'data':j,'url':_url['get'](this),'method':_method['get'](this),'header':_requestHeader['get'](this),'dataType':'other','responseType':this['responseType']==='arraybuffer'?'arraybuffer':'text','timeout':this['timeout']||undefined,'success':function l(m){var n=m['data'],o=m['statusCode'],p=m['header'];i['status']=o,_responseHeader['set'](i,p),_triggerEvent['call'](i,'loadstart'),_changeReadyState['call'](i,b['HEADERS_RECEIVED']),_changeReadyState['call'](i,b['LOADING']);switch(i['responseType']){case'json':i['responseText']=n;try{i['response']=JSON['parse'](n);}catch(t){i['response']=null;}break;case'':case'text':i['responseText']=i['response']=n;break;case'arraybuffer':i['response']=n,i['responseText']='';var q=new Uint8Array(n),r=q['byteLength'];for(var s=0x0;s0x0)for(var d=c['length'];d--;d>0x0){if(c[d]===b){c['splice'](d,0x1);break;}}},'dispatchEvent':function dispatchEvent(a){var b=events[a['type']];if(b)for(var c=0x0;c0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',h['type'],h);};var a=wx['getSystemInfoSync'](),b=a['platform'];if(typeof __devtoolssubcontext==='undefined'&&b==='devtools'){for(var c in _window){var d=Object['getOwnPropertyDescriptor'](global,c);(!d||d['configurable']===!![])&&Object['defineProperty'](window,c,{'value':_window[c]});}for(var e in _window['document']){var f=Object['getOwnPropertyDescriptor'](global['document'],e);(!f||f['configurable']===!![])&&Object['defineProperty'](global['document'],e,{'value':_window['document'][e]});}window['parent']=window;}else{for(var g in _window){global[g]=_window[g];}global['window']=_window,window=global,window['top']=window['parent']=window;}}!GameGlobal['__isAdapterInjected']&&(GameGlobal['__isAdapterInjected']=!![],inject());global['WebAssembly']=global['WXWebAssembly']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/localStorage.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/localStorage.js +new file mode 100644 +index 0000000..a51b9c6 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/localStorage.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var localStorage={get 'length'(){var a=wx['getStorageInfoSync'](),b=a['keys'];return b['length'];},'key':function key(a){var b=wx['getStorageInfoSync'](),c=b['keys'];return c[a];},'getItem':function getItem(a){return wx['getStorageSync'](a);},'setItem':function setItem(a,b){return wx['setStorageSync'](a,b);},'removeItem':function removeItem(a){wx['removeStorageSync'](a);},'clear':function clear(){wx['clearStorageSync']();}},_default=exports['default']=localStorage;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/location.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/location.js +new file mode 100644 +index 0000000..a444ae9 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/location.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var location={'href':'game.js','reload':function reload(){}},_default=exports['default']=location;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/navigator.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/navigator.js +new file mode 100644 +index 0000000..4690f0b +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/navigator.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['default']=void 0x0;var _index=require('./util/index.js'),systemInfo=wx['getSystemInfoSync']();console['log'](systemInfo);var system=systemInfo['system'],platform=systemInfo['platform'],language=systemInfo['language'],wechatVersioin=systemInfo['version'],android=system['toLowerCase']()['indexOf']('android')!==-0x1,uaDesc=android?'Android;\x20CPU\x20'['concat'](system):'iPhone;\x20CPU\x20iPhone\x20OS\x20'['concat'](system,'\x20like\x20Mac\x20OS\x20X'),ua='Mozilla/5.0\x20('['concat'](uaDesc,')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20MicroMessenger/')['concat'](wechatVersioin,'\x20MiniGame\x20NetType/WIFI\x20Language/')['concat'](language),navigator={'platform':platform,'language':language,'appVersion':'5.0\x20('['concat'](uaDesc,')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1'),'userAgent':ua,'onLine':!![],'geolocation':{'getCurrentPosition':_index['noop'],'watchPosition':_index['noop'],'clearWatch':_index['noop']}};wx['onNetworkStatusChange']&&wx['onNetworkStatusChange'](function(a){navigator['onLine']=a['isConnected'];});var _default=exports['default']=navigator;module['exports']=exports['default']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/util/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/util/index.js +new file mode 100644 +index 0000000..112f54d +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/util/index.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['noop']=noop;function noop(){} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/window.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/window.js +new file mode 100644 +index 0000000..e07b9e0 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/builtin/window.js +@@ -0,0 +1 @@ ++'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]});var _exportNames={'canvas':!![],'setTimeout':!![],'setInterval':!![],'clearTimeout':!![],'clearInterval':!![],'requestAnimationFrame':!![],'cancelAnimationFrame':!![],'navigator':!![],'XMLHttpRequest':!![],'WebSocket':!![],'Image':!![],'ImageBitmap':!![],'Audio':!![],'FileReader':!![],'HTMLElement':!![],'HTMLImageElement':!![],'HTMLCanvasElement':!![],'HTMLMediaElement':!![],'HTMLAudioElement':!![],'HTMLVideoElement':!![],'WebGLRenderingContext':!![],'TouchEvent':!![],'MouseEvent':!![],'DeviceMotionEvent':!![],'localStorage':!![],'location':!![]};Object['defineProperty'](exports,'Audio',{'enumerable':!![],'get':function get(){return _Audio['default'];}}),Object['defineProperty'](exports,'DeviceMotionEvent',{'enumerable':!![],'get':function get(){return _index['DeviceMotionEvent'];}}),Object['defineProperty'](exports,'FileReader',{'enumerable':!![],'get':function get(){return _FileReader['default'];}}),Object['defineProperty'](exports,'HTMLAudioElement',{'enumerable':!![],'get':function get(){return _HTMLAudioElement['default'];}}),Object['defineProperty'](exports,'HTMLCanvasElement',{'enumerable':!![],'get':function get(){return _HTMLCanvasElement['default'];}}),Object['defineProperty'](exports,'HTMLElement',{'enumerable':!![],'get':function get(){return _HTMLElement['default'];}}),Object['defineProperty'](exports,'HTMLImageElement',{'enumerable':!![],'get':function get(){return _HTMLImageElement['default'];}}),Object['defineProperty'](exports,'HTMLMediaElement',{'enumerable':!![],'get':function get(){return _HTMLMediaElement['default'];}}),Object['defineProperty'](exports,'HTMLVideoElement',{'enumerable':!![],'get':function get(){return _HTMLVideoElement['default'];}}),Object['defineProperty'](exports,'Image',{'enumerable':!![],'get':function get(){return _Image['default'];}}),Object['defineProperty'](exports,'ImageBitmap',{'enumerable':!![],'get':function get(){return _ImageBitmap['default'];}}),Object['defineProperty'](exports,'MouseEvent',{'enumerable':!![],'get':function get(){return _index['MouseEvent'];}}),Object['defineProperty'](exports,'TouchEvent',{'enumerable':!![],'get':function get(){return _index['TouchEvent'];}}),Object['defineProperty'](exports,'WebGLRenderingContext',{'enumerable':!![],'get':function get(){return _WebGLRenderingContext['default'];}}),Object['defineProperty'](exports,'WebSocket',{'enumerable':!![],'get':function get(){return _WebSocket['default'];}}),Object['defineProperty'](exports,'XMLHttpRequest',{'enumerable':!![],'get':function get(){return _XMLHttpRequest['default'];}}),exports['clearTimeout']=exports['clearInterval']=exports['canvas']=exports['cancelAnimationFrame']=void 0x0,Object['defineProperty'](exports,'localStorage',{'enumerable':!![],'get':function get(){return _localStorage['default'];}}),Object['defineProperty'](exports,'location',{'enumerable':!![],'get':function get(){return _location['default'];}}),Object['defineProperty'](exports,'navigator',{'enumerable':!![],'get':function get(){return _navigator['default'];}}),exports['setTimeout']=exports['setInterval']=exports['requestAnimationFrame']=void 0x0;var _Canvas=_interopRequireDefault(require('./Canvas')),_navigator=_interopRequireDefault(require('./navigator')),_XMLHttpRequest=_interopRequireDefault(require('./XMLHttpRequest')),_WebSocket=_interopRequireDefault(require('./WebSocket')),_Image=_interopRequireDefault(require('./Image')),_ImageBitmap=_interopRequireDefault(require('./ImageBitmap')),_Audio=_interopRequireDefault(require('./Audio')),_FileReader=_interopRequireDefault(require('./FileReader')),_HTMLElement=_interopRequireDefault(require('./HTMLElement')),_HTMLImageElement=_interopRequireDefault(require('./HTMLImageElement')),_HTMLCanvasElement=_interopRequireDefault(require('./HTMLCanvasElement')),_HTMLMediaElement=_interopRequireDefault(require('./HTMLMediaElement')),_HTMLAudioElement=_interopRequireDefault(require('./HTMLAudioElement')),_HTMLVideoElement=_interopRequireDefault(require('./HTMLVideoElement')),_WebGLRenderingContext=_interopRequireDefault(require('./WebGLRenderingContext')),_index=require('./EventIniter/index.js'),_localStorage=_interopRequireDefault(require('./localStorage')),_location=_interopRequireDefault(require('./location')),_WindowProperties=require('./WindowProperties');Object['keys'](_WindowProperties)['forEach'](function(a){if(a==='default'||a==='__esModule')return;if(Object['prototype']['hasOwnProperty']['call'](_exportNames,a))return;if(a in exports&&exports[a]===_WindowProperties[a])return;Object['defineProperty'](exports,a,{'enumerable':!![],'get':function b(){return _WindowProperties[a];}});});function _interopRequireDefault(a){return a&&a['__esModule']?a:{'default':a};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new _Canvas['default']();var canvas=exports['canvas']=GameGlobal['screencanvas'],_GameGlobal=GameGlobal,setTimeout=exports['setTimeout']=_GameGlobal['setTimeout'],setInterval=exports['setInterval']=_GameGlobal['setInterval'],clearTimeout=exports['clearTimeout']=_GameGlobal['clearTimeout'],clearInterval=exports['clearInterval']=_GameGlobal['clearInterval'],requestAnimationFrame=exports['requestAnimationFrame']=_GameGlobal['requestAnimationFrame'],cancelAnimationFrame=exports['cancelAnimationFrame']=_GameGlobal['cancelAnimationFrame']; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/engine/VideoPlayer.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/engine/VideoPlayer.js +new file mode 100644 +index 0000000..3ee78f1 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/engine/VideoPlayer.js +@@ -0,0 +1 @@ ++'use strict';function _typeof(a){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(b){return typeof b;}:function(b){return b&&'function'==typeof Symbol&&b['constructor']===Symbol&&b!==Symbol['prototype']?'symbol':typeof b;},_typeof(a);}function _classCallCheck(b,c){if(!(b instanceof c))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(a,b){for(var c=0x0;ca['maxFrameSize']||d>a['maxFrameSize']){this['_packable']=![];return;}b['image']&&b['image']['getContext']&&(this['_packable']=!![]);}); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/fs-utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/fs-utils.js +new file mode 100644 +index 0000000..e5010cf +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/fs-utils.js +@@ -0,0 +1 @@ ++'use strict';var fs=wx['getFileSystemManager']?wx['getFileSystemManager']():null,outOfStorageRegExp=/the maximum size of the file storage/,fsUtils={'fs':fs,'isOutOfStorage':function isOutOfStorage(a){return outOfStorageRegExp['test'](a);},'getUserDataPath':function getUserDataPath(){return wx['env']['USER_DATA_PATH'];},'checkFsValid':function checkFsValid(){if(!fs)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function deleteFile(a,b){fs['unlink']({'filePath':a,'success':function c(){b&&b(null);},'fail':function d(e){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](e['errMsg'])),b&&b(new Error(e['errMsg']));}});},'downloadFile':function downloadFile(a,b,c,d,e){var f={'url':a,'success':function h(i){i['statusCode']===0xc8?e&&e(null,i['tempFilePath']||i['filePath']):(i['filePath']&&fsUtils['deleteFile'](i['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](i['statusCode'])),e&&e(new Error(i['statusCode']),null));},'fail':function i(j){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](j['errMsg'])),e&&e(new Error(j['errMsg']),null);}};if(b)f['filePath']=b;if(c)f['header']=c;var g=wx['downloadFile'](f);d&&g['onProgressUpdate'](d);},'saveFile':function saveFile(a,b,c){wx['saveFile']({'tempFilePath':a,'filePath':b,'success':function d(e){c&&c(null);},'fail':function e(f){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']));}});},'copyFile':function copyFile(a,b,c){fs['copyFile']({'srcPath':a,'destPath':b,'success':function d(){c&&c(null);},'fail':function e(f){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']));}});},'writeFile':function writeFile(a,b,c,d){fs['writeFile']({'filePath':a,'encoding':c,'data':b,'success':function e(){d&&d(null);},'fail':function f(g){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['errMsg'])),d&&d(new Error(g['errMsg']));}});},'writeFileSync':function writeFileSync(a,b,c){try{return fs['writeFileSync'](a,b,c),null;}catch(d){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](d['message'])),new Error(d['message']);}},'readFile':function readFile(a,b,c){fs['readFile']({'filePath':a,'encoding':b,'success':function d(e){c&&c(null,e['data']);},'fail':function e(f){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error(f['errMsg']),null);}});},'readDir':function readDir(a,b){fs['readdir']({'dirPath':a,'success':function c(d){b&&b(null,d['files']);},'fail':function d(e){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](e['errMsg'])),b&&b(new Error(e['errMsg']),null);}});},'readText':function readText(a,b){fsUtils['readFile'](a,'utf8',b);},'readArrayBuffer':function readArrayBuffer(a,b){fsUtils['readFile'](a,'',b);},'readJson':function readJson(a,b){fsUtils['readFile'](a,'utf8',function(c,d){var f=null;if(!c)try{f=JSON['parse'](d);}catch(g){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['message'])),c=new Error(g['message']);}b&&b(c,f);});},'readJsonSync':function readJsonSync(a){try{var b=fs['readFileSync'](a,'utf8');return JSON['parse'](b);}catch(c){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'makeDirSync':function makeDirSync(a,b){try{return fs['mkdirSync'](a,b),null;}catch(c){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'rmdirSync':function rmdirSync(a,b){try{fs['rmdirSync'](a,b);}catch(c){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](c['message'])),new Error(c['message']);}},'exists':function exists(a,b){fs['access']({'path':a,'success':function c(){b&&b(!![]);},'fail':function d(){b&&b(![]);}});},'loadSubpackage':function loadSubpackage(a,b,c){var d=wx['loadSubpackage']({'name':a,'success':function e(){c&&c();},'fail':function f(g){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](g['errMsg'])),c&&c(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](a,':\x20')['concat'](g['errMsg'])));}});return b&&d['onProgressUpdate'](b),d;},'unzip':function unzip(a,b,c){fs['unzip']({'zipFilePath':a,'targetPath':b,'success':function d(){c&&c(null);},'fail':function e(f){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](a,'\x20message:\x20')['concat'](f['errMsg'])),c&&c(new Error('unzip\x20failed:\x20'+f['errMsg']));}});}};window['fsUtils']=module['exports']=fsUtils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/unify.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/unify.js +new file mode 100644 +index 0000000..f58d987 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/unify.js +@@ -0,0 +1 @@ ++'use strict';var utils=require('./utils');if(window['__globalAdapter']){var globalAdapter=window['__globalAdapter'],systemInfo=wx['getSystemInfoSync'](),windowWidth=systemInfo['windowWidth'],windowHeight=systemInfo['windowHeight'],isLandscape=windowWidth>windowHeight;globalAdapter['isSubContext']=wx['getOpenDataContext']===undefined,globalAdapter['isDevTool']=systemInfo['platform']==='devtools',utils['cloneMethod'](globalAdapter,wx,'getSystemInfoSync'),utils['cloneMethod'](globalAdapter,wx,'onTouchStart'),utils['cloneMethod'](globalAdapter,wx,'onTouchMove'),utils['cloneMethod'](globalAdapter,wx,'onTouchEnd'),utils['cloneMethod'](globalAdapter,wx,'onTouchCancel'),utils['cloneMethod'](globalAdapter,wx,'createInnerAudioContext'),utils['cloneMethod'](globalAdapter,wx,'onAudioInterruptionEnd'),utils['cloneMethod'](globalAdapter,wx,'onAudioInterruptionBegin'),utils['cloneMethod'](globalAdapter,wx,'createVideo'),utils['cloneMethod'](globalAdapter,wx,'setPreferredFramesPerSecond'),utils['cloneMethod'](globalAdapter,wx,'showKeyboard'),utils['cloneMethod'](globalAdapter,wx,'hideKeyboard'),utils['cloneMethod'](globalAdapter,wx,'updateKeyboard'),utils['cloneMethod'](globalAdapter,wx,'onKeyboardInput'),utils['cloneMethod'](globalAdapter,wx,'onKeyboardConfirm'),utils['cloneMethod'](globalAdapter,wx,'onKeyboardComplete'),utils['cloneMethod'](globalAdapter,wx,'offKeyboardInput'),utils['cloneMethod'](globalAdapter,wx,'offKeyboardConfirm'),utils['cloneMethod'](globalAdapter,wx,'offKeyboardComplete'),utils['cloneMethod'](globalAdapter,wx,'getOpenDataContext'),utils['cloneMethod'](globalAdapter,wx,'onMessage'),utils['cloneMethod'](globalAdapter,wx,'loadSubpackage'),utils['cloneMethod'](globalAdapter,wx,'getSharedCanvas'),utils['cloneMethod'](globalAdapter,wx,'loadFont'),utils['cloneMethod'](globalAdapter,wx,'onShow'),utils['cloneMethod'](globalAdapter,wx,'onHide'),utils['cloneMethod'](globalAdapter,wx,'onError'),utils['cloneMethod'](globalAdapter,wx,'offError');var isAccelerometerInit=![],deviceOrientation=0x1;wx['onDeviceOrientationChange']&&wx['onDeviceOrientationChange'](function(a){if(a['value']==='landscape')deviceOrientation=0x1;else a['value']==='landscapeReverse'&&(deviceOrientation=-0x1);}),Object['assign'](globalAdapter,{'startAccelerometer':function startAccelerometer(a){!isAccelerometerInit?(isAccelerometerInit=!![],wx['onAccelerometerChange']&&wx['onAccelerometerChange'](function(b){var c={},d=b['x'],e=b['y'];if(isLandscape){var f=d;d=-e,e=f;}c['x']=d*deviceOrientation,c['y']=e*deviceOrientation,c['z']=b['z'],a&&a(c);})):wx['startAccelerometer']&&wx['startAccelerometer']({'fail':function b(c){console['error']('start\x20accelerometer\x20failed',c);}});},'stopAccelerometer':function stopAccelerometer(){wx['stopAccelerometer']&&wx['stopAccelerometer']({'fail':function a(b){console['error']('stop\x20accelerometer\x20failed',b);}});}}),globalAdapter['getSafeArea']=function(){var a=systemInfo['safeArea'],b=a['top'],c=a['left'],d=a['bottom'],e=a['right'],f=a['width'],g=a['height'];if(systemInfo['platform']==='ios'&&!globalAdapter['isDevTool']&&isLandscape){var h=[e,b,c,d,f,g];b=windowHeight-h[0x0],c=h[0x1],d=windowHeight-h[0x2],e=h[0x3],g=h[0x4],f=h[0x5];}return{'top':b,'left':c,'bottom':d,'right':e,'width':f,'height':g};};} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/utils.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/utils.js +new file mode 100644 +index 0000000..f6723a5 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/libs/wrapper/utils.js +@@ -0,0 +1 @@ ++'use strict';var utils={'cloneMethod':function cloneMethod(a,b,c,d){b[c]&&(d=d||c,a[d]=b[c]['bind'](b));}};module['exports']=utils; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/web-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/web-adapter.js +deleted file mode 100644 +index bee08f0..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/web-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function n(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function o(p,q,r,s){var t=this['doc'],u=t['createElementNS'](p,r||q),v=s['length'];j(this,u),this['currentElement']=u,this['locator']&&g(this['locator'],u);for(var w=0x0;w=G+H||G)return new java['lang']['String'](F,G,H)+'';return F;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(F){f['prototype'][F]=function(){return null;};});function j(F,G){!F['currentElement']?F['doc']['appendChild'](G):F['currentElement']['appendChild'](G);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d,window['DOMParser']=d;},{'./dom':0x2,'./entities':0x3,'./sax':0x4}],0x2:[function(a,b,c){'use strict';function d(ap){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(aq){return typeof aq;}:function(aq){return aq&&'function'==typeof Symbol&&aq['constructor']===Symbol&&aq!==Symbol['prototype']?'symbol':typeof aq;},d(ap);}function f(ap,aq){for(var ar in ap){aq[ar]=ap[ar];}}function g(ap,aq){var ar=ap['prototype'];if(!(ar instanceof aq)){var as=function au(){};;as['prototype']=aq['prototype'],as=new as();for(var at in ar){as[at]=ar[at];}ap['prototype']=ar=as;}ar['constructor']!=ap&&(typeof ap!='function'&&console['error']('unknow\x20Class:'+ap),ar['constructor']=ap);}var h='http://www.w3.org/1999/xhtml',i={},j=i['ELEMENT_NODE']=0x1,k=i['ATTRIBUTE_NODE']=0x2,l=i['TEXT_NODE']=0x3,m=i['CDATA_SECTION_NODE']=0x4,n=i['ENTITY_REFERENCE_NODE']=0x5,o=i['ENTITY_NODE']=0x6,p=i['PROCESSING_INSTRUCTION_NODE']=0x7,q=i['COMMENT_NODE']=0x8,r=i['DOCUMENT_NODE']=0x9,s=i['DOCUMENT_TYPE_NODE']=0xa,t=i['DOCUMENT_FRAGMENT_NODE']=0xb,u=i['NOTATION_NODE']=0xc,v={},w={},x=v['INDEX_SIZE_ERR']=(w[0x1]='Index\x20size\x20error',0x1),y=v['DOMSTRING_SIZE_ERR']=(w[0x2]='DOMString\x20size\x20error',0x2),z=v['HIERARCHY_REQUEST_ERR']=(w[0x3]='Hierarchy\x20request\x20error',0x3),A=v['WRONG_DOCUMENT_ERR']=(w[0x4]='Wrong\x20document',0x4),B=v['INVALID_CHARACTER_ERR']=(w[0x5]='Invalid\x20character',0x5),C=v['NO_DATA_ALLOWED_ERR']=(w[0x6]='No\x20data\x20allowed',0x6),D=v['NO_MODIFICATION_ALLOWED_ERR']=(w[0x7]='No\x20modification\x20allowed',0x7),E=v['NOT_FOUND_ERR']=(w[0x8]='Not\x20found',0x8),F=v['NOT_SUPPORTED_ERR']=(w[0x9]='Not\x20supported',0x9),G=v['INUSE_ATTRIBUTE_ERR']=(w[0xa]='Attribute\x20in\x20use',0xa),H=v['INVALID_STATE_ERR']=(w[0xb]='Invalid\x20state',0xb),I=v['SYNTAX_ERR']=(w[0xc]='Syntax\x20error',0xc),J=v['INVALID_MODIFICATION_ERR']=(w[0xd]='Invalid\x20modification',0xd),K=v['NAMESPACE_ERR']=(w[0xe]='Invalid\x20namespace',0xe),L=v['INVALID_ACCESS_ERR']=(w[0xf]='Invalid\x20access',0xf);function M(ap,aq){if(aq instanceof Error)var ar=aq;else{ar=this,Error['call'](this,w[ap]),this['message']=w[ap];if(Error['captureStackTrace'])Error['captureStackTrace'](this,M);}ar['code']=ap;if(aq)this['message']=this['message']+':\x20'+aq;return ar;};M['prototype']=Error['prototype'],f(v,M);function N(){};N['prototype']={'length':0x0,'item':function ap(aq){return this[aq]||null;},'toString':function aq(ar,as){for(var at=[],au=0x0;au=0x0){var av=as['length']-0x1;while(au0x0;},'lookupPrefix':function aJ(aK){var aL=this;while(aL){var aM=aL['_nsMap'];if(aM)for(var aN in aM){if(aM[aN]==aK)return aN;}aL=aL['nodeType']==k?aL['ownerDocument']:aL['parentNode'];}return null;},'lookupNamespaceURI':function aK(aL){var aM=this;while(aM){var aN=aM['_nsMap'];if(aN){if(aL in aN)return aN[aL];}aM=aM['nodeType']==k?aM['ownerDocument']:aM['parentNode'];}return null;},'isDefaultNamespace':function aL(aM){var aN=this['lookupPrefix'](aM);return aN==null;}};function W(aM){return aM=='<'&&'<'||aM=='>'&&'>'||aM=='&'&&'&'||aM=='\x22'&&'"'||'&#'+aM['charCodeAt']()+';';}f(i,V),f(i,V['prototype']);function X(aM,aN){if(aN(aM))return!![];if(aM=aM['firstChild'])do{if(X(aM,aN))return!![];}while(aM=aM['nextSibling']);}function Y(){}function Z(aM,aN,aO){aM&&aM['_inc']++;var aP=aO['namespaceURI'];aP=='http://www.w3.org/2000/xmlns/'&&(aN['_nsMap'][aO['prefix']?aO['localName']:'']=aO['value']);}function a0(aM,aN,aO,aP){aM&&aM['_inc']++;var aQ=aO['namespaceURI'];aQ=='http://www.w3.org/2000/xmlns/'&&delete aN['_nsMap'][aO['prefix']?aO['localName']:''];}function a1(aM,aN,aO){if(aM&&aM['_inc']){aM['_inc']++;var aP=aN['childNodes'];if(aO)aP[aP['length']++]=aO;else{var aQ=aN['firstChild'],aR=0x0;while(aQ){aP[aR++]=aQ,aQ=aQ['nextSibling'];}aP['length']=aR;}}}function a2(aM,aN){var aO=aN['previousSibling'],aP=aN['nextSibling'];return aO?aO['nextSibling']=aP:aM['firstChild']=aP,aP?aP['previousSibling']=aO:aM['lastChild']=aO,a1(aM['ownerDocument'],aM),aN;}function a3(aM,aN,aO){var aP=aN['parentNode'];aP&&aP['removeChild'](aN);if(aN['nodeType']===t){var aQ=aN['firstChild'];if(aQ==null)return aN;var aR=aN['lastChild'];}else aQ=aR=aN;var aS=aO?aO['previousSibling']:aM['lastChild'];aQ['previousSibling']=aS,aR['nextSibling']=aO;aS?aS['nextSibling']=aQ:aM['firstChild']=aQ;aO==null?aM['lastChild']=aR:aO['previousSibling']=aR;do{aQ['parentNode']=aM;}while(aQ!==aR&&(aQ=aQ['nextSibling']));return a1(aM['ownerDocument']||aM,aM),aN['nodeType']==t&&(aN['firstChild']=aN['lastChild']=null),aN;}function a4(aM,aN){var aO=aN['parentNode'];if(aO){var aP=aM['lastChild'];aO['removeChild'](aN);var aP=aM['lastChild'];}var aP=aM['lastChild'];return aN['parentNode']=aM,aN['previousSibling']=aP,aN['nextSibling']=null,aP?aP['nextSibling']=aN:aM['firstChild']=aN,aM['lastChild']=aN,a1(aM['ownerDocument'],aM,aN),aN;}Y['prototype']={'nodeName':'#document','nodeType':r,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function aM(aN,aO){if(aN['nodeType']==t){var aP=aN['firstChild'];while(aP){var aQ=aP['nextSibling'];this['insertBefore'](aP,aO),aP=aQ;}return aN;}return this['documentElement']==null&&aN['nodeType']==j&&(this['documentElement']=aN),(a3(this,aN,aO),aN['ownerDocument']=this,aN);},'removeChild':function aN(aO){return this['documentElement']==aO&&(this['documentElement']=null),a2(this,aO);},'importNode':function aO(aP,aQ){return al(this,aP,aQ);},'getElementById':function aP(aQ){var aR=null;return X(this['documentElement'],function(aS){if(aS['nodeType']==j){if(aS['getAttribute']('id')==aQ)return aR=aS,!![];}}),aR;},'createElement':function aQ(aR){var aS=new a5();aS['ownerDocument']=this,aS['nodeName']=aR,aS['tagName']=aR,aS['childNodes']=new N();var aT=aS['attributes']=new Q();return aT['_ownerElement']=aS,aS;},'createDocumentFragment':function aR(){var aS=new af();return aS['ownerDocument']=this,aS['childNodes']=new N(),aS;},'createTextNode':function aS(aT){var aU=new a8();return aU['ownerDocument']=this,aU['appendData'](aT),aU;},'createComment':function aT(aU){var aV=new a9();return aV['ownerDocument']=this,aV['appendData'](aU),aV;},'createCDATASection':function aU(aV){var aW=new aa();return aW['ownerDocument']=this,aW['appendData'](aV),aW;},'createProcessingInstruction':function aV(aW,aX){var aY=new ag();return aY['ownerDocument']=this,aY['tagName']=aY['target']=aW,aY['nodeValue']=aY['data']=aX,aY;},'createAttribute':function aW(aX){var aY=new a6();return aY['ownerDocument']=this,aY['name']=aX,aY['nodeName']=aX,aY['localName']=aX,aY['specified']=!![],aY;},'createEntityReference':function aX(aY){var aZ=new ae();return aZ['ownerDocument']=this,aZ['nodeName']=aY,aZ;},'createElementNS':function aY(aZ,b0){var b1=new a5(),b2=b0['split'](':'),b3=b1['attributes']=new Q();return b1['childNodes']=new N(),b1['ownerDocument']=this,b1['nodeName']=b0,b1['tagName']=b0,b1['namespaceURI']=aZ,b2['length']==0x2?(b1['prefix']=b2[0x0],b1['localName']=b2[0x1]):b1['localName']=b0,b3['_ownerElement']=b1,b1;},'createAttributeNS':function aZ(b0,b1){var b2=new a6(),b3=b1['split'](':');return b2['ownerDocument']=this,b2['nodeName']=b1,b2['name']=b1,b2['namespaceURI']=b0,b2['specified']=!![],b3['length']==0x2?(b2['prefix']=b3[0x0],b2['localName']=b3[0x1]):b2['localName']=b1,b2;}},g(Y,V);function a5(){this['_nsMap']={};};a5['prototype']={'nodeType':j,'hasAttribute':function b0(b1){return this['getAttributeNode'](b1)!=null;},'getAttribute':function b1(b2){var b3=this['getAttributeNode'](b2);return b3&&b3['value']||'';},'getAttributeNode':function b2(b3){return this['attributes']['getNamedItem'](b3);},'setAttribute':function b3(b4,b5){var b6=this['ownerDocument']['createAttribute'](b4);b6['value']=b6['nodeValue']=''+b5,this['setAttributeNode'](b6);},'removeAttribute':function b4(b5){var b6=this['getAttributeNode'](b5);b6&&this['removeAttributeNode'](b6);},'appendChild':function b5(b6){return b6['nodeType']===t?this['insertBefore'](b6,null):a4(this,b6);},'setAttributeNode':function b6(b7){return this['attributes']['setNamedItem'](b7);},'setAttributeNodeNS':function b7(b8){return this['attributes']['setNamedItemNS'](b8);},'removeAttributeNode':function b8(b9){return this['attributes']['removeNamedItem'](b9['nodeName']);},'removeAttributeNS':function b9(ba,bb){var bc=this['getAttributeNodeNS'](ba,bb);bc&&this['removeAttributeNode'](bc);},'hasAttributeNS':function ba(bb,bc){return this['getAttributeNodeNS'](bb,bc)!=null;},'getAttributeNS':function bb(bc,bd){var be=this['getAttributeNodeNS'](bc,bd);return be&&be['value']||'';},'setAttributeNS':function bc(bd,be,bf){var bg=this['ownerDocument']['createAttributeNS'](bd,be);bg['value']=bg['nodeValue']=''+bf,this['setAttributeNode'](bg);},'getAttributeNodeNS':function bd(be,bf){return this['attributes']['getNamedItemNS'](be,bf);},'getElementsByTagName':function be(bf){return new O(this,function(bg){var bh=[];return X(bg,function(bi){bi!==bg&&bi['nodeType']==j&&(bf==='*'||bi['tagName']==bf)&&bh['push'](bi);}),bh;});},'getElementsByTagNameNS':function bf(bg,bh){return new O(this,function(bi){var bj=[];return X(bi,function(bk){bk!==bi&&bk['nodeType']===j&&(bg==='*'||bk['namespaceURI']===bg)&&(bh==='*'||bk['localName']==bh)&&bj['push'](bk);}),bj;});}},Y['prototype']['getElementsByTagName']=a5['prototype']['getElementsByTagName'],Y['prototype']['getElementsByTagNameNS']=a5['prototype']['getElementsByTagNameNS'],g(a5,V);function a6(){};a6['prototype']['nodeType']=k,g(a6,V);function a7(){};a7['prototype']={'data':'','substringData':function bg(bh,bi){return this['data']['substring'](bh,bh+bi);},'appendData':function bh(bi){bi=this['data']+bi,this['nodeValue']=this['data']=bi,this['length']=bi['length'];},'insertData':function bi(bj,bk){this['replaceData'](bj,0x0,bk);},'appendChild':function bj(bk){throw new Error(w[z]);},'deleteData':function bk(bl,bm){this['replaceData'](bl,bm,'');},'replaceData':function bl(bm,bn,bo){var bp=this['data']['substring'](0x0,bm),bq=this['data']['substring'](bm+bn);bo=bp+bo+bq,this['nodeValue']=this['data']=bo,this['length']=bo['length'];}},g(a7,V);function a8(){};a8['prototype']={'nodeName':'#text','nodeType':l,'splitText':function bm(bn){var bo=this['data'],bp=bo['substring'](bn);bo=bo['substring'](0x0,bn),this['data']=this['nodeValue']=bo,this['length']=bo['length'];var bq=this['ownerDocument']['createTextNode'](bp);return this['parentNode']&&this['parentNode']['insertBefore'](bq,this['nextSibling']),bq;}},g(a8,a7);function a9(){};a9['prototype']={'nodeName':'#comment','nodeType':q},g(a9,a7);function aa(){};aa['prototype']={'nodeName':'#cdata-section','nodeType':m},g(aa,a7);function ab(){};ab['prototype']['nodeType']=s,g(ab,V);function ac(){};ac['prototype']['nodeType']=u,g(ac,V);function ad(){};ad['prototype']['nodeType']=o,g(ad,V);function ae(){};ae['prototype']['nodeType']=n,g(ae,V);function af(){};af['prototype']['nodeName']='#document-fragment',af['prototype']['nodeType']=t,g(af,V);function ag(){}ag['prototype']['nodeType']=p,g(ag,V);function ah(){}ah['prototype']['serializeToString']=function(bn,bo,bp){return ai['call'](bn,bo,bp);},V['prototype']['toString']=ai;function ai(bn,bo){var bp=[],bq=this['nodeType']==0x9&&this['documentElement']||this,br=bq['prefix'],bs=bq['namespaceURI'];if(bs&&br==null){var br=bq['lookupPrefix'](bs);if(br==null)var bt=[{'namespace':bs,'prefix':null}];}return ak(this,bp,bn,bo,bt),bp['join']('');}function aj(bn,bo,bp){var bq=bn['prefix']||'',br=bn['namespaceURI'];if(!bq&&!br)return![];if(bq==='xml'&&br==='http://www.w3.org/XML/1998/namespace'||br=='http://www.w3.org/2000/xmlns/')return![];var bs=bp['length'];while(bs--){var bt=bp[bs];if(bt['prefix']==bq)return bt['namespace']!=br;}return!![];}function ak(bn,bo,bp,bq,br){if(bq){bn=bq(bn);if(bn){if(typeof bn=='string'){bo['push'](bn);return;}}else return;}switch(bn['nodeType']){case j:if(!br)br=[];var bs=br['length'],bt=bn['attributes'],bu=bt['length'],bv=bn['firstChild'],bw=bn['tagName'];bp=h===bn['namespaceURI']||bp,bo['push']('<',bw);for(var bx=0x0;bx');if(bp&&/^script$/i['test'](bw))while(bv){bv['data']?bo['push'](bv['data']):ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}else while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}bo['push']('');}else bo['push']('/>');return;case r:case t:var bv=bn['firstChild'];while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}return;case k:return bo['push']('\x20',bn['name'],'=\x22',bn['value']['replace'](/[<&"]/g,W),'\x22');case l:return bo['push'](bn['data']['replace'](/[<&]/g,W));case m:return bo['push']('');case q:return bo['push']('');case s:var bC=bn['publicId'],bD=bn['systemId'];bo['push']('');else{if(bD&&bD!='.')bo['push']('\x20SYSTEM\x20\x22',bD,'\x22>');else{var bE=bn['internalSubset'];bE&&bo['push']('\x20[',bE,']'),bo['push']('>');}}return;case p:return bo['push']('');case n:return bo['push']('&',bn['nodeName'],';');default:bo['push']('??',bn['nodeName']);}}function al(bn,bo,bp){var bq;switch(bo['nodeType']){case j:bq=bo['cloneNode'](![]),bq['ownerDocument']=bn;case t:break;case k:bp=!![];break;}!bq&&(bq=bo['cloneNode'](![]));bq['ownerDocument']=bn,bq['parentNode']=null;if(bp){var br=bo['firstChild'];while(br){bq['appendChild'](al(bn,br,bp)),br=br['nextSibling'];}}return bq;}function am(bn,bo,bp){var bq=new bo['constructor']();for(var br in bo){var bs=bo[br];d(bs)!='object'&&(bs!=bq[br]&&(bq[br]=bs));}bo['childNodes']&&(bq['childNodes']=new N());bq['ownerDocument']=bn;switch(bq['nodeType']){case j:var bt=bo['attributes'],bu=bq['attributes']=new Q(),bv=bt['length'];bu['_ownerElement']=bq;for(var bw=0x0;bw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function A(B,C,D){var E=this['domBuilder'];E['startDocument'](),v(C,C={}),p(B,C,D,E,this['errorHandler']),E['endDocument']();}};function p(B,C,D,E,F){function G(a7){if(a7>0xffff){a7-=0x10000;var a8=0xd800+(a7>>0xa),a9=0xdc00+(a7&0x3ff);return String['fromCharCode'](a8,a9);}else return String['fromCharCode'](a7);}function H(a7){var a8=a7['slice'](0x1,-0x1);if(a8 in D)return D[a8];else return a8['charAt'](0x0)==='#'?G(parseInt(a8['substr'](0x1)['replace']('x','0x'))):(F['error']('entity\x20not\x20found:'+a7),a7);}function I(a7){if(a7>Q){var a8=B['substring'](Q,a7)['replace'](/&#?\w+;/g,H);N&&J(Q),E['characters'](a8,0x0,a7-Q),Q=a7;}}function J(a7,a8){while(a7>=L&&(a8=M['exec'](B))){K=a8['index'],L=K+a8[0x0]['length'],N['lineNumber']++;}N['columnNumber']=a7-K+0x1;}var K=0x0,L=0x0,M=/.*(?:\r\n?|\n)|.*$/g,N=E['locator'],O=[{'currentNSMap':C}],P={},Q=0x0;while(!![]){try{var R=B['indexOf']('<',Q);if(R<0x0){if(!B['substr'](Q)['match'](/^\s*$/)){var S=E['doc'],T=S['createTextNode'](B['substr'](Q));S['appendChild'](T),E['currentElement']=T;}return;}R>Q&&I(R);switch(B['charAt'](R+0x1)){case'/':var U=B['indexOf']('>',R+0x3),V=B['substring'](R+0x2,U),W=O['pop']();if(U<0x0)V=B['substring'](R+0x2)['replace'](/[\s<].*/,''),F['error']('end\x20tag\x20name:\x20'+V+'\x20is\x20not\x20complete:'+W['tagName']),U=R+0x1+V['length'];else V['match'](/\sQ?Q=U:I(Math['max'](R,Q)+0x1);}}function q(B,C){return C['lineNumber']=B['lineNumber'],C['columnNumber']=B['columnNumber'],C;}function r(B,C,D,E,F,G){var H,I,J=++C,K=g;while(!![]){var L=B['charAt'](J);switch(L){case'=':if(K===h)H=B['slice'](C,J),K=j;else{if(K===i)K=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(K===j||K===h){K===h&&(G['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),H=B['slice'](C,J));C=J+0x1,J=B['indexOf'](L,C);if(J>0x0)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C-0x1),K=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+L+'\x27\x20match');}else{if(K==k)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C),G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20start\x20quot('+L+')!!'),C=J+0x1,K=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:K=n,D['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':G['error']('unexpected\x20end\x20of\x20input');K==g&&D['setTagName'](B['slice'](C,J));return J;case'>':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:break;case k:case h:I=B['slice'](C,J);I['slice'](-0x1)==='/'&&(D['closed']=!![],I=I['slice'](0x0,-0x1));case i:K===i&&(I=H);K==k?(G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I['replace'](/&#?\w+;/g,F),C)):((E['']!=='http://www.w3.org/1999/xhtml'||!I['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20value!!\x20\x22'+I+'\x22\x20instead!!'),D['add'](I,I,C));break;case j:throw new Error('attribute\x20value\x20missed!!');}return J;case'\u0080':L='\x20';default:if(L<='\x20')switch(K){case g:D['setTagName'](B['slice'](C,J)),K=m;break;case h:H=B['slice'](C,J),K=i;break;case k:var I=B['slice'](C,J)['replace'](/&#?\w+;/g,F);G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I,C);case l:K=m;break;}else switch(K){case i:var M=D['tagName'];(E['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead2!!');D['add'](H,H,C),C=J,K=h;break;case l:G['warning']('attribute\x20space\x20is\x20required\x22'+H+'\x22!!');case m:K=h,C=J;break;case j:K=k,C=J;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}J++;}}function s(B,C,D){var E=B['tagName'],F=null,G=B['length'];while(G--){var H=B[G],I=H['qName'],J=H['value'],K=I['indexOf'](':');if(K>0x0)var L=H['prefix']=I['slice'](0x0,K),M=I['slice'](K+0x1),N=L==='xmlns'&&M;else M=I,L=null,N=I==='xmlns'&&'';H['localName']=M,N!==![]&&(F==null&&(F={},v(D,D={})),D[N]=F[N]=J,H['uri']='http://www.w3.org/2000/xmlns/',C['startPrefixMapping'](N,J));}var G=B['length'];while(G--){H=B[G];var L=H['prefix'];L&&(L==='xml'&&(H['uri']='http://www.w3.org/XML/1998/namespace'),L!=='xmlns'&&(H['uri']=D[L||'']));}var K=E['indexOf'](':');K>0x0?(L=B['prefix']=E['slice'](0x0,K),M=B['localName']=E['slice'](K+0x1)):(L=null,M=B['localName']=E);var O=B['uri']=D[L||''];C['startElement'](O,M,E,B);if(B['closed']){C['endElement'](O,M,E);if(F)for(L in F){C['endPrefixMapping'](L);}}else return B['currentNSMap']=D,B['localNSMap']=F,!![];}function t(B,C,D,E,F){if(/^(?:script|textarea)$/i['test'](D)){var G=B['indexOf']('',C),H=B['substring'](C+0x1,G);if(/[&<]/['test'](H)){if(/^script$/i['test'](D))return F['characters'](H,0x0,H['length']),G;return H=H['replace'](/&#?\w+;/g,E),F['characters'](H,0x0,H['length']),G;}}return C+0x1;}function u(B,C,D,E){var F=E[D];return F==null&&(F=B['lastIndexOf'](''),F',C+0x4);return G>C?(D['comment'](B,C+0x4,G-C-0x4),G+0x3):(E['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(B['substr'](C+0x3,0x6)=='CDATA['){var G=B['indexOf'](']]>',C+0x9);return D['startCDATA'](),D['characters'](B,C+0x9,G-C-0x9),D['endCDATA'](),G+0x3;}var H=z(B,C),I=H['length'];if(I>0x1&&/!doctype/i['test'](H[0x0][0x0])){var J=H[0x1][0x0],K=I>0x3&&/^public$/i['test'](H[0x2][0x0])&&H[0x3][0x0],L=I>0x4&&H[0x4][0x0],M=H[I-0x1];return D['startDTD'](J,K&&K['replace'](/^(['"])(.*?)\1$/,'$2'),L&&L['replace'](/^(['"])(.*?)\1$/,'$2')),D['endDTD'](),M['index']+M[0x0]['length'];}}return-0x1;}function x(B,C,D){var E=B['indexOf']('?>',C);if(E){var F=B['substring'](C,E)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(F){var G=F[0x0]['length'];return D['processingInstruction'](F[0x1],F[0x2]),E+0x2;}else return-0x1;}return-0x1;}function y(B){}y['prototype']={'setTagName':function B(C){if(!f['test'](C))throw new Error('invalid\x20tagName:'+C);this['tagName']=C;},'add':function C(D,E,F){if(!f['test'](D))throw new Error('invalid\x20attribute:'+D);this[this['length']++]={'qName':D,'value':E,'offset':F};},'length':0x0,'getLocalName':function D(E){return this[E]['localName'];},'getLocator':function E(F){return this[F]['locator'];},'getQName':function F(G){return this[G]['qName'];},'getURI':function G(H){return this[H]['uri'];},'getValue':function H(I){return this[I]['value'];}};function z(I,J){var K,L=[],M=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;M['lastIndex']=J,M['exec'](I);while(K=M['exec'](I)){L['push'](K);if(K[0x1])return L;}}c['XMLReader']=o;},{}],0x5:[function(a,b,c){'use strict';function d(D){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(E){return typeof E;}:function(E){return E&&'function'==typeof Symbol&&E['constructor']===Symbol&&E!==Symbol['prototype']?'symbol':typeof E;},d(D);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLAudioElement'));function f(D){return D&&D['__esModule']?D:{'default':D};}function g(D,E){if(!(D instanceof E))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(D,E){for(var F=0x0;F0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};p(E,'addEventListener',this,0x3)([G,H,I]),G=String(G)['toLowerCase'](),this['_loaded']&&this['_canplayEvents']['indexOf'](G)!==-0x1&&this['dispatchEvent']({'type':G});}},{'key':'load','value':function G(){}},{'key':'play','value':function H(){B[this['_$sn']]['play']();}},{'key':'resume','value':function I(){B[this['_$sn']]['resume']();}},{'key':'pause','value':function J(){B[this['_$sn']]['pause']();}},{'key':'stop','value':function K(){B[this['_$sn']]['stop']();}},{'key':'destroy','value':function L(){B[this['_$sn']]['destroy']();}},{'key':'canPlayType','value':function M(){var N=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(typeof N!=='string')return'';if(N['indexOf']('audio/mpeg')>-0x1||N['indexOf']('audio/mp4'))return'probably';return'';}},{'key':'currentTime','get':function N(){return B[this['_$sn']]['currentTime'];},'set':function O(P){B[this['_$sn']]['seek'](P);}},{'key':'duration','get':function P(){return B[this['_$sn']]['duration'];}},{'key':'src','get':function Q(){return this['_src'];},'set':function R(S){this['_src']=S,this['_loaded']=![],this['readyState']=this['HAVE_NOTHING'];var T=B[this['_$sn']];T['src']=S;}},{'key':'loop','get':function S(){return this['_loop'];},'set':function T(U){this['_loop']=U,B[this['_$sn']]['loop']=U;}},{'key':'autoplay','get':function U(){return this['autoplay'];},'set':function V(W){this['_autoplay']=W,B[this['_$sn']]['autoplay']=W;}},{'key':'paused','get':function W(){return this['_paused'];}},{'key':'volume','get':function X(){return this['_volume'];},'set':function Y(Z){this['_volume']=Z,!this['_muted']&&(B[this['_$sn']]['volume']=Z);}},{'key':'muted','get':function Z(){return this['_muted'];},'set':function a0(a1){this['_muted']=a1,a1?B[this['_$sn']]['volume']=0x0:B[this['_$sn']]['volume']=this['_volume'];}},{'key':'cloneNode','value':function a1(){var a2=new E();return a2['loop']=this['loop'],a2['autoplay']=this['autoplay'],a2['src']=this['src'],a2;}}]);}(e['default']);},{'./HTMLAudioElement':0xd}],0x6:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=h;var d=a('./WindowProperties'),e=![],f=![],g=![];function h(){var canvas=wx['createCanvas']();canvas['type']='canvas';var i=canvas['getContext'];return canvas['getBoundingClientRect']=function(){var j={'top':0x0,'left':0x0,'width':window['innerWidth'],'height':window['innerHeight']};return j;},canvas['style']={'top':'0px','left':'0px','width':''['concat'](d['innerWidth'],'px'),'height':''['concat'](d['innerHeight'],'px')},canvas['addEventListener']=function(j,k){var l=arguments['length']>0x2&&arguments[0x2]!==undefined?arguments[0x2]:{};typeof getApp==='function'?GameGlobal['document']['addEventListener'](j,k,l):document['addEventListener'](j,k,l);},canvas['removeEventListener']=function(j,k){typeof getApp==='function'?GameGlobal['document']['removeEventListener'](j,k):document['removeEventListener'](j,k);},canvas['dispatchEvent']=function(){var j=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('canvas.dispatchEvent',j['type'],j);},Object['defineProperty'](canvas,'clientWidth',{'enumerable':!![],'get':function j(){return d['innerWidth'];}}),Object['defineProperty'](canvas,'clientHeight',{'enumerable':!![],'get':function k(){return d['innerHeight'];}}),canvas;}},{'./WindowProperties':0x18}],0x7:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./Node'));function e(u){return u&&u['__esModule']?u:{'default':u};}function f(u){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},f(u);}function g(u,v){for(var w=0x0;w0x2&&arguments[0x2]!==undefined?arguments[0x2]:{},q=j['get'](this);!q&&(q={},j['set'](this,q));!q[n]&&(q[n]=[]);q[n]['push'](o);if(p['capture']){}if(p['once']){}if(p['passive']){}}},{'key':'removeEventListener','value':function n(o,p){var q=j['get'](this);if(q){var r=q[o];if(r&&r['length']>0x0)for(var s=r['length'];s--;s>0x0){if(r[s]===p){r['splice'](s,0x1);break;}}}}},{'key':'dispatchEvent','value':function o(){var p=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{},q=j['get'](this)[p['type']];if(q)for(var r=0x0;r0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return i(this,x),y=l(this,x),s(y,'className',''),s(y,'childern',[]),s(y,'style',{'width':''['concat'](f['innerWidth'],'px'),'height':''['concat'](f['innerHeight'],'px')}),s(y,'insertBefore',e['noop']),s(y,'innerHTML',''),y['tagName']=z['toUpperCase'](),y;}return q(x,w),k(x,[{'key':'setAttribute','value':function y(z,A){this[z]=A;}},{'key':'getAttribute','value':function z(A){return this[A];}},{'key':'clientWidth','get':function A(){var B=parseInt(this['style']['fontSize'],0xa)*this['innerHTML']['length'];return Number['isNaN'](B)?0x0:B;}},{'key':'clientHeight','get':function B(){var C=parseInt(this['style']['fontSize'],0xa);return Number['isNaN'](C)?0x0:C;}},{'key':'getBoundingClientRect','value':function C(){return{'top':0x0,'left':0x0,'width':f['innerWidth'],'height':f['innerHeight']};}},{'key':'focus','value':function D(){}}]);}(d['default']);},{'./Element':0x7,'./WindowProperties':0x18,'./util/index.js':0x1f}],0x10:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./HTMLElement'));function e(h){return h&&h['__esModule']?h:{'default':h};}var f=wx['createImage']()['constructor'],g=c['default']=f;},{'./HTMLElement':0xf}],0x11:[function(a,b,c){'use strict';function d(t){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(u){return typeof u;}:function(u){return u&&'function'==typeof Symbol&&u['constructor']===Symbol&&u!==Symbol['prototype']?'symbol':typeof u;},d(t);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var e=f(a('./HTMLElement'));function f(t){return t&&t['__esModule']?t:{'default':t};}function g(t,u){if(!(t instanceof u))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(u,v){for(var w=0x0;w-0x1)return this['childNodes']['splice'](A,0x1);return null;}}]);}(d['default']);},{'./EventTarget.js':0xb}],0x16:[function(a,b,c){'use strict';function d(k){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(l){return typeof l;}:function(l){return l&&'function'==typeof Symbol&&l['constructor']===Symbol&&l!==Symbol['prototype']?'symbol':typeof l;},d(k);}Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;function e(k,l){for(var m=0x0;m0x1&&arguments[0x1]!==undefined?arguments[0x1]:[];e(this,m),h(this,'binaryType',''),h(this,'bufferedAmount',0x0),h(this,'extensions',''),h(this,'onclose',null),h(this,'onerror',null),h(this,'onmessage',null),h(this,'onopen',null),h(this,'protocol',''),h(this,'readyState',0x3);if(typeof n!=='string'||!/(^ws:\/\/)|(^wss:\/\/)/['test'](n))throw new TypeError('Failed\x20to\x20construct\x20\x27WebSocket\x27:\x20The\x20URL\x20\x27'['concat'](n,'\x27\x20is\x20invalid'));this['url']=n,this['readyState']=m['CONNECTING'];var q=wx['connectSocket']({'url':n,'protocols':Array['isArray'](p)?p:[p],'tcpNoDelay':!![]});return k['set'](this,q),q['onClose'](function(r){o['readyState']=m['CLOSED'],typeof o['onclose']==='function'&&o['onclose'](r);}),q['onMessage'](function(r){typeof o['onmessage']==='function'&&o['onmessage'](r);}),q['onOpen'](function(){o['readyState']=m['OPEN'],typeof o['onopen']==='function'&&o['onopen']();}),q['onError'](function(r){typeof o['onerror']==='function'&&o['onerror'](new Error(r['errMsg']));}),this;}return g(m,[{'key':'close','value':function n(o,p){this['readyState']=m['CLOSING'];var q=k['get'](this);q['close']({'code':o,'reason':p});}},{'key':'send','value':function o(p){if(typeof p!=='string'&&!(p instanceof ArrayBuffer)&&!ArrayBuffer['isView'](p))throw new TypeError('Failed\x20to\x20send\x20message:\x20The\x20data\x20'['concat'](p,'\x20is\x20invalid'));var q=k['get'](this);q['send']({'data':p});}}]);}());h(l,'CONNECTING',0x0),h(l,'OPEN',0x1),h(l,'CLOSING',0x2),h(l,'CLOSED',0x3);},{}],0x18:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['screen']=c['performance']=c['ontouchstart']=c['ontouchmove']=c['ontouchend']=c['innerWidth']=c['innerHeight']=c['devicePixelRatio']=void 0x0;var d=wx['getSystemInfoSync'](),e=d['screenWidth'],f=d['screenHeight'],g=c['devicePixelRatio']=d['devicePixelRatio'],h=c['innerWidth']=e,i=c['innerHeight']=f,j=c['screen']={'width':e,'height':f,'availWidth':h,'availHeight':i,'availLeft':0x0,'availTop':0x0},k=c['performance']={'now':Date['now']},l=c['ontouchstart']=null,m=c['ontouchmove']=null,n=c['ontouchend']=null;},{}],0x19:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=e(a('./EventTarget.js'));function e(B){return B&&B['__esModule']?B:{'default':B};}function f(B){'@babel/helpers - typeof';return f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(C){return typeof C;}:function(C){return C&&'function'==typeof Symbol&&C['constructor']===Symbol&&C!==Symbol['prototype']?'symbol':typeof C;},f(B);}function g(B,C){if(!(B instanceof C))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function h(B,C){for(var D=0x0;D0x1?C-0x1:0x0),E=0x1;E0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';if(this['readyState']!==C['OPENED'])throw new Error('Failed\x20to\x20execute\x20\x27send\x27\x20on\x20\x27XMLHttpRequest\x27:\x20The\x20object\x27s\x20state\x20must\x20be\x20OPENED.');else{var L=wx['request']({'data':K,'url':t['get'](this),'method':u['get'](this),'header':v['get'](this),'dataType':'other','responseType':this['responseType']==='arraybuffer'?'arraybuffer':'text','timeout':this['timeout']||undefined,'success':function M(N){var O=N['data'],P=N['statusCode'],Q=N['header'];J['status']=P,w['set'](J,Q),y['call'](J,'loadstart'),z['call'](J,C['HEADERS_RECEIVED']),z['call'](J,C['LOADING']);switch(J['responseType']){case'json':J['responseText']=O;try{J['response']=JSON['parse'](O);}catch(U){J['response']=null;}break;case'':case'text':J['responseText']=J['response']=O;break;case'arraybuffer':J['response']=O,J['responseText']='';var R=new Uint8Array(O),S=R['byteLength'];for(var T=0x0;T0x0)for(var z=y['length'];z--;z>0x0){if(y[z]===x){y['splice'](z,0x1);break;}}},'dispatchEvent':function w(x){var y=l[x['type']];if(y)for(var z=0x0;z0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};console['log']('window.dispatchEvent',s['type'],s);};var l=wx['getSystemInfoSync'](),m=l['platform'];if(typeof __devtoolssubcontext==='undefined'&&m==='devtools'){for(var n in e){var o=Object['getOwnPropertyDescriptor'](j,n);(!o||o['configurable']===!![])&&Object['defineProperty'](window,n,{'value':e[n]});}for(var p in e['document']){var q=Object['getOwnPropertyDescriptor'](j['document'],p);(!q||q['configurable']===!![])&&Object['defineProperty'](j['document'],p,{'value':e['document'][p]});}window['parent']=window;}else{for(var r in e){j[r]=e[r];}j['window']=e,window=j,window['top']=window['parent']=window;}}!GameGlobal['__isAdapterInjected']&&(GameGlobal['__isAdapterInjected']=!![],k()),j['CCWebAssembly']=j['WebAssembly']=j['WXWebAssembly'],a('../../../../common/xmldom/dom-parser'),a('../unify'),a('../fs-utils');},{'../../../../common/xmldom/dom-parser':0x1,'../fs-utils':0x21,'../unify':0x22,'./HTMLElement':0xf,'./document':0x1a,'./window':0x20}],0x1c:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d={get 'length'(){var f=wx['getStorageInfoSync'](),g=f['keys'];return g['length'];},'key':function f(g){var h=wx['getStorageInfoSync'](),i=h['keys'];return i[g];},'getItem':function g(h){return wx['getStorageSync'](h);},'setItem':function h(i,j){return wx['setStorageSync'](i,j);},'removeItem':function i(j){wx['removeStorageSync'](j);},'clear':function j(){wx['clearStorageSync']();}},e=c['default']=d;},{}],0x1d:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d={'href':'game.js','protocol':'','reload':function f(){}},e=c['default']=d;},{}],0x1e:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['default']=void 0x0;var d=a('./util/index.js'),e=wx['getSystemInfoSync']();console['log'](e);var f=e['system'],g=e['platform'],h=e['language'],i=e['version'],j=f['toLowerCase']()['indexOf']('android')!==-0x1,k=j?'Android;\x20CPU\x20'['concat'](f):'iPhone;\x20CPU\x20iPhone\x20OS\x20'['concat'](f,'\x20like\x20Mac\x20OS\x20X'),l='Mozilla/5.0\x20('['concat'](k,')\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20MicroMessenger/')['concat'](i,'\x20MiniGame\x20NetType/WIFI\x20Language/')['concat'](h),navigator={'platform':g,'language':h,'appVersion':'5.0\x20('['concat'](k,')\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1'),'userAgent':l,'onLine':!![],'geolocation':{'getCurrentPosition':d['noop'],'watchPosition':d['noop'],'clearWatch':d['noop']}};wx['onNetworkStatusChange']&&wx['onNetworkStatusChange'](function(n){navigator['onLine']=n['isConnected'];});var m=c['default']=navigator;},{'./util/index.js':0x1f}],0x1f:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['noop']=d;function d(){}},{}],0x20:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]});var d={'canvas':!![],'setTimeout':!![],'setInterval':!![],'clearTimeout':!![],'clearInterval':!![],'requestAnimationFrame':!![],'cancelAnimationFrame':!![],'navigator':!![],'XMLHttpRequest':!![],'WebSocket':!![],'Image':!![],'ImageBitmap':!![],'Audio':!![],'FileReader':!![],'HTMLElement':!![],'HTMLImageElement':!![],'HTMLCanvasElement':!![],'HTMLMediaElement':!![],'HTMLAudioElement':!![],'HTMLVideoElement':!![],'WebGLRenderingContext':!![],'TouchEvent':!![],'MouseEvent':!![],'DeviceMotionEvent':!![],'localStorage':!![],'location':!![]};Object['defineProperty'](c,'Audio',{'enumerable':!![],'get':function F(){return k['default'];}}),Object['defineProperty'](c,'DeviceMotionEvent',{'enumerable':!![],'get':function G(){return t['DeviceMotionEvent'];}}),Object['defineProperty'](c,'FileReader',{'enumerable':!![],'get':function H(){return l['default'];}}),Object['defineProperty'](c,'HTMLAudioElement',{'enumerable':!![],'get':function I(){return q['default'];}}),Object['defineProperty'](c,'HTMLCanvasElement',{'enumerable':!![],'get':function J(){return o['default'];}}),Object['defineProperty'](c,'HTMLElement',{'enumerable':!![],'get':function K(){return m['default'];}}),Object['defineProperty'](c,'HTMLImageElement',{'enumerable':!![],'get':function L(){return n['default'];}}),Object['defineProperty'](c,'HTMLMediaElement',{'enumerable':!![],'get':function M(){return p['default'];}}),Object['defineProperty'](c,'HTMLVideoElement',{'enumerable':!![],'get':function N(){return r['default'];}}),Object['defineProperty'](c,'Image',{'enumerable':!![],'get':function O(){return i['default'];}}),Object['defineProperty'](c,'ImageBitmap',{'enumerable':!![],'get':function P(){return j['default'];}}),Object['defineProperty'](c,'MouseEvent',{'enumerable':!![],'get':function Q(){return t['MouseEvent'];}}),Object['defineProperty'](c,'TouchEvent',{'enumerable':!![],'get':function R(){return t['TouchEvent'];}}),Object['defineProperty'](c,'WebGLRenderingContext',{'enumerable':!![],'get':function S(){return s['default'];}}),Object['defineProperty'](c,'WebSocket',{'enumerable':!![],'get':function T(){return h['default'];}}),Object['defineProperty'](c,'XMLHttpRequest',{'enumerable':!![],'get':function U(){return g['default'];}}),c['clearTimeout']=c['clearInterval']=c['canvas']=c['cancelAnimationFrame']=void 0x0,Object['defineProperty'](c,'localStorage',{'enumerable':!![],'get':function V(){return u['default'];}}),Object['defineProperty'](c,'location',{'enumerable':!![],'get':function W(){return v['default'];}}),Object['defineProperty'](c,'navigator',{'enumerable':!![],'get':function X(){return f['default'];}}),c['setTimeout']=c['setInterval']=c['requestAnimationFrame']=void 0x0;var e=x(a('./Canvas')),f=x(a('./navigator')),g=x(a('./XMLHttpRequest')),h=x(a('./WebSocket')),i=x(a('./Image')),j=x(a('./ImageBitmap')),k=x(a('./Audio')),l=x(a('./FileReader')),m=x(a('./HTMLElement')),n=x(a('./HTMLImageElement')),o=x(a('./HTMLCanvasElement')),p=x(a('./HTMLMediaElement')),q=x(a('./HTMLAudioElement')),r=x(a('./HTMLVideoElement')),s=x(a('./WebGLRenderingContext')),t=a('./EventIniter/index.js'),u=x(a('./localStorage')),v=x(a('./location')),w=a('./WindowProperties');Object['keys'](w)['forEach'](function(Y){if(Y==='default'||Y==='__esModule')return;if(Object['prototype']['hasOwnProperty']['call'](d,Y))return;if(Y in c&&c[Y]===w[Y])return;Object['defineProperty'](c,Y,{'enumerable':!![],'get':function Z(){return w[Y];}});});function x(Y){return Y&&Y['__esModule']?Y:{'default':Y};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new e['default']();var canvas=c['canvas']=GameGlobal['screencanvas'],y=GameGlobal,z=c['setTimeout']=y['setTimeout'],A=c['setInterval']=y['setInterval'],B=c['clearTimeout']=y['clearTimeout'],C=c['clearInterval']=y['clearInterval'],D=c['requestAnimationFrame']=y['requestAnimationFrame'],E=c['cancelAnimationFrame']=y['cancelAnimationFrame'];},{'./Audio':0x5,'./Canvas':0x6,'./EventIniter/index.js':0xa,'./FileReader':0xc,'./HTMLAudioElement':0xd,'./HTMLCanvasElement':0xe,'./HTMLElement':0xf,'./HTMLImageElement':0x10,'./HTMLMediaElement':0x11,'./HTMLVideoElement':0x12,'./Image':0x13,'./ImageBitmap':0x14,'./WebGLRenderingContext':0x16,'./WebSocket':0x17,'./WindowProperties':0x18,'./XMLHttpRequest':0x19,'./localStorage':0x1c,'./location':0x1d,'./navigator':0x1e}],0x21:[function(a,b,c){'use strict';var d=wx['getFileSystemManager']?wx['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return wx['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errMsg'])),l&&l(new Error(o['errMsg']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){t['statusCode']===0xc8?p&&p(null,t['tempFilePath']||t['filePath']):(t['filePath']&&f['deleteFile'](t['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](t['statusCode'])),p&&p(new Error(t['statusCode']),null));},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errMsg'])),p&&p(new Error(u['errMsg']),null);}};if(m)q['filePath']=m;if(n)q['header']=n;var r=wx['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){wx['saveFile']({'tempFilePath':m,'filePath':n,'success':function p(){o&&o(null);},'fail':function q(r){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](m,'\x20message:\x20')['concat'](r['errMsg'])),o&&o(new Error(r['errMsg']));}});},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errMsg'])),r&&r(new Error(u['errMsg']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync'](p,q,r),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,undefined,u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync'](v,'utf8');return JSON['parse'](w);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync'](w,x),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync'](x,y),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=wx['loadSubpackage']({'name':z,'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errMsg'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errMsg'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errMsg'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errMsg'])));}});}};window['fsUtils']=b['exports']=f;},{}],0x22:[function(a,b,c){'use strict';var d=a('./utils');window['__globalAdapter']=window['__globalAdapter']||{};if(window['__globalAdapter']){var e=window['__globalAdapter'],f=wx['getSystemInfoSync'](),g=f['windowWidth'],h=f['windowHeight'],i=g>h;e['isSubContext']=wx['getOpenDataContext']===undefined,e['isDevTool']=f['platform']==='devtools',d['cloneMethod'](e,wx,'getSystemInfoSync'),d['cloneMethod'](e,wx,'onTouchStart'),d['cloneMethod'](e,wx,'onTouchMove'),d['cloneMethod'](e,wx,'onTouchEnd'),d['cloneMethod'](e,wx,'onTouchCancel'),d['cloneMethod'](e,wx,'createInnerAudioContext'),d['cloneMethod'](e,wx,'onAudioInterruptionEnd'),d['cloneMethod'](e,wx,'onAudioInterruptionBegin'),d['cloneMethod'](e,wx,'createVideo'),d['cloneMethod'](e,wx,'setPreferredFramesPerSecond'),d['cloneMethod'](e,wx,'showKeyboard'),d['cloneMethod'](e,wx,'hideKeyboard'),d['cloneMethod'](e,wx,'updateKeyboard'),d['cloneMethod'](e,wx,'onKeyboardInput'),d['cloneMethod'](e,wx,'onKeyboardConfirm'),d['cloneMethod'](e,wx,'onKeyboardComplete'),d['cloneMethod'](e,wx,'offKeyboardInput'),d['cloneMethod'](e,wx,'offKeyboardConfirm'),d['cloneMethod'](e,wx,'offKeyboardComplete'),d['cloneMethod'](e,wx,'getOpenDataContext'),d['cloneMethod'](e,wx,'onMessage'),d['cloneMethod'](e,wx,'loadSubpackage'),d['cloneMethod'](e,wx,'getSharedCanvas'),d['cloneMethod'](e,wx,'loadFont'),d['cloneMethod'](e,wx,'onShow'),d['cloneMethod'](e,wx,'onHide');typeof getApp==='function'&&(wx['onShow']=wx['onAppShow'],wx['onHide']=wx['onAppHide']);d['cloneMethod'](e,wx,'onError'),d['cloneMethod'](e,wx,'offError');var j=![],k=0x1;wx['onDeviceOrientationChange']&&wx['onDeviceOrientationChange'](function(l){if(l['value']==='landscape')k=0x1;else l['value']==='landscapeReverse'&&(k=-0x1);}),Object['assign'](e,{'startAccelerometer':function l(m){!j?(j=!![],wx['onAccelerometerChange']&&wx['onAccelerometerChange'](function(n){var o={},p=n['x'],q=n['y'];if(i){var r=p;p=-q,q=r;}o['x']=p*k,o['y']=q*k,o['z']=n['z'],m&&m(o);})):wx['startAccelerometer']&&wx['startAccelerometer']({'fail':function n(o){console['error']('start\x20accelerometer\x20failed',o);}});},'stopAccelerometer':function m(){wx['stopAccelerometer']&&wx['stopAccelerometer']({'fail':function n(o){console['error']('stop\x20accelerometer\x20failed',o);}});}});}},{'./utils':0x23}],0x23:[function(a,b,c){'use strict';var d={'cloneMethod':function e(f,g,h,i){g[h]&&(i=i||h,f[i]=g[h]['bind'](g));}};b['exports']=d;},{}]},{},[0x1b])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/web-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/web-adapter.min.js +deleted file mode 100644 +index 08e0514..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/wechat/web-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function r(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],r,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j=z+A||z?new java['lang']['String'](y,z,A)+'':y;}function u(y,z){(y['currentElement']||y['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(y,z){var A=this['options'],B=new w(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},z=/\/x?html?$/['test'](z),G=z?v['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=((H,I,J)=>{if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;})(D,C,E),B['domBuilder']=A['domBuilder']||C,z&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',y?B['parse'](y,F,G):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new x()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(y,z,A,B){var C=this['doc'],D=C['createElementNS'](y,A||z),E=B['length'];u(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==az&&'>')||('&'==az?'&':'\x22'==az&&'"')||'&#'+az['charCodeAt']()+';';}function ac(az,aA){if(aA(az))return 0x1;if(az=az['firstChild'])do{if(ac(az,aA))return 0x1;}while(az=az['nextSibling']);}function ad(){}function ae(az,aA,aB){az&&az['_inc']++,'http://www.w3.org/2000/xmlns/'==aB['namespaceURI']&&delete aA['_nsMap'][aB['prefix']?aB['localName']:''];}function af(az,aA,aB){if(az&&az['_inc']){az['_inc']++;var aC=aA['childNodes'];if(aB)aC[aC['length']++]=aB;else{for(var aD=aA['firstChild'],aE=0x0;aD;)aD=(aC[aE++]=aD)['nextSibling'];aC['length']=aE;}}}function ag(az,aA){var aB=aA['previousSibling'],aC=aA['nextSibling'];return aB?aB['nextSibling']=aC:az['firstChild']=aC,aC?aC['previousSibling']=aB:az['lastChild']=aB,af(az['ownerDocument'],az),aA;}function ah(az,aA,aB){var aC=aA['parentNode'];if(aC&&aC['removeChild'](aA),0xb===aA['nodeType']){var aD=aA['firstChild'];if(null==aD)return aA;var aE=aA['lastChild'];}else aD=aE=aA;aC=aB?aB['previousSibling']:az['lastChild'];for(aD['previousSibling']=aC,aE['nextSibling']=aB,aC?aC['nextSibling']=aD:az['firstChild']=aD,null==aB?az['lastChild']=aE:aB['previousSibling']=aE;aD['parentNode']=az,aD!==aE&&(aD=aD['nextSibling']););return af(az['ownerDocument']||az,az),0xb==aA['nodeType']&&(aA['firstChild']=aA['lastChild']=null),aA;}function ai(){this['_nsMap']={};}function aj(){}function ak(){}function al(){}function am(){}function an(){}function ao(){}function ap(){}function aq(){}function ar(){}function as(){}function at(){}function au(){}function av(az,aA){var aB,aC=[],aD=0x9==this['nodeType']&&this['documentElement']||this,aE=aD['prefix'],aF=aD['namespaceURI'];return ax(this,aC,az,aA,aB=aF&&null==aE&&null==aD['lookupPrefix'](aF)?[{'namespace':aF,'prefix':null}]:aB),aC['join']('');}function aw(az,aA,aB){var aC=az['prefix']||'',aD=az['namespaceURI'];if((aC||aD)&&('xml'!==aC||'http://www.w3.org/XML/1998/namespace'!==aD)&&'http://www.w3.org/2000/xmlns/'!=aD){for(var aE=aB['length'];aE--;){var aF=aB[aE];if(aF['prefix']==aC)return aF['namespace']!=aD;}return 0x1;}}function ax(az,aA,aB,aC,aD){if(aC){if(!(az=aC(az)))return;if('string'==typeof az)return void aA['push'](az);}switch(az['nodeType']){case 0x1:aD=aD||[];var aE=az['attributes'],aF=aE['length'],aG=az['firstChild'],aH=az['tagName'];aB='http://www.w3.org/1999/xhtml'===az['namespaceURI']||aB,aA['push']('<',aH);for(var aI=0x0;aI'),aB&&/^script$/i['test'](aH)){for(;aG;)aG['data']?aA['push'](aG['data']):ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}else{for(;aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}aA['push']('');}else aA['push']('/>');return;case 0x9:case 0xb:for(aG=az['firstChild'];aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];return;case 0x2:return aA['push']('\x20',az['name'],'=\x22',az['value']['replace'](/[<&"]/g,ab),'\x22');case 0x3:return aA['push'](az['data']['replace'](/[<&]/g,ab));case 0x4:return aA['push']('');case 0x8:return aA['push']('');case 0xa:var aH=az['publicId'],aM=az['systemId'];return aA['push']('')):aM&&'.'!=aM?aA['push']('\x20SYSTEM\x20\x22',aM,'\x22>'):((aH=az['internalSubset'])&&aA['push']('\x20[',aH,']'),aA['push']('>')));case 0x7:return aA['push']('');case 0x5:return aA['push']('&',az['nodeName'],';');default:aA['push']('??',az['nodeName']);}}function ay(az,aA,aB){az[aA]=aB;}a1['prototype']=Error['prototype'],Q(Z,a1),a2['prototype']={'length':0x0,'item':function(az){return this[az]||null;},'toString':function(az,aA){for(var aB=[],aC=0x0;aC','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x4:[function(b,c,d){var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,q=0x3,s=0x4,u=0x5,v=0x6,w=0x7;function y(){}function z(I,J){return J['lineNumber']=I['lineNumber'],J['columnNumber']=I['columnNumber'],J;}function A(I,J,K){for(var N=I['tagName'],O=null,Q=I['length'];Q--;){var R=I[Q],S=R['qName'],T=R['value'],S=0x0<(W=S['indexOf'](':'))?(V=R['prefix']=S['slice'](0x0,W),X=S['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=S)&&'');R['localName']=X,!0x1!==S&&(null==O&&(O={},E(K,K={})),K[S]=O[S]=T,R['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](S,T));}for(var V,Q=I['length'];Q--;)(V=(R=I[Q])['prefix'])&&('xml'===V&&(R['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V)&&(R['uri']=K[V||'']);var W,X=0x0<(W=N['indexOf'](':'))?(V=I['prefix']=N['slice'](0x0,W),I['localName']=N['slice'](W+0x1)):(V=null,I['localName']=N),Y=I['uri']=K[V||''];if(J['startElement'](Y,X,N,I),!I['closed'])return I['currentNSMap']=K,I['localNSMap']=O,0x1;if(J['endElement'](Y,X,N),O){for(V in O)J['endPrefixMapping'](V);}}function E(I,J){for(var K in I)J[K]=I[K];}function G(I){}y['prototype']={'parse':function(I,J,K){var N=this['domBuilder'];N['startDocument'](),E(J,J={}),((Q,V,W,X,Y)=>{function Z(ao){var ap=ao['slice'](0x1,-0x1);return ap in W?W[ap]:'#'===ap['charAt'](0x0)?0xffff<(ap=parseInt(ap['substr'](0x1)['replace']('x','0x')))?(ap-=0x10000,String['fromCharCode'](0xd800+(ap>>0xa),0xdc00+(0x3ff&ap))):String['fromCharCode'](ap):(Y['error']('entity\x20not\x20found:'+ao),ao);}function a0(ao){var ap;a8',ab+0x3),ad=Q['substring'](ab+0x2,ac),ae=a6['pop'](),af=(ac<0x0?(ad=Q['substring'](ab+0x2)['replace'](/[\s<].*/,''),Y['error']('end\x20tag\x20name:\x20'+ad+'\x20is\x20not\x20complete:'+ae['tagName']),ac=ab+0x1+ad['length']):ad['match'](/\s{var ar=ao['indexOf']('?>',ap);if(ar){ao=ao['substring'](ap,ar)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(ao)return ao[0x0]['length'],aq['processingInstruction'](ao[0x1],ao[0x2]),ar+0x2;}return-0x1;})(Q,ab,X);break;case'!':a5&&a1(ab),ac=((ao,ap,aq,ar)=>{var as,at;return'-'===ao['charAt'](ap+0x2)?'-'===ao['charAt'](ap+0x3)?(at=ao['indexOf']('-->',ap+0x4),ap',ap+0x9),aq['startCDATA'](),aq['characters'](ao,ap+0x9,at-ap-0x9),aq['endCDATA'](),at+0x3):0x1<(at=(ar=((au,av)=>{var aw,ax=[],ay=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(ay['lastIndex']=av,ay['exec'](au);aw=ay['exec'](au);)if(ax['push'](aw),aw[0x1])return ax;})(ao,ap))['length'])&&/!doctype/i['test'](ar[0x0][0x0])?(ao=ar[0x1][0x0],ap=0x3{for(var au,av=++ap,aw=k;;){var ax=ao['charAt'](av);switch(ax){case'=':if(aw===l)au=ao['slice'](ap,av);else{if(aw!==m)throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}aw=q;break;case'\x27':case'\x22':if(aw===q||aw===l){if(aw===l&&(at['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),au=ao['slice'](ap,av)),ap=av+0x1,!(0x0<(av=ao['indexOf'](ax,ap))))throw new Error('attribute\x20value\x20no\x20end\x20\x27'+ax+'\x27\x20match');ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as),aq['add'](au,ay,ap-0x1);}else{if(aw!=s)throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as),aq['add'](au,ay,ap),at['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20start\x20quot('+ax+')!!'),ap=av+0x1;}aw=u;break;case'/':switch(aw){case k:aq['setTagName'](ao['slice'](ap,av));case u:case v:case w:aw=w,aq['closed']=!0x0;case s:case l:case m:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':return at['error']('unexpected\x20end\x20of\x20input'),aw==k&&aq['setTagName'](ao['slice'](ap,av)),av;case'>':switch(aw){case k:aq['setTagName'](ao['slice'](ap,av));case u:case v:case w:break;case s:case l:'/'===(ay=ao['slice'](ap,av))['slice'](-0x1)&&(aq['closed']=!0x0,ay=ay['slice'](0x0,-0x1));case m:aw===m&&(ay=au),aw==s?(at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20quot(\x22)!!'),aq['add'](au,ay['replace'](/&#?\w+;/g,as),ap)):('http://www.w3.org/1999/xhtml'===ar['']&&ay['match'](/^(?:disabled|checked|selected)$/i)||at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20value!!\x20\x22'+ay+'\x22\x20instead!!'),aq['add'](ay,ay,ap));break;case q:throw new Error('attribute\x20value\x20missed!!');}return av;case'\u0080':ax='\x20';default:if(ax<='\x20')switch(aw){case k:aq['setTagName'](ao['slice'](ap,av)),aw=v;break;case l:au=ao['slice'](ap,av),aw=m;break;case s:var ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as);at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20quot(\x22)!!'),aq['add'](au,ay,ap);case u:aw=v;}else switch(aw){case m:aq['tagName'],('http://www.w3.org/1999/xhtml'===ar['']&&au['match'](/^(?:disabled|checked|selected)$/i)||at['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead2!!'),aq['add'](au,au,ap),ap=av,aw=l);break;case u:at['warning']('attribute\x20space\x20is\x20required\x22'+au+'\x22!!');case v:aw=l,ap=av;break;case q:aw=s,ap=av;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}av++;}})(Q,ab,ai,aj,Z,Y),ak=ai['length'];if(!ai['closed']&&((ao,ap,aq,ar)=>{var as=ar[aq];return null==as&&((as=ao['lastIndexOf']('')){if(/^(?:script|textarea)$/i['test'](aq)){var at=ao['indexOf']('',ap),ao=ao['substring'](ap+0x1,at);if(/[&<]/['test'](ao))return/^script$/i['test'](aq)?as['characters'](ao,0x0,ao['length']):(ao=ao['replace'](/&#?\w+;/g,ar),as['characters'](ao,0x0,ao['length'])),at;}return ap+0x1;})(Q,ac,ai['tagName'],Z,X);}}catch(ao){Y['error']('element\x20parse\x20error:\x20'+ao),ac=-0x1;}a8(C=((D,E)=>{if('object'!=h(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=h(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==h(C)?C:C+''))(B['key']),B);}}function k(y,z,A){z=q(z);var B=y,z=m()?Reflect['construct'](z,A||[],q(y)['constructor']):z['apply'](y,A);if(!z||'object'!=h(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function m(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(m=function(){return!!y;})();}function p(){return(p='undefined'!=typeof Reflect&&Reflect['get']?Reflect['get']['bind']():function(y,z,A){var B=((C,D)=>{for(;!{}['hasOwnProperty']['call'](C,D)&&null!==(C=q(C)););return C;})(y,z);if(B)return(B=Object['getOwnPropertyDescriptor'](B,z))['get']?B['get']['call'](arguments['length']<0x3?y:A):B['value'];})['apply'](null,arguments);}function q(y){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function v(y,z){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}var w=0x1,x={};g['default']=(y=>{function z(C){var D;if(!(this instanceof z))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');(D=k(this,z))['_$sn']=w++,D['HAVE_NOTHING']=0x0,D['HAVE_METADATA']=0x1,D['HAVE_CURRENT_DATA']=0x2,D['HAVE_FUTURE_DATA']=0x3,D['HAVE_ENOUGH_DATA']=0x4,D['readyState']=0x0;var E=wx['createInnerAudioContext']();return x[D['_$sn']]=E,D['_canplayEvents']=['load','loadend','canplay','canplaythrough','loadedmetadata'],E['onCanplay'](function(){D['_loaded']=!0x0,D['readyState']=D['HAVE_CURRENT_DATA'],D['_canplayEvents']['forEach'](function(F){D['dispatchEvent']({'type':F});});}),E['onPlay'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'play'});}),E['onPause'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'pause'});}),E['onEnded'](function(){D['_paused']=x[D['_$sn']]['paused'],!0x1===x[D['_$sn']]['loop']&&D['dispatchEvent']({'type':'ended'}),D['readyState']=0x4;}),E['onError'](function(){D['_paused']=x[D['_$sn']]['paused'],D['dispatchEvent']({'type':'error'});}),C?D['src']=C:D['_src']='',D['_loop']=E['loop'],D['_autoplay']=E['autoplay'],D['_paused']=E['paused'],D['_volume']=E['volume'],D['_muted']=!0x1,D;}var A,B=z;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),y&&v(B,y),B=z,(y=[{'key':'addEventListener','value':function(C,D){var E,F,G,H,I,J=0x2{if('object'!=h(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=h(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==h(x)?x:x+'';}g['default']=(x=>{function y(){var C;if(this instanceof y)return v(C=k(this,y),'className',''),v(C,'children',[]),C;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var z,A,B=y;if('function'!=typeof x&&null!==x)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](x&&x['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),x&&q(B,x),B=y,z&&j(B['prototype'],z),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})(b['default']);},{'./Node':0x15}],0x8:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x9:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0;var g=b('../util/index.js');function h(w){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(x){return typeof x;}:function(x){return x&&'function'==typeof Symbol&&x['constructor']===Symbol&&x!==Symbol['prototype']?'symbol':typeof x;})(w);}function j(w,x){for(var y=0x0;y{if('object'!=h(x)||!x)return x;var z=x[Symbol['toPrimitive']];if(void 0x0===z)return('string'===y?String:Number)(x);if('object'!=h(z=z['call'](x,y||'default')))return z;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(w,'string'),'symbol'==h(w)?w:w+'';}var q=f['default']=k(function w(x){if(!(this instanceof w))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');m(this,'touches',[]),m(this,'targetTouches',[]),m(this,'changedTouches',[]),m(this,'preventDefault',g['noop']),m(this,'stopPropagation',g['noop']),this['type']=x,this['target']=window['canvas'],this['currentTarget']=window['canvas'];});function v(x){return function(y){var z=new q(x);z['touches']=y['touches'],z['targetTouches']=Array['prototype']['slice']['call'](y['touches']),z['changedTouches']=y['changedTouches'],z['timeStamp']=y['timeStamp'],('function'==typeof getApp?GameGlobal['document']:document)['dispatchEvent'](z);};}wx['onTouchStart'](v('touchstart')),wx['onTouchMove'](v('touchmove')),wx['onTouchEnd'](v('touchend')),wx['onTouchCancel'](v('touchcancel'));},{'../util/index.js':0x1f}],0xa:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),Object['defineProperty'](c,'MouseEvent',{'enumerable':!0x0,'get':function(){return f['default'];}}),Object['defineProperty'](c,'TouchEvent',{'enumerable':!0x0,'get':function(){return d['default'];}});var d=g(a('./TouchEvent')),f=g(a('./MouseEvent'));function g(h){return h&&h['__esModule']?h:{'default':h};}},{'./MouseEvent':0x8,'./TouchEvent':0x9}],0xb:[function(b,c,d){function f(j){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(k){return typeof k;}:function(k){return k&&'function'==typeof Symbol&&k['constructor']===Symbol&&k!==Symbol['prototype']?'symbol':typeof k;})(j);}function g(j,k){for(var l=0x0;l(p=((q,s)=>{if('object'!=f(q)||!q)return q;var u=q[Symbol['toPrimitive']];if(void 0x0===u)return('string'===s?String:Number)(q);if('object'!=f(u=u['call'](q,s||'default')))return u;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(p,'string'),'symbol'==f(p)?p:p+''))(m['key']),m);}}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var h=new WeakMap();d['default']=((()=>{function j(){if(!(this instanceof j))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');h['set'](this,{});}return k=j,(l=[{'key':'addEventListener','value':function(p,q){var s=0x2(l=((m,p)=>{if('object'!=d(m)||!m)return m;var q=m[Symbol['toPrimitive']];if(void 0x0===q)return('string'===p?String:Number)(m);if('object'!=d(q=q['call'](m,p||'default')))return q;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(l,'string'),'symbol'==d(l)?l:l+''))(k['key']),k);}}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=((()=>{function g(){if(!(this instanceof g))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}return h=g,(j=[{'key':'construct','value':function(){}}])&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;var h,j,k;})());},{}],0xd:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLMediaElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['audio']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLMediaElement':0x11}],0xe:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0;var d=f(a('./Canvas'));f(a('./HTMLElement'));function f(g){return g&&g['__esModule']?g:{'default':g};}GameGlobal['screencanvas']=GameGlobal['screencanvas']||new d['default'](),a=GameGlobal['screencanvas']['constructor'],c['default']=a;},{'./Canvas':0x6,'./HTMLElement':0xf}],0xf:[function(b,g,h){Object['defineProperty'](h,'__esModule',{'value':!0x0}),h['default']=void 0x0;var j=(j=b('./Element'))&&j['__esModule']?j:{'default':j},k=b('./util/index.js'),m=b('./WindowProperties');function q(C){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(D){return typeof D;}:function(D){return D&&'function'==typeof Symbol&&D['constructor']===Symbol&&D!==Symbol['prototype']?'symbol':typeof D;})(C);}function v(C,D){for(var E=0x0;E{if('object'!=q(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=q(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==q(C)?C:C+'';}h['default']=(C=>{function D(){var G=0x0(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(x){if(this instanceof s)return j(this,s,[x]);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return w['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':w,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](w,'prototype',{'writable':!0x1}),q&&p(w,q),w=s,(q=[{'key':'addTextTrack','value':function(){}},{'key':'captureStream','value':function(){}},{'key':'fastSeek','value':function(){}},{'key':'load','value':function(){}},{'key':'pause','value':function(){}},{'key':'play','value':function(){}}])&&h(w['prototype'],q),v&&h(w,v),Object['defineProperty'](w,'prototype',{'writable':!0x1}),w;})(b['default']);},{'./HTMLElement':0xf}],0x12:[function(b,d,f){function g(q){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(s){return typeof s;}:function(s){return s&&'function'==typeof Symbol&&s['constructor']===Symbol&&s!==Symbol['prototype']?'symbol':typeof s;})(q);}Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./HTMLMediaElement'))&&b['__esModule']?b:{'default':b};function h(q,s){for(var v=0x0;v(x=((y,z)=>{if('object'!=g(y)||!y)return y;var A=y[Symbol['toPrimitive']];if(void 0x0===A)return('string'===z?String:Number)(y);if('object'!=g(A=A['call'](y,z||'default')))return A;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(x,'string'),'symbol'==g(x)?x:x+''))(w['key']),w);}}function j(q,s,v){s=m(s);var w=q,s=k()?Reflect['construct'](s,v||[],m(q)['constructor']):s['apply'](q,v);if(!s||'object'!=g(s)&&'function'!=typeof s){if(void 0x0!==s)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(s=w))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return s;}function k(){try{var q=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(s){}return(k=function(){return!!q;})();}function m(q){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(s){return s['__proto__']||Object['getPrototypeOf'](s);})(q);}function p(q,s){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(v,w){return v['__proto__']=w,v;})(q,s);}f['default']=(q=>{function s(){if(this instanceof s)return j(this,s,['video']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var v,w,x=s;if('function'!=typeof q&&null!==q)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](q&&q['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),q&&p(x,q),x=s,v&&h(x['prototype'],v),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})(b['default']);},{'./HTMLMediaElement':0x11}],0x13:[function(a,b,c){Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=function(){var d=wx['createImage']();return d['premultiplyAlpha']=!0x1,d;},(c=a('./HTMLImageElement'))&&c['__esModule'];},{'./HTMLImageElement':0x10}],0x14:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');});},{}],0x15:[function(b,d,f){Object['defineProperty'](f,'__esModule',{'value':!0x0}),f['default']=void 0x0,b=(b=b('./EventTarget.js'))&&b['__esModule']?b:{'default':b};function g(s){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;})(s);}function h(s,v){for(var w=0x0;w{if('object'!=g(v)||!v)return v;var x=v[Symbol['toPrimitive']];if(void 0x0===x)return('string'===w?String:Number)(v);if('object'!=g(x=x['call'](v,w||'default')))return x;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(s,'string'),'symbol'==g(s)?s:s+'';}f['default']=(s=>{function v(){var y,z,A,B;if(this instanceof v)return y=j(this,v),z=y,B=[],(A=q(A='childNodes'))in z?Object['defineProperty'](z,A,{'value':B,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):z[A]=B,y;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v;if('function'!=typeof s&&null!==s)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](s&&s['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),s&&p(x,s),x=v,(s=[{'key':'appendChild','value':function(y){this['childNodes']['push'](y);}},{'key':'cloneNode','value':function(){var y=Object['create'](this);return Object['assign'](y,this),y;}},{'key':'removeChild','value':function(y){var z=this['childNodes']['findIndex'](function(A){return A===y;});return-0x1(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}Object['defineProperty'](c,'__esModule',{'value':!0x0}),c['default']=void 0x0,c=c['default']=g(function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}),(c['ACTIVE_ATTRIBUTES']=0x8b89,c['ACTIVE_TEXTURE']=0x84e0,c['ACTIVE_UNIFORMS']=0x8b86,c['ALIASED_LINE_WIDTH_RANGE']=0x846e,c['ALIASED_POINT_SIZE_RANGE']=0x846d,c['ALPHA']=0x1906,c['ALPHA_BITS']=0xd55,c['ALWAYS']=0x207,c['ARRAY_BUFFER']=0x8892,c['ARRAY_BUFFER_BINDING']=0x8894,c['ATTACHED_SHADERS']=0x8b85,c['BACK']=0x405,c['BLEND']=0xbe2,c['BLEND_COLOR']=0x8005,c['BLEND_DST_ALPHA']=0x80ca,c['BLEND_DST_RGB']=0x80c8,c['BLEND_EQUATION']=0x8009,c['BLEND_EQUATION_ALPHA']=0x883d,c['BLEND_EQUATION_RGB']=0x8009,c['BLEND_SRC_ALPHA']=0x80cb,c['BLEND_SRC_RGB']=0x80c9,c['BLUE_BITS']=0xd54,c['BOOL']=0x8b56,c['BOOL_VEC2']=0x8b57,c['BOOL_VEC3']=0x8b58,c['BOOL_VEC4']=0x8b59,c['BROWSER_DEFAULT_WEBGL']=0x9244,c['BUFFER_SIZE']=0x8764,c['BUFFER_USAGE']=0x8765,c['BYTE']=0x1400,c['CCW']=0x901,c['CLAMP_TO_EDGE']=0x812f,c['COLOR_ATTACHMENT0']=0x8ce0,c['COLOR_BUFFER_BIT']=0x4000,c['COLOR_CLEAR_VALUE']=0xc22,c['COLOR_WRITEMASK']=0xc23,c['COMPILE_STATUS']=0x8b81,c['COMPRESSED_TEXTURE_FORMATS']=0x86a3,c['CONSTANT_ALPHA']=0x8003,c['CONSTANT_COLOR']=0x8001,c['CONTEXT_LOST_WEBGL']=0x9242,c['CULL_FACE']=0xb44,c['CULL_FACE_MODE']=0xb45,c['CURRENT_PROGRAM']=0x8b8d,c['CURRENT_VERTEX_ATTRIB']=0x8626,c['CW']=0x900,c['DECR']=0x1e03,c['DECR_WRAP']=0x8508,c['DELETE_STATUS']=0x8b80,c['DEPTH_ATTACHMENT']=0x8d00,c['DEPTH_BITS']=0xd56,c['DEPTH_BUFFER_BIT']=0x100,c['DEPTH_CLEAR_VALUE']=0xb73,c['DEPTH_COMPONENT']=0x1902,c['DEPTH_COMPONENT16']=0x81a5,c['DEPTH_FUNC']=0xb74,c['DEPTH_RANGE']=0xb70,c['DEPTH_STENCIL']=0x84f9,c['DEPTH_STENCIL_ATTACHMENT']=0x821a,c['DEPTH_TEST']=0xb71,c['DEPTH_WRITEMASK']=0xb72,c['DITHER']=0xbd0,c['DONT_CARE']=0x1100,c['DST_ALPHA']=0x304,c['DST_COLOR']=0x306,c['DYNAMIC_DRAW']=0x88e8,c['ELEMENT_ARRAY_BUFFER']=0x8893,c['ELEMENT_ARRAY_BUFFER_BINDING']=0x8895,c['EQUAL']=0x202,c['FASTEST']=0x1101,c['FLOAT']=0x1406,c['FLOAT_MAT2']=0x8b5a,c['FLOAT_MAT3']=0x8b5b,c['FLOAT_MAT4']=0x8b5c,c['FLOAT_VEC2']=0x8b50,c['FLOAT_VEC3']=0x8b51,c['FLOAT_VEC4']=0x8b52,c['FRAGMENT_SHADER']=0x8b30,c['FRAMEBUFFER']=0x8d40,c['FRAMEBUFFER_ATTACHMENT_OBJECT_NAME']=0x8cd1,c['FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE']=0x8cd0,c['FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE']=0x8cd3,c['FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL']=0x8cd2,c['FRAMEBUFFER_BINDING']=0x8ca6,c['FRAMEBUFFER_COMPLETE']=0x8cd5,c['FRAMEBUFFER_INCOMPLETE_ATTACHMENT']=0x8cd6,c['FRAMEBUFFER_INCOMPLETE_DIMENSIONS']=0x8cd9,c['FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT']=0x8cd7,c['FRAMEBUFFER_UNSUPPORTED']=0x8cdd,c['FRONT']=0x404,c['FRONT_AND_BACK']=0x408,c['FRONT_FACE']=0xb46,c['FUNC_ADD']=0x8006,c['FUNC_REVERSE_SUBTRACT']=0x800b,c['FUNC_SUBTRACT']=0x800a,c['GENERATE_MIPMAP_HINT']=0x8192,c['GEQUAL']=0x206,c['GREATER']=0x204,c['GREEN_BITS']=0xd53,c['HIGH_FLOAT']=0x8df2,c['HIGH_INT']=0x8df5,c['IMPLEMENTATION_COLOR_READ_FORMAT']=0x8b9b,c['IMPLEMENTATION_COLOR_READ_TYPE']=0x8b9a,c['INCR']=0x1e02,c['INCR_WRAP']=0x8507,c['INT']=0x1404,c['INT_VEC2']=0x8b53,c['INT_VEC3']=0x8b54,c['INT_VEC4']=0x8b55,c['INVALID_ENUM']=0x500,c['INVALID_FRAMEBUFFER_OPERATION']=0x506,c['INVALID_OPERATION']=0x502,c['INVALID_VALUE']=0x501,c['INVERT']=0x150a,c['KEEP']=0x1e00,c['LEQUAL']=0x203,c['LESS']=0x201,c['LINEAR']=0x2601,c['LINEAR_MIPMAP_LINEAR']=0x2703,c['LINEAR_MIPMAP_NEAREST']=0x2701,c['LINES']=0x1,c['LINE_LOOP']=0x2,c['LINE_STRIP']=0x3,c['LINE_WIDTH']=0xb21,c['LINK_STATUS']=0x8b82,c['LOW_FLOAT']=0x8df0,c['LOW_INT']=0x8df3,c['LUMINANCE']=0x1909,c['LUMINANCE_ALPHA']=0x190a,c['MAX_COMBINED_TEXTURE_IMAGE_UNITS']=0x8b4d,c['MAX_CUBE_MAP_TEXTURE_SIZE']=0x851c,c['MAX_FRAGMENT_UNIFORM_VECTORS']=0x8dfd,c['MAX_RENDERBUFFER_SIZE']=0x84e8,c['MAX_TEXTURE_IMAGE_UNITS']=0x8872,c['MAX_TEXTURE_SIZE']=0xd33,c['MAX_VARYING_VECTORS']=0x8dfc,c['MAX_VERTEX_ATTRIBS']=0x8869,c['MAX_VERTEX_TEXTURE_IMAGE_UNITS']=0x8b4c,c['MAX_VERTEX_UNIFORM_VECTORS']=0x8dfb,c['MAX_VIEWPORT_DIMS']=0xd3a,c['MEDIUM_FLOAT']=0x8df1,c['MEDIUM_INT']=0x8df4,c['MIRRORED_REPEAT']=0x8370,c['NEAREST']=0x2600,c['NEAREST_MIPMAP_LINEAR']=0x2702,c['NEAREST_MIPMAP_NEAREST']=0x2700,c['NEVER']=0x200,c['NICEST']=0x1102,c['NONE']=0x0,c['NOTEQUAL']=0x205,c['NO_ERROR']=0x0,c['ONE']=0x1,c['ONE_MINUS_CONSTANT_ALPHA']=0x8004,c['ONE_MINUS_CONSTANT_COLOR']=0x8002,c['ONE_MINUS_DST_ALPHA']=0x305,c['ONE_MINUS_DST_COLOR']=0x307,c['ONE_MINUS_SRC_ALPHA']=0x303,c['ONE_MINUS_SRC_COLOR']=0x301,c['OUT_OF_MEMORY']=0x505,c['PACK_ALIGNMENT']=0xd05,c['POINTS']=0x0,c['POLYGON_OFFSET_FACTOR']=0x8038,c['POLYGON_OFFSET_FILL']=0x8037,c['POLYGON_OFFSET_UNITS']=0x2a00,c['RED_BITS']=0xd52,c['RENDERBUFFER']=0x8d41,c['RENDERBUFFER_ALPHA_SIZE']=0x8d53,c['RENDERBUFFER_BINDING']=0x8ca7,c['RENDERBUFFER_BLUE_SIZE']=0x8d52,c['RENDERBUFFER_DEPTH_SIZE']=0x8d54,c['RENDERBUFFER_GREEN_SIZE']=0x8d51,c['RENDERBUFFER_HEIGHT']=0x8d43,c['RENDERBUFFER_INTERNAL_FORMAT']=0x8d44,c['RENDERBUFFER_RED_SIZE']=0x8d50,c['RENDERBUFFER_STENCIL_SIZE']=0x8d55,c['RENDERBUFFER_WIDTH']=0x8d42,c['RENDERER']=0x1f01,c['REPEAT']=0x2901,c['REPLACE']=0x1e01,c['RGB']=0x1907,c['RGB5_A1']=0x8057,c['RGB565']=0x8d62,c['RGBA']=0x1908,c['RGBA4']=0x8056,c['SAMPLER_2D']=0x8b5e,c['SAMPLER_CUBE']=0x8b60,c['SAMPLES']=0x80a9,c['SAMPLE_ALPHA_TO_COVERAGE']=0x809e,c['SAMPLE_BUFFERS']=0x80a8,c['SAMPLE_COVERAGE']=0x80a0,c['SAMPLE_COVERAGE_INVERT']=0x80ab,c['SAMPLE_COVERAGE_VALUE']=0x80aa,c['SCISSOR_BOX']=0xc10,c['SCISSOR_TEST']=0xc11,c['SHADER_TYPE']=0x8b4f,c['SHADING_LANGUAGE_VERSION']=0x8b8c,c['SHORT']=0x1402,c['SRC_ALPHA']=0x302,c['SRC_ALPHA_SATURATE']=0x308,c['SRC_COLOR']=0x300,c['STATIC_DRAW']=0x88e4,c['STENCIL_ATTACHMENT']=0x8d20,c['STENCIL_BACK_FAIL']=0x8801,c['STENCIL_BACK_FUNC']=0x8800,c['STENCIL_BACK_PASS_DEPTH_FAIL']=0x8802,c['STENCIL_BACK_PASS_DEPTH_PASS']=0x8803,c['STENCIL_BACK_REF']=0x8ca3,c['STENCIL_BACK_VALUE_MASK']=0x8ca4,c['STENCIL_BACK_WRITEMASK']=0x8ca5,c['STENCIL_BITS']=0xd57,c['STENCIL_BUFFER_BIT']=0x400,c['STENCIL_CLEAR_VALUE']=0xb91,c['STENCIL_FAIL']=0xb94,c['STENCIL_FUNC']=0xb92,c['STENCIL_INDEX8']=0x8d48,c['STENCIL_PASS_DEPTH_FAIL']=0xb95,c['STENCIL_PASS_DEPTH_PASS']=0xb96,c['STENCIL_REF']=0xb97,c['STENCIL_TEST']=0xb90,c['STENCIL_VALUE_MASK']=0xb93,c['STENCIL_WRITEMASK']=0xb98,c['STREAM_DRAW']=0x88e0,c['SUBPIXEL_BITS']=0xd50,c['TEXTURE']=0x1702,c['TEXTURE0']=0x84c0,c['TEXTURE1']=0x84c1,c['TEXTURE2']=0x84c2,c['TEXTURE3']=0x84c3,c['TEXTURE4']=0x84c4,c['TEXTURE5']=0x84c5,c['TEXTURE6']=0x84c6,c['TEXTURE7']=0x84c7,c['TEXTURE8']=0x84c8,c['TEXTURE9']=0x84c9,c['TEXTURE10']=0x84ca,c['TEXTURE11']=0x84cb,c['TEXTURE12']=0x84cc,c['TEXTURE13']=0x84cd,c['TEXTURE14']=0x84ce,c['TEXTURE15']=0x84cf,c['TEXTURE16']=0x84d0,c['TEXTURE17']=0x84d1,c['TEXTURE18']=0x84d2,c['TEXTURE19']=0x84d3,c['TEXTURE20']=0x84d4,c['TEXTURE21']=0x84d5,c['TEXTURE22']=0x84d6,c['TEXTURE23']=0x84d7,c['TEXTURE24']=0x84d8,c['TEXTURE25']=0x84d9,c['TEXTURE26']=0x84da,c['TEXTURE27']=0x84db,c['TEXTURE28']=0x84dc,c['TEXTURE29']=0x84dd,c['TEXTURE30']=0x84de,c['TEXTURE31']=0x84df,c['TEXTURE_2D']=0xde1,c['TEXTURE_BINDING_2D']=0x8069,c['TEXTURE_BINDING_CUBE_MAP']=0x8514,c['TEXTURE_CUBE_MAP']=0x8513,c['TEXTURE_CUBE_MAP_NEGATIVE_X']=0x8516,c['TEXTURE_CUBE_MAP_NEGATIVE_Y']=0x8518,c['TEXTURE_CUBE_MAP_NEGATIVE_Z']=0x851a,c['TEXTURE_CUBE_MAP_POSITIVE_X']=0x8515,c['TEXTURE_CUBE_MAP_POSITIVE_Y']=0x8517,c['TEXTURE_CUBE_MAP_POSITIVE_Z']=0x8519,c['TEXTURE_MAG_FILTER']=0x2800,c['TEXTURE_MIN_FILTER']=0x2801,c['TEXTURE_WRAP_S']=0x2802,c['TEXTURE_WRAP_T']=0x2803,c['TRIANGLES']=0x4,c['TRIANGLE_FAN']=0x6,c['TRIANGLE_STRIP']=0x5,c['UNPACK_ALIGNMENT']=0xcf5,c['UNPACK_COLORSPACE_CONVERSION_WEBGL']=0x9243,c['UNPACK_FLIP_Y_WEBGL']=0x9240,c['UNPACK_PREMULTIPLY_ALPHA_WEBGL']=0x9241,c['UNSIGNED_BYTE']=0x1401,c['UNSIGNED_INT']=0x1405,c['UNSIGNED_SHORT']=0x1403,c['UNSIGNED_SHORT_4_4_4_4']=0x8033,c['UNSIGNED_SHORT_5_5_5_1']=0x8034,c['UNSIGNED_SHORT_5_6_5']=0x8363,c['VALIDATE_STATUS']=0x8b83,c['VENDOR']=0x1f00,c['VERSION']=0x1f02,c['VERTEX_ATTRIB_ARRAY_BUFFER_BINDING']=0x889f,c['VERTEX_ATTRIB_ARRAY_ENABLED']=0x8622,c['VERTEX_ATTRIB_ARRAY_NORMALIZED']=0x886a,c['VERTEX_ATTRIB_ARRAY_POINTER']=0x8645,c['VERTEX_ATTRIB_ARRAY_SIZE']=0x8623,c['VERTEX_ATTRIB_ARRAY_STRIDE']=0x8624,c['VERTEX_ATTRIB_ARRAY_TYPE']=0x8625,c['VERTEX_SHADER']=0x8b31,c['VIEWPORT']=0xba2,c['ZERO']=0x0);},{}],0x17:[function(b,c,d){function f(l){return(f='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(m){return typeof m;}:function(m){return m&&'function'==typeof Symbol&&m['constructor']===Symbol&&m!==Symbol['prototype']?'symbol':typeof m;})(l);}function g(l,m){for(var p=0x0;p{if('object'!=f(m)||!m)return m;var q=m[Symbol['toPrimitive']];if(void 0x0===q)return('string'===p?String:Number)(m);if('object'!=f(q=q['call'](m,p||'default')))return q;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(l,'string'),'symbol'==f(l)?l:l+'';}Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['default']=void 0x0;var k=new WeakMap(),d=d['default']=((()=>{function l(s){var v=this,w=0x1{if('object'!=k(L)||!L)return L;var N=L[Symbol['toPrimitive']];if(void 0x0===N)return('string'===M?String:Number)(L);if('object'!=k(N=N['call'](L,M||'default')))return N;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(K,'string'),'symbol'==k(K)?K:K+'';}var C=new WeakMap(),D=new WeakMap(),F=new WeakMap(),G=new WeakMap(),H=new WeakMap();function I(K){if('function'==typeof this['on'['concat'](K)]){for(var L=arguments['length'],M=new Array(0x1{function L(){var O;if(this instanceof L)return A(O=v(this,L),'timeout',0x0),A(O,'onabort',null),A(O,'onerror',null),A(O,'onload',null),A(O,'onloadstart',null),A(O,'onprogress',null),A(O,'ontimeout',null),A(O,'onloadend',null),A(O,'onreadystatechange',null),A(O,'readyState',0x0),A(O,'response',null),A(O,'responseText',null),A(O,'responseType',''),A(O,'responseXML',null),A(O,'status',0x0),A(O,'statusText',''),A(O,'upload',{}),A(O,'withCredentials',!0x1),F['set'](O,{'content-type':'application/x-www-form-urlencoded'}),G['set'](O,{}),O;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var M,N=L;if('function'!=typeof K&&null!==K)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return N['prototype']=Object['create'](K&&K['prototype'],{'constructor':{'value':N,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](N,'prototype',{'writable':!0x1}),K&&z(N,K),N=L,(K=[{'key':'abort','value':function(){var O=H['get'](this);O&&O['abort']();}},{'key':'getAllResponseHeaders','value':function(){var O=G['get'](this);return Object['keys'](O)['map'](function(P){return''['concat'](P,':\x20')['concat'](O[P]);})['join']('\x0a');}},{'key':'getResponseHeader','value':function(O){return G['get'](this)[O];}},{'key':'open','value':function(O,P){D['set'](this,O),C['set'](this,P),J['call'](this,L['OPENED']);}},{'key':'overrideMimeType','value':function(){}},{'key':'send','value':function(){var O=this,P=0x0 0) { +- setTimeout(deferredDelete, self.deleteInterval); +- } else { +- cleaning = false; +- } +- } +- setTimeout(deferredDelete, self.deleteInterval); +- }); +- }, +- removeCache: function removeCache(url) { +- if (this.cachedFiles.has(url)) { +- var self = this; +- var path = this.cachedFiles.remove(url).url; +- clearTimeout(writeCacheFileList); +- writeCacheFileList = null; +- this.writeCacheFile(function () { +- self._removePathOrFile(url, path); +- }); +- } +- }, +- _removePathOrFile: function _removePathOrFile(url, path) { +- if (this._isZipFile(url)) { +- if (this._isZipFile(path)) { +- deleteFile(path, this._deleteFileCB.bind(this)); +- } else { +- rmdirSync(path, true); +- this._deleteFileCB(); +- } +- } else { +- deleteFile(path, this._deleteFileCB.bind(this)); +- } +- }, +- _deleteFileCB: function _deleteFileCB(err) { +- if (!err) this.outOfStorage = false; +- }, +- makeBundleFolder: function makeBundleFolder(bundleName) { +- makeDirSync("".concat(this.cacheDir, "/").concat(bundleName), true); +- }, +- unzipAndCacheBundle: function unzipAndCacheBundle(id, zipFilePath, cacheBundleRoot, onComplete) { +- var time = Date.now().toString(); +- var targetPath = "".concat(this.cacheDir, "/").concat(cacheBundleRoot, "/").concat(time).concat(suffix++); +- var self = this; +- makeDirSync(targetPath, true); +- unzip(zipFilePath, targetPath, function (err) { +- if (err) { +- rmdirSync(targetPath, true); +- if (isOutOfStorage(err.message)) { +- self.outOfStorage = true; +- self.autoClear && self.clearLRU(); +- } +- onComplete && onComplete(err); +- return; +- } +- self.cachedFiles.add(id, { +- bundle: cacheBundleRoot, +- url: targetPath, +- lastTime: time +- }); +- self.writeCacheFile(); +- onComplete && onComplete(null, targetPath); +- }); +- }, +- _isZipFile: function _isZipFile(url) { +- return url.slice(-4) === '.zip'; +- } +-}; +-cc.assetManager.cacheManager = module.exports = cacheManager; +- +-},{}],4:[function(require,module,exports){ +-"use strict"; +- +-require('./Editbox'); +-require('./AssetManager'); +- +-},{"./AssetManager":1,"./Editbox":2}],5:[function(require,module,exports){ +-"use strict"; +- +-(function () { +- if (!(cc && cc.EditBoxComponent)) { +- return; +- } +- var EditBoxComp = cc.EditBoxComponent; +- var js = cc.js; +- var KeyboardReturnType = EditBoxComp.KeyboardReturnType; +- var MAX_VALUE = 65535; +- var KEYBOARD_HIDE_TIME = 600; +- var _hideKeyboardTimeout = null; +- var _currentEditBoxImpl = null; +- function getKeyboardReturnType(type) { +- switch (type) { +- case KeyboardReturnType.DEFAULT: +- case KeyboardReturnType.DONE: +- return 'done'; +- case KeyboardReturnType.SEND: +- return 'send'; +- case KeyboardReturnType.SEARCH: +- return 'search'; +- case KeyboardReturnType.GO: +- return 'go'; +- case KeyboardReturnType.NEXT: +- return 'next'; +- } +- return 'done'; +- } +- function MiniGameEditBoxImpl() { +- this._delegate = null; +- this._editing = false; +- this._eventListeners = { +- onKeyboardInput: null, +- onKeyboardConfirm: null, +- onKeyboardComplete: null +- }; +- } +- js.extend(MiniGameEditBoxImpl, EditBoxComp._EditBoxImpl); +- EditBoxComp._EditBoxImpl = MiniGameEditBoxImpl; +- Object.assign(MiniGameEditBoxImpl.prototype, { +- init: function init(delegate) { +- if (!delegate) { +- cc.error('EditBox init failed'); +- return; +- } +- this._delegate = delegate; +- }, +- beginEditing: function beginEditing() { +- var _this = this; +- // In case multiply register events +- if (this._editing) { +- return; +- } +- this._ensureKeyboardHide(function () { +- var delegate = _this._delegate; +- _this._showKeyboard(function () { +- // NOTE: pass defaultValue when showKeyboard is invalid on Xiaomi platform +- // need to manually update the value +- __globalAdapter.updateKeyboard({ +- value: delegate.string +- }); +- // NOTE: need to delay the event registering on Xiaomi platform +- // the input event callback is invoked twice when show keyboard. +- _this._registerKeyboardEvent(); +- _this._editing = true; +- _currentEditBoxImpl = _this; +- delegate._editBoxEditingDidBegan(); +- }); +- }); +- }, +- endEditing: function endEditing() { +- this._hideKeyboard(); +- var cbs = this._eventListeners; +- cbs.onKeyboardComplete && cbs.onKeyboardComplete(); +- }, +- _registerKeyboardEvent: function _registerKeyboardEvent() { +- var self = this; +- var delegate = this._delegate; +- var cbs = this._eventListeners; +- cbs.onKeyboardInput = function (res) { +- if (delegate._string !== res.value) { +- delegate._editBoxTextChanged(res.value); +- } +- }; +- cbs.onKeyboardConfirm = function (res) { +- delegate._editBoxEditingReturn(); +- var cbs = self._eventListeners; +- cbs.onKeyboardComplete && cbs.onKeyboardComplete(); +- }; +- cbs.onKeyboardComplete = function () { +- self._editing = false; +- _currentEditBoxImpl = null; +- self._unregisterKeyboardEvent(); +- delegate._editBoxEditingDidEnded(); +- }; +- __globalAdapter.onKeyboardInput(cbs.onKeyboardInput); +- __globalAdapter.onKeyboardConfirm(cbs.onKeyboardConfirm); +- __globalAdapter.onKeyboardComplete(cbs.onKeyboardComplete); +- }, +- _unregisterKeyboardEvent: function _unregisterKeyboardEvent() { +- var cbs = this._eventListeners; +- if (cbs.onKeyboardInput) { +- __globalAdapter.offKeyboardInput(cbs.onKeyboardInput); +- cbs.onKeyboardInput = null; +- } +- if (cbs.onKeyboardConfirm) { +- __globalAdapter.offKeyboardConfirm(cbs.onKeyboardConfirm); +- cbs.onKeyboardConfirm = null; +- } +- if (cbs.onKeyboardComplete) { +- __globalAdapter.offKeyboardComplete(cbs.onKeyboardComplete); +- cbs.onKeyboardComplete = null; +- } +- }, +- _otherEditing: function _otherEditing() { +- return !!_currentEditBoxImpl && _currentEditBoxImpl !== this && _currentEditBoxImpl._editing; +- }, +- _ensureKeyboardHide: function _ensureKeyboardHide(cb) { +- var otherEditing = this._otherEditing(); +- if (!otherEditing && !_hideKeyboardTimeout) { +- return cb(); +- } +- if (_hideKeyboardTimeout) { +- clearTimeout(_hideKeyboardTimeout); +- } +- if (otherEditing) { +- _currentEditBoxImpl.endEditing(); +- } +- _hideKeyboardTimeout = setTimeout(function () { +- _hideKeyboardTimeout = null; +- cb(); +- }, KEYBOARD_HIDE_TIME); +- }, +- _showKeyboard: function _showKeyboard(successCB) { +- var delegate = this._delegate; +- var multiline = delegate.inputMode === EditBoxComp.InputMode.ANY; +- __globalAdapter.showKeyboard({ +- defaultValue: delegate.string, +- maxLength: delegate.maxLength < 0 ? MAX_VALUE : delegate.maxLength, +- multiple: multiline, +- confirmHold: false, +- confirmType: getKeyboardReturnType(delegate.returnType), +- success: function success(res) { +- successCB && successCB(); +- }, +- fail: function fail(res) { +- cc.warn(res.errMsg); +- } +- }); +- }, +- _hideKeyboard: function _hideKeyboard() { +- __globalAdapter.hideKeyboard({ +- success: function success(res) {}, +- fail: function fail(res) { +- cc.warn(res.errMsg); +- } +- }); +- } +- }); +-})(); +- +-},{}],6:[function(require,module,exports){ +-"use strict"; +- +-var downloader = cc.assetManager.downloader; +-var originalDownloadTTF = downloader.handlers['.ttf']; +-function downloadTTF(url, options, onComplete) { +- // can't use cached ttf on Xiaomi platform +- options.cacheEnabled = false; +- originalDownloadTTF(url, options, onComplete); +-} +-downloader.register({ +- '.ttf': downloadTTF +-}); +- +-},{}],7:[function(require,module,exports){ +-"use strict"; +- +-require('../fs-utils'); +-require('../../../../common/engine/index'); +-require('./download-ttf'); +-require('./Editbox'); +- +-},{"../../../../common/engine/index":4,"../fs-utils":8,"./Editbox":5,"./download-ttf":6}],8:[function(require,module,exports){ +-"use strict"; +- +-/**************************************************************************** +- Copyright (c) 2017-2019 Xiamen Yaji Software Co., Ltd. +- +- https://www.cocos.com/ +- +- Permission is hereby granted, free of charge, to any person obtaining a copy +- of this software and associated engine source code (the "Software"), a limited, +- worldwide, royalty-free, non-assignable, revocable and non-exclusive license +- to use Cocos Creator solely to develop games on your target platforms. You shall +- not use Cocos Creator software for developing other software or tools that's +- used for developing games. You are not granted to publish, distribute, +- sublicense, and/or sell copies of Cocos Creator. +- +- The software or tools in this License Agreement are licensed, not sold. +- Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you. +- +- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +- THE SOFTWARE. +- ****************************************************************************/ +-var fs = qg.getFileSystemManager ? qg.getFileSystemManager() : null; +-var outOfStorageRegExp = /the maximum size of the file storage/; // not exactly right +- +-var fsUtils = { +- fs: fs, +- isOutOfStorage: function isOutOfStorage(errMsg) { +- return outOfStorageRegExp.test(errMsg); +- }, +- getUserDataPath: function getUserDataPath() { +- return qg.env.USER_DATA_PATH; +- }, +- checkFsValid: function checkFsValid() { +- if (!fs) { +- console.warn('can not get the file system!'); +- return false; +- } +- return true; +- }, +- deleteFile: function deleteFile(filePath, onComplete) { +- fs.unlink({ +- filePath: filePath, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Delete file failed: path: ".concat(filePath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- downloadFile: function downloadFile(remoteUrl, filePath, header, onProgress, onComplete) { +- var options = { +- url: remoteUrl, +- success: function success(res) { +- if (res.statusCode === 200) { +- onComplete && onComplete(null, res.tempFilePath || res.filePath); +- } else { +- if (res.filePath) { +- fsUtils.deleteFile(res.filePath); +- } +- console.warn("Download file failed: path: ".concat(remoteUrl, " message: ").concat(res.statusCode)); +- onComplete && onComplete(new Error(res.statusCode), null); +- } +- }, +- fail: function fail(res) { +- console.warn("Download file failed: path: ".concat(remoteUrl, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg), null); +- } +- }; +- if (filePath) options.filePath = filePath; +- if (header) options.header = header; +- var task = qg.downloadFile(options); +- onProgress && task.onProgressUpdate(onProgress); +- }, +- saveFile: function saveFile(srcPath, destPath, onComplete) { +- qg.saveFile({ +- tempFilePath: srcPath, +- filePath: destPath, +- success: function success(res) { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Save file failed: path: ".concat(srcPath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- copyFile: function copyFile(srcPath, destPath, onComplete) { +- fs.copyFile({ +- srcPath: srcPath, +- destPath: destPath, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Copy file failed: path: ".concat(srcPath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- writeFile: function writeFile(path, data, encoding, onComplete) { +- fs.writeFile({ +- filePath: path, +- encoding: encoding, +- data: data, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Write file failed: path: ".concat(path, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- writeFileSync: function writeFileSync(path, data, encoding) { +- try { +- fs.writeFileSync(path, data, encoding); +- return null; +- } catch (e) { +- console.warn("Write file failed: path: ".concat(path, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- readFile: function readFile(filePath, encoding, onComplete) { +- fs.readFile({ +- filePath: filePath, +- encoding: encoding, +- success: function success(res) { +- onComplete && onComplete(null, res.data); +- }, +- fail: function fail(res) { +- console.warn("Read file failed: path: ".concat(filePath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg), null); +- } +- }); +- }, +- readDir: function readDir(filePath, onComplete) { +- fs.readdir({ +- dirPath: filePath, +- success: function success(res) { +- onComplete && onComplete(null, res.files); +- }, +- fail: function fail(res) { +- console.warn("Read directory failed: path ".concat(filePath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg), null); +- } +- }); +- }, +- readText: function readText(filePath, onComplete) { +- fsUtils.readFile(filePath, 'utf8', onComplete); +- }, +- readArrayBuffer: function readArrayBuffer(filePath, onComplete) { +- fsUtils.readFile(filePath, '', onComplete); +- }, +- readJson: function readJson(filePath, onComplete) { +- fsUtils.readFile(filePath, 'utf8', function (err, text) { +- var out = null; +- if (!err) { +- try { +- out = JSON.parse(text); +- } catch (e) { +- console.warn("Read json failed: path: ".concat(filePath, " message: ").concat(e.message)); +- err = new Error(e.message); +- } +- } +- onComplete && onComplete(err, out); +- }); +- }, +- readJsonSync: function readJsonSync(path) { +- try { +- var str = fs.readFileSync(path, 'utf8'); +- return JSON.parse(str.data); +- } catch (e) { +- console.warn("Read json failed: path: ".concat(path, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- makeDirSync: function makeDirSync(path, recursive) { +- try { +- fs.mkdirSync(path, recursive); +- return null; +- } catch (e) { +- console.warn("Make directory failed: path: ".concat(path, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- rmdirSync: function rmdirSync(dirPath, recursive) { +- try { +- fs.rmdirSync(dirPath, recursive); +- return null; +- } catch (e) { +- console.warn("rm directory failed: path: ".concat(dirPath, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- exists: function exists(filePath, onComplete) { +- fs.access({ +- path: filePath, +- success: function success() { +- onComplete && onComplete(true); +- }, +- fail: function fail() { +- onComplete && onComplete(false); +- } +- }); +- }, +- loadSubpackage: function loadSubpackage(name, onProgress, onComplete) { +- name = "usr_".concat(name); // prevention of name conflicts with platform +- var task = qg.loadSubpackage({ +- name: name, +- success: function success() { +- onComplete && onComplete(); +- }, +- fail: function fail(res) { +- console.warn("Load Subpackage failed: name: ".concat(name, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error("Failed to load subpackage ".concat(name, ": ").concat(res.errMsg))); +- } +- }); +- onProgress && task.onProgressUpdate(onProgress); +- return task; +- }, +- unzip: function unzip(zipFilePath, targetPath, onComplete) { +- fs.unzip({ +- zipFilePath: zipFilePath, +- targetPath: targetPath, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(errMsg) { +- console.warn("unzip failed: path: ".concat(zipFilePath, " message: ").concat(errMsg)); +- onComplete && onComplete(new Error("unzip failed: ".concat(errMsg))); +- } +- }); +- } +-}; +-window.fsUtils = module.exports = fsUtils; +- +-},{}]},{},[7]); +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/engine-adapter.min.js +deleted file mode 100644 +index ab707f0..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/engine-adapter.min.js ++++ /dev/null +@@ -1,1346 +0,0 @@ +-(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 0) { +- setTimeout(deferredDelete, self.deleteInterval); +- } else { +- cleaning = false; +- } +- } +- setTimeout(deferredDelete, self.deleteInterval); +- }); +- }, +- removeCache: function removeCache(url) { +- if (this.cachedFiles.has(url)) { +- var self = this; +- var path = this.cachedFiles.remove(url).url; +- clearTimeout(writeCacheFileList); +- writeCacheFileList = null; +- this.writeCacheFile(function () { +- self._removePathOrFile(url, path); +- }); +- } +- }, +- _removePathOrFile: function _removePathOrFile(url, path) { +- if (this._isZipFile(url)) { +- if (this._isZipFile(path)) { +- deleteFile(path, this._deleteFileCB.bind(this)); +- } else { +- rmdirSync(path, true); +- this._deleteFileCB(); +- } +- } else { +- deleteFile(path, this._deleteFileCB.bind(this)); +- } +- }, +- _deleteFileCB: function _deleteFileCB(err) { +- if (!err) this.outOfStorage = false; +- }, +- makeBundleFolder: function makeBundleFolder(bundleName) { +- makeDirSync("".concat(this.cacheDir, "/").concat(bundleName), true); +- }, +- unzipAndCacheBundle: function unzipAndCacheBundle(id, zipFilePath, cacheBundleRoot, onComplete) { +- var time = Date.now().toString(); +- var targetPath = "".concat(this.cacheDir, "/").concat(cacheBundleRoot, "/").concat(time).concat(suffix++); +- var self = this; +- makeDirSync(targetPath, true); +- unzip(zipFilePath, targetPath, function (err) { +- if (err) { +- rmdirSync(targetPath, true); +- if (isOutOfStorage(err.message)) { +- self.outOfStorage = true; +- self.autoClear && self.clearLRU(); +- } +- onComplete && onComplete(err); +- return; +- } +- self.cachedFiles.add(id, { +- bundle: cacheBundleRoot, +- url: targetPath, +- lastTime: time +- }); +- self.writeCacheFile(); +- onComplete && onComplete(null, targetPath); +- }); +- }, +- _isZipFile: function _isZipFile(url) { +- return url.slice(-4) === '.zip'; +- } +-}; +-cc.assetManager.cacheManager = module.exports = cacheManager; +- +-},{}],4:[function(require,module,exports){ +-"use strict"; +- +-require('./Editbox'); +-require('./AssetManager'); +- +-},{"./AssetManager":1,"./Editbox":2}],5:[function(require,module,exports){ +-"use strict"; +- +-(function () { +- if (!(cc && cc.EditBoxComponent)) { +- return; +- } +- var EditBoxComp = cc.EditBoxComponent; +- var js = cc.js; +- var KeyboardReturnType = EditBoxComp.KeyboardReturnType; +- var MAX_VALUE = 65535; +- var KEYBOARD_HIDE_TIME = 600; +- var _hideKeyboardTimeout = null; +- var _currentEditBoxImpl = null; +- function getKeyboardReturnType(type) { +- switch (type) { +- case KeyboardReturnType.DEFAULT: +- case KeyboardReturnType.DONE: +- return 'done'; +- case KeyboardReturnType.SEND: +- return 'send'; +- case KeyboardReturnType.SEARCH: +- return 'search'; +- case KeyboardReturnType.GO: +- return 'go'; +- case KeyboardReturnType.NEXT: +- return 'next'; +- } +- return 'done'; +- } +- function MiniGameEditBoxImpl() { +- this._delegate = null; +- this._editing = false; +- this._eventListeners = { +- onKeyboardInput: null, +- onKeyboardConfirm: null, +- onKeyboardComplete: null +- }; +- } +- js.extend(MiniGameEditBoxImpl, EditBoxComp._EditBoxImpl); +- EditBoxComp._EditBoxImpl = MiniGameEditBoxImpl; +- Object.assign(MiniGameEditBoxImpl.prototype, { +- init: function init(delegate) { +- if (!delegate) { +- cc.error('EditBox init failed'); +- return; +- } +- this._delegate = delegate; +- }, +- beginEditing: function beginEditing() { +- var _this = this; +- // In case multiply register events +- if (this._editing) { +- return; +- } +- this._ensureKeyboardHide(function () { +- var delegate = _this._delegate; +- _this._showKeyboard(function () { +- // NOTE: pass defaultValue when showKeyboard is invalid on Xiaomi platform +- // need to manually update the value +- __globalAdapter.updateKeyboard({ +- value: delegate.string +- }); +- // NOTE: need to delay the event registering on Xiaomi platform +- // the input event callback is invoked twice when show keyboard. +- _this._registerKeyboardEvent(); +- _this._editing = true; +- _currentEditBoxImpl = _this; +- delegate._editBoxEditingDidBegan(); +- }); +- }); +- }, +- endEditing: function endEditing() { +- this._hideKeyboard(); +- var cbs = this._eventListeners; +- cbs.onKeyboardComplete && cbs.onKeyboardComplete(); +- }, +- _registerKeyboardEvent: function _registerKeyboardEvent() { +- var self = this; +- var delegate = this._delegate; +- var cbs = this._eventListeners; +- cbs.onKeyboardInput = function (res) { +- if (delegate._string !== res.value) { +- delegate._editBoxTextChanged(res.value); +- } +- }; +- cbs.onKeyboardConfirm = function (res) { +- delegate._editBoxEditingReturn(); +- var cbs = self._eventListeners; +- cbs.onKeyboardComplete && cbs.onKeyboardComplete(); +- }; +- cbs.onKeyboardComplete = function () { +- self._editing = false; +- _currentEditBoxImpl = null; +- self._unregisterKeyboardEvent(); +- delegate._editBoxEditingDidEnded(); +- }; +- __globalAdapter.onKeyboardInput(cbs.onKeyboardInput); +- __globalAdapter.onKeyboardConfirm(cbs.onKeyboardConfirm); +- __globalAdapter.onKeyboardComplete(cbs.onKeyboardComplete); +- }, +- _unregisterKeyboardEvent: function _unregisterKeyboardEvent() { +- var cbs = this._eventListeners; +- if (cbs.onKeyboardInput) { +- __globalAdapter.offKeyboardInput(cbs.onKeyboardInput); +- cbs.onKeyboardInput = null; +- } +- if (cbs.onKeyboardConfirm) { +- __globalAdapter.offKeyboardConfirm(cbs.onKeyboardConfirm); +- cbs.onKeyboardConfirm = null; +- } +- if (cbs.onKeyboardComplete) { +- __globalAdapter.offKeyboardComplete(cbs.onKeyboardComplete); +- cbs.onKeyboardComplete = null; +- } +- }, +- _otherEditing: function _otherEditing() { +- return !!_currentEditBoxImpl && _currentEditBoxImpl !== this && _currentEditBoxImpl._editing; +- }, +- _ensureKeyboardHide: function _ensureKeyboardHide(cb) { +- var otherEditing = this._otherEditing(); +- if (!otherEditing && !_hideKeyboardTimeout) { +- return cb(); +- } +- if (_hideKeyboardTimeout) { +- clearTimeout(_hideKeyboardTimeout); +- } +- if (otherEditing) { +- _currentEditBoxImpl.endEditing(); +- } +- _hideKeyboardTimeout = setTimeout(function () { +- _hideKeyboardTimeout = null; +- cb(); +- }, KEYBOARD_HIDE_TIME); +- }, +- _showKeyboard: function _showKeyboard(successCB) { +- var delegate = this._delegate; +- var multiline = delegate.inputMode === EditBoxComp.InputMode.ANY; +- __globalAdapter.showKeyboard({ +- defaultValue: delegate.string, +- maxLength: delegate.maxLength < 0 ? MAX_VALUE : delegate.maxLength, +- multiple: multiline, +- confirmHold: false, +- confirmType: getKeyboardReturnType(delegate.returnType), +- success: function success(res) { +- successCB && successCB(); +- }, +- fail: function fail(res) { +- cc.warn(res.errMsg); +- } +- }); +- }, +- _hideKeyboard: function _hideKeyboard() { +- __globalAdapter.hideKeyboard({ +- success: function success(res) {}, +- fail: function fail(res) { +- cc.warn(res.errMsg); +- } +- }); +- } +- }); +-})(); +- +-},{}],6:[function(require,module,exports){ +-"use strict"; +- +-var downloader = cc.assetManager.downloader; +-var originalDownloadTTF = downloader.handlers['.ttf']; +-function downloadTTF(url, options, onComplete) { +- // can't use cached ttf on Xiaomi platform +- options.cacheEnabled = false; +- originalDownloadTTF(url, options, onComplete); +-} +-downloader.register({ +- '.ttf': downloadTTF +-}); +- +-},{}],7:[function(require,module,exports){ +-"use strict"; +- +-require('../fs-utils'); +-require('../../../../common/engine/index'); +-require('./download-ttf'); +-require('./Editbox'); +- +-},{"../../../../common/engine/index":4,"../fs-utils":8,"./Editbox":5,"./download-ttf":6}],8:[function(require,module,exports){ +-"use strict"; +- +-/**************************************************************************** +- Copyright (c) 2017-2019 Xiamen Yaji Software Co., Ltd. +- +- https://www.cocos.com/ +- +- Permission is hereby granted, free of charge, to any person obtaining a copy +- of this software and associated engine source code (the "Software"), a limited, +- worldwide, royalty-free, non-assignable, revocable and non-exclusive license +- to use Cocos Creator solely to develop games on your target platforms. You shall +- not use Cocos Creator software for developing other software or tools that's +- used for developing games. You are not granted to publish, distribute, +- sublicense, and/or sell copies of Cocos Creator. +- +- The software or tools in this License Agreement are licensed, not sold. +- Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you. +- +- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +- THE SOFTWARE. +- ****************************************************************************/ +-var fs = qg.getFileSystemManager ? qg.getFileSystemManager() : null; +-var outOfStorageRegExp = /the maximum size of the file storage/; // not exactly right +- +-var fsUtils = { +- fs: fs, +- isOutOfStorage: function isOutOfStorage(errMsg) { +- return outOfStorageRegExp.test(errMsg); +- }, +- getUserDataPath: function getUserDataPath() { +- return qg.env.USER_DATA_PATH; +- }, +- checkFsValid: function checkFsValid() { +- if (!fs) { +- console.warn('can not get the file system!'); +- return false; +- } +- return true; +- }, +- deleteFile: function deleteFile(filePath, onComplete) { +- fs.unlink({ +- filePath: filePath, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Delete file failed: path: ".concat(filePath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- downloadFile: function downloadFile(remoteUrl, filePath, header, onProgress, onComplete) { +- var options = { +- url: remoteUrl, +- success: function success(res) { +- if (res.statusCode === 200) { +- onComplete && onComplete(null, res.tempFilePath || res.filePath); +- } else { +- if (res.filePath) { +- fsUtils.deleteFile(res.filePath); +- } +- console.warn("Download file failed: path: ".concat(remoteUrl, " message: ").concat(res.statusCode)); +- onComplete && onComplete(new Error(res.statusCode), null); +- } +- }, +- fail: function fail(res) { +- console.warn("Download file failed: path: ".concat(remoteUrl, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg), null); +- } +- }; +- if (filePath) options.filePath = filePath; +- if (header) options.header = header; +- var task = qg.downloadFile(options); +- onProgress && task.onProgressUpdate(onProgress); +- }, +- saveFile: function saveFile(srcPath, destPath, onComplete) { +- qg.saveFile({ +- tempFilePath: srcPath, +- filePath: destPath, +- success: function success(res) { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Save file failed: path: ".concat(srcPath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- copyFile: function copyFile(srcPath, destPath, onComplete) { +- fs.copyFile({ +- srcPath: srcPath, +- destPath: destPath, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Copy file failed: path: ".concat(srcPath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- writeFile: function writeFile(path, data, encoding, onComplete) { +- fs.writeFile({ +- filePath: path, +- encoding: encoding, +- data: data, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(res) { +- console.warn("Write file failed: path: ".concat(path, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg)); +- } +- }); +- }, +- writeFileSync: function writeFileSync(path, data, encoding) { +- try { +- fs.writeFileSync(path, data, encoding); +- return null; +- } catch (e) { +- console.warn("Write file failed: path: ".concat(path, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- readFile: function readFile(filePath, encoding, onComplete) { +- fs.readFile({ +- filePath: filePath, +- encoding: encoding, +- success: function success(res) { +- onComplete && onComplete(null, res.data); +- }, +- fail: function fail(res) { +- console.warn("Read file failed: path: ".concat(filePath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg), null); +- } +- }); +- }, +- readDir: function readDir(filePath, onComplete) { +- fs.readdir({ +- dirPath: filePath, +- success: function success(res) { +- onComplete && onComplete(null, res.files); +- }, +- fail: function fail(res) { +- console.warn("Read directory failed: path ".concat(filePath, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error(res.errMsg), null); +- } +- }); +- }, +- readText: function readText(filePath, onComplete) { +- fsUtils.readFile(filePath, 'utf8', onComplete); +- }, +- readArrayBuffer: function readArrayBuffer(filePath, onComplete) { +- fsUtils.readFile(filePath, '', onComplete); +- }, +- readJson: function readJson(filePath, onComplete) { +- fsUtils.readFile(filePath, 'utf8', function (err, text) { +- var out = null; +- if (!err) { +- try { +- out = JSON.parse(text); +- } catch (e) { +- console.warn("Read json failed: path: ".concat(filePath, " message: ").concat(e.message)); +- err = new Error(e.message); +- } +- } +- onComplete && onComplete(err, out); +- }); +- }, +- readJsonSync: function readJsonSync(path) { +- try { +- var str = fs.readFileSync(path, 'utf8'); +- return JSON.parse(str.data); +- } catch (e) { +- console.warn("Read json failed: path: ".concat(path, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- makeDirSync: function makeDirSync(path, recursive) { +- try { +- fs.mkdirSync(path, recursive); +- return null; +- } catch (e) { +- console.warn("Make directory failed: path: ".concat(path, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- rmdirSync: function rmdirSync(dirPath, recursive) { +- try { +- fs.rmdirSync(dirPath, recursive); +- return null; +- } catch (e) { +- console.warn("rm directory failed: path: ".concat(dirPath, " message: ").concat(e.message)); +- return new Error(e.message); +- } +- }, +- exists: function exists(filePath, onComplete) { +- fs.access({ +- path: filePath, +- success: function success() { +- onComplete && onComplete(true); +- }, +- fail: function fail() { +- onComplete && onComplete(false); +- } +- }); +- }, +- loadSubpackage: function loadSubpackage(name, onProgress, onComplete) { +- name = "usr_".concat(name); // prevention of name conflicts with platform +- var task = qg.loadSubpackage({ +- name: name, +- success: function success() { +- onComplete && onComplete(); +- }, +- fail: function fail(res) { +- console.warn("Load Subpackage failed: name: ".concat(name, " message: ").concat(res.errMsg)); +- onComplete && onComplete(new Error("Failed to load subpackage ".concat(name, ": ").concat(res.errMsg))); +- } +- }); +- onProgress && task.onProgressUpdate(onProgress); +- return task; +- }, +- unzip: function unzip(zipFilePath, targetPath, onComplete) { +- fs.unzip({ +- zipFilePath: zipFilePath, +- targetPath: targetPath, +- success: function success() { +- onComplete && onComplete(null); +- }, +- fail: function fail(errMsg) { +- console.warn("unzip failed: path: ".concat(zipFilePath, " message: ").concat(errMsg)); +- onComplete && onComplete(new Error("unzip failed: ".concat(errMsg))); +- } +- }); +- } +-}; +-window.fsUtils = module.exports = fsUtils; +- +-},{}]},{},[7]); +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/cache-manager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/cache-manager.js +new file mode 100644 +index 0000000..c015c65 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/cache-manager.js +@@ -0,0 +1,261 @@ ++"use strict"; ++ ++/**************************************************************************** ++ Copyright (c) 2020 Xiamen Yaji Software Co., Ltd. ++ ++ https://www.cocos.com/ ++ ++ Permission is hereby granted, free of charge, to any person obtaining a copy ++ of cache-manager software and associated engine source code (the "Software"), a limited, ++ worldwide, royalty-free, non-assignable, revocable and non-exclusive license ++ to use Cocos Creator solely to develop games on your target platforms. You shall ++ not use Cocos Creator software for developing other software or tools that's ++ used for developing games. You are not granted to publish, distribute, ++ sublicense, and/or sell copies of Cocos Creator. ++ ++ The software or tools in cache-manager License Agreement are licensed, not sold. ++ Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++ THE SOFTWARE. ++ ****************************************************************************/ ++var _window$fsUtils = window.fsUtils, ++ getUserDataPath = _window$fsUtils.getUserDataPath, ++ readJsonSync = _window$fsUtils.readJsonSync, ++ makeDirSync = _window$fsUtils.makeDirSync, ++ writeFileSync = _window$fsUtils.writeFileSync, ++ copyFile = _window$fsUtils.copyFile, ++ downloadFile = _window$fsUtils.downloadFile, ++ deleteFile = _window$fsUtils.deleteFile, ++ rmdirSync = _window$fsUtils.rmdirSync, ++ unzip = _window$fsUtils.unzip, ++ isOutOfStorage = _window$fsUtils.isOutOfStorage; ++var checkNextPeriod = false; ++var writeCacheFileList = null; ++var cleaning = false; ++var suffix = 0; ++var REGEX = /^https?:\/\/.*/; ++var cacheManager = { ++ cacheDir: 'gamecaches', ++ cachedFileName: 'cacheList.json', ++ // whether or not cache asset into user's storage space ++ cacheEnabled: true, ++ // whether or not auto clear cache when storage ran out ++ autoClear: true, ++ // cache one per cycle ++ cacheInterval: 500, ++ deleteInterval: 500, ++ writeFileInterval: 2000, ++ // whether or not storage space has run out ++ outOfStorage: false, ++ tempFiles: null, ++ cachedFiles: null, ++ cacheQueue: {}, ++ version: '1.0', ++ getCache: function getCache(url) { ++ return this.cachedFiles.has(url) ? this.cachedFiles.get(url).url : ''; ++ }, ++ getTemp: function getTemp(url) { ++ return this.tempFiles.has(url) ? this.tempFiles.get(url) : ''; ++ }, ++ init: function init() { ++ this.cacheDir = getUserDataPath() + '/' + this.cacheDir; ++ var cacheFilePath = this.cacheDir + '/' + this.cachedFileName; ++ var result = readJsonSync(cacheFilePath); ++ if (result instanceof Error || !result.version) { ++ if (!(result instanceof Error)) rmdirSync(this.cacheDir, true); ++ this.cachedFiles = new cc.AssetManager.Cache(); ++ makeDirSync(this.cacheDir, true); ++ writeFileSync(cacheFilePath, JSON.stringify({ ++ files: this.cachedFiles._map, ++ version: this.version ++ }), 'utf8'); ++ } else { ++ this.cachedFiles = new cc.AssetManager.Cache(result.files); ++ } ++ this.tempFiles = new cc.AssetManager.Cache(); ++ }, ++ updateLastTime: function updateLastTime(url) { ++ if (this.cachedFiles.has(url)) { ++ var cache = this.cachedFiles.get(url); ++ cache.lastTime = Date.now(); ++ } ++ }, ++ _write: function _write() { ++ writeCacheFileList = null; ++ writeFileSync(this.cacheDir + '/' + this.cachedFileName, JSON.stringify({ ++ files: this.cachedFiles._map, ++ version: this.version ++ }), 'utf8'); ++ }, ++ writeCacheFile: function writeCacheFile() { ++ if (!writeCacheFileList) { ++ writeCacheFileList = setTimeout(this._write.bind(this), this.writeFileInterval); ++ } ++ }, ++ _cache: function _cache() { ++ checkNextPeriod = false; ++ var self = this; ++ var id = ''; ++ for (var key in this.cacheQueue) { ++ id = key; ++ break; ++ } ++ if (!id) return; ++ var _this$cacheQueue$id = this.cacheQueue[id], ++ srcUrl = _this$cacheQueue$id.srcUrl, ++ isCopy = _this$cacheQueue$id.isCopy, ++ cacheBundleRoot = _this$cacheQueue$id.cacheBundleRoot; ++ var time = Date.now().toString(); ++ var localPath = ''; ++ if (cacheBundleRoot) { ++ localPath = "".concat(this.cacheDir, "/").concat(cacheBundleRoot, "/").concat(time).concat(suffix++).concat(cc.path.extname(id)); ++ } else { ++ localPath = "".concat(this.cacheDir, "/").concat(time).concat(suffix++).concat(cc.path.extname(id)); ++ } ++ function callback(err) { ++ if (err) { ++ if (isOutOfStorage(err.message)) { ++ self.outOfStorage = true; ++ self.autoClear && self.clearLRU(); ++ return; ++ } ++ } else { ++ self.cachedFiles.add(id, { ++ bundle: cacheBundleRoot, ++ url: localPath, ++ lastTime: time ++ }); ++ self.writeCacheFile(); ++ } ++ delete self.cacheQueue[id]; ++ if (!cc.js.isEmptyObject(self.cacheQueue) && !checkNextPeriod) { ++ checkNextPeriod = true; ++ setTimeout(self._cache.bind(self), self.cacheInterval); ++ } ++ } ++ if (!isCopy) { ++ downloadFile(srcUrl, localPath, null, callback); ++ } else { ++ copyFile(srcUrl, localPath, callback); ++ } ++ }, ++ cacheFile: function cacheFile(id, srcUrl, cacheEnabled, cacheBundleRoot, isCopy) { ++ cacheEnabled = cacheEnabled !== undefined ? cacheEnabled : this.cacheEnabled; ++ if (!cacheEnabled || this.cacheQueue[id] || this.cachedFiles.has(id)) return; ++ this.cacheQueue[id] = { ++ srcUrl: srcUrl, ++ cacheBundleRoot: cacheBundleRoot, ++ isCopy: isCopy ++ }; ++ if (!checkNextPeriod && !this.outOfStorage) { ++ checkNextPeriod = true; ++ setTimeout(this._cache.bind(this), this.cacheInterval); ++ } ++ }, ++ clearCache: function clearCache() { ++ var _this = this; ++ rmdirSync(this.cacheDir, true); ++ this.cachedFiles = new cc.AssetManager.Cache(); ++ makeDirSync(this.cacheDir, true); ++ this.outOfStorage = false; ++ clearTimeout(writeCacheFileList); ++ this._write(); ++ cc.assetManager.bundles.forEach(function (bundle) { ++ if (REGEX.test(bundle.base)) _this.makeBundleFolder(bundle.name); ++ }); ++ }, ++ clearLRU: function clearLRU() { ++ if (cleaning) return; ++ cleaning = true; ++ var caches = []; ++ var self = this; ++ this.cachedFiles.forEach(function (val, key) { ++ if (self._isZipFile(key) && cc.assetManager.bundles.find(function (bundle) { ++ return bundle.base.indexOf(val.url) !== -1; ++ })) return; ++ caches.push({ ++ originUrl: key, ++ url: val.url, ++ lastTime: val.lastTime ++ }); ++ }); ++ caches.sort(function (a, b) { ++ return a.lastTime - b.lastTime; ++ }); ++ caches.length = Math.floor(this.cachedFiles.count / 3); ++ if (caches.length === 0) return; ++ for (var i = 0, l = caches.length; i < l; i++) { ++ this.cachedFiles.remove(caches[i].originUrl); ++ } ++ clearTimeout(writeCacheFileList); ++ this._write(); ++ function deferredDelete() { ++ var item = caches.pop(); ++ if (self._isZipFile(item.originUrl)) { ++ rmdirSync(item.url, true); ++ self._deleteFileCB(); ++ } else { ++ deleteFile(item.url, self._deleteFileCB.bind(self)); ++ } ++ if (caches.length > 0) { ++ setTimeout(deferredDelete, self.deleteInterval); ++ } else { ++ cleaning = false; ++ } ++ } ++ setTimeout(deferredDelete, self.deleteInterval); ++ }, ++ removeCache: function removeCache(url) { ++ if (this.cachedFiles.has(url)) { ++ var path = this.cachedFiles.remove(url).url; ++ clearTimeout(writeCacheFileList); ++ this._write(); ++ if (this._isZipFile(url)) { ++ rmdirSync(path, true); ++ this._deleteFileCB(); ++ } else { ++ deleteFile(path, this._deleteFileCB.bind(this)); ++ } ++ } ++ }, ++ _deleteFileCB: function _deleteFileCB(err) { ++ if (!err) this.outOfStorage = false; ++ }, ++ makeBundleFolder: function makeBundleFolder(bundleName) { ++ makeDirSync(this.cacheDir + '/' + bundleName, true); ++ }, ++ unzipAndCacheBundle: function unzipAndCacheBundle(id, zipFilePath, cacheBundleRoot, onComplete) { ++ var time = Date.now().toString(); ++ var targetPath = "".concat(this.cacheDir, "/").concat(cacheBundleRoot, "/").concat(time).concat(suffix++); ++ var self = this; ++ makeDirSync(targetPath, true); ++ unzip(zipFilePath, targetPath, function (err) { ++ if (err) { ++ rmdirSync(targetPath, true); ++ if (isOutOfStorage(err.message)) { ++ self.outOfStorage = true; ++ self.autoClear && self.clearLRU(); ++ } ++ onComplete && onComplete(err); ++ return; ++ } ++ self.cachedFiles.add(id, { ++ bundle: cacheBundleRoot, ++ url: targetPath, ++ lastTime: time ++ }); ++ self.writeCacheFile(); ++ onComplete && onComplete(null, targetPath); ++ }); ++ }, ++ _isZipFile: function _isZipFile(url) { ++ return url.slice(-4) === '.zip'; ++ } ++}; ++cc.assetManager.cacheManager = module.exports = cacheManager; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/AssetManager.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/AssetManager.js +new file mode 100644 +index 0000000..60e53db +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/AssetManager.js +@@ -0,0 +1,389 @@ ++"use strict"; ++ ++var cacheManager = require('../cache-manager'); ++var _window$fsUtils = window.fsUtils, ++ fs = _window$fsUtils.fs, ++ downloadFile = _window$fsUtils.downloadFile, ++ readText = _window$fsUtils.readText, ++ readArrayBuffer = _window$fsUtils.readArrayBuffer, ++ readJson = _window$fsUtils.readJson, ++ loadSubpackage = _window$fsUtils.loadSubpackage, ++ getUserDataPath = _window$fsUtils.getUserDataPath, ++ exists = _window$fsUtils.exists; ++var REGEX = /^https?:\/\/.*/; ++var downloader = cc.assetManager.downloader; ++var parser = cc.assetManager.parser; ++var presets = cc.assetManager.presets; ++downloader.maxConcurrency = 8; ++downloader.maxRequestsPerFrame = 64; ++presets['scene'].maxConcurrency = 10; ++presets['scene'].maxRequestsPerFrame = 64; ++var subpackages = {}; ++function downloadScript(url, options, onComplete) { ++ if (REGEX.test(url)) { ++ onComplete && onComplete(new Error('Can not load remote scripts')); ++ } else { ++ require('../../../' + url); ++ onComplete && onComplete(null); ++ } ++} ++function handleZip(url, options, onComplete) { ++ var cachedUnzip = cacheManager.cachedFiles.get(url); ++ if (cachedUnzip) { ++ cacheManager.updateLastTime(url); ++ onComplete && onComplete(null, cachedUnzip.url); ++ } else if (REGEX.test(url)) { ++ downloadFile(url, null, options.header, options.onFileProgress, function (err, downloadedZipPath) { ++ if (err) { ++ onComplete && onComplete(err); ++ return; ++ } ++ cacheManager.unzipAndCacheBundle(url, downloadedZipPath, options.__cacheBundleRoot__, onComplete); ++ }); ++ } else { ++ cacheManager.unzipAndCacheBundle(url, url, options.__cacheBundleRoot__, onComplete); ++ } ++} ++function loadInnerAudioContext(url) { ++ return new Promise(function (resolve, reject) { ++ var nativeAudio = __globalAdapter.createInnerAudioContext(); ++ var timer = setTimeout(function () { ++ clearEvent(); ++ resolve(nativeAudio); ++ }, 8000); ++ function clearEvent() { ++ nativeAudio.offCanplay(success); ++ nativeAudio.offError(fail); ++ } ++ function success() { ++ clearEvent(); ++ clearTimeout(timer); ++ resolve(nativeAudio); ++ } ++ function fail() { ++ clearEvent(); ++ clearTimeout(timer); ++ reject('failed to load innerAudioContext: ' + err); ++ } ++ nativeAudio.onCanplay(success); ++ nativeAudio.onError(fail); ++ nativeAudio.src = url; ++ }); ++} ++function loadAudioPlayer(url, options, onComplete) { ++ cc.AudioPlayer.load(url).then(function (player) { ++ var audioMeta = { ++ url: url, ++ duration: player.duration, ++ type: player.type ++ }; ++ player.destroy(); ++ onComplete(null, audioMeta); ++ })["catch"](function (err) { ++ onComplete(err); ++ }); ++} ++function download(url, func, options, onFileProgress, onComplete) { ++ var result = transformUrl(url, options); ++ if (result.inLocal) { ++ func(result.url, options, onComplete); ++ } else if (result.inCache) { ++ cacheManager.updateLastTime(url); ++ func(result.url, options, function (err, data) { ++ if (err) { ++ cacheManager.removeCache(url); ++ } ++ onComplete(err, data); ++ }); ++ } else { ++ downloadFile(url, null, options.header, onFileProgress, function (err, path) { ++ if (err) { ++ onComplete(err, null); ++ return; ++ } ++ func(path, options, function (err, data) { ++ if (!err) { ++ cacheManager.tempFiles.add(url, path); ++ cacheManager.cacheFile(url, path, options.cacheEnabled, options.__cacheBundleRoot__, true); ++ } ++ onComplete(err, data); ++ }); ++ }); ++ } ++} ++function parseArrayBuffer(url, options, onComplete) { ++ readArrayBuffer(url, onComplete); ++} ++function parseText(url, options, onComplete) { ++ readText(url, onComplete); ++} ++function parseJson(url, options, onComplete) { ++ readJson(url, onComplete); ++} ++function downloadText(url, options, onComplete) { ++ download(url, parseText, options, options.onFileProgress, onComplete); ++} ++function downloadJson(url, options, onComplete) { ++ download(url, parseJson, options, options.onFileProgress, onComplete); ++} ++function loadFont(url, options, onComplete) { ++ var fontFamily = __globalAdapter.loadFont(url); ++ onComplete(null, fontFamily || 'Arial'); ++} ++function doNothing(content, options, onComplete) { ++ exists(content, function (existence) { ++ if (existence) { ++ onComplete(null, content); ++ } else { ++ onComplete(new Error("file ".concat(content, " does not exist!"))); ++ } ++ }); ++} ++function downloadAsset(url, options, onComplete) { ++ download(url, doNothing, options, options.onFileProgress, onComplete); ++} ++function downloadBundle(nameOrUrl, options, onComplete) { ++ var bundleName = cc.path.basename(nameOrUrl); ++ var version = options.version || cc.assetManager.downloader.bundleVers[bundleName]; ++ var suffix = version ? version + '.' : ''; ++ if (subpackages[bundleName]) { ++ var config = "subpackages/".concat(bundleName, "/config.").concat(suffix, "json"); ++ loadSubpackage(bundleName, options.onFileProgress, function (err) { ++ if (err) { ++ onComplete(err, null); ++ return; ++ } ++ downloadJson(config, options, function (err, data) { ++ data && (data.base = "subpackages/".concat(bundleName, "/")); ++ onComplete(err, data); ++ }); ++ }); ++ } else { ++ var js, url; ++ if (REGEX.test(nameOrUrl) || nameOrUrl.startsWith(getUserDataPath())) { ++ url = nameOrUrl; ++ js = "src/bundle-scripts/".concat(bundleName, "/index.").concat(suffix, "js"); ++ cacheManager.makeBundleFolder(bundleName); ++ } else { ++ if (downloader.remoteBundles.indexOf(bundleName) !== -1) { ++ url = "".concat(downloader.remoteServerAddress, "remote/").concat(bundleName); ++ js = "src/bundle-scripts/".concat(bundleName, "/index.").concat(suffix, "js"); ++ cacheManager.makeBundleFolder(bundleName); ++ } else { ++ url = "assets/".concat(bundleName); ++ js = "assets/".concat(bundleName, "/index.").concat(suffix, "js"); ++ } ++ } ++ require('../../../' + js); ++ options.__cacheBundleRoot__ = bundleName; ++ var config = "".concat(url, "/config.").concat(suffix, "json"); ++ downloadJson(config, options, function (err, data) { ++ if (err) { ++ onComplete && onComplete(err); ++ return; ++ } ++ if (data.isZip) { ++ var zipVersion = data.zipVersion; ++ var zipUrl = "".concat(url, "/res.").concat(zipVersion ? zipVersion + '.' : '', "zip"); ++ handleZip(zipUrl, options, function (err, unzipPath) { ++ if (err) { ++ onComplete && onComplete(err); ++ return; ++ } ++ data.base = unzipPath + '/res/'; ++ // PATCH: for android alipay version before v10.1.95 (v10.1.95 included) ++ // to remove in the future ++ var sys = cc.sys; ++ if (sys.platform === sys.ALIPAY_MINI_GAME && sys.os === sys.OS_ANDROID) { ++ var resPath = unzipPath + 'res/'; ++ if (fs.accessSync({ ++ path: resPath ++ })) { ++ data.base = resPath; ++ } ++ } ++ onComplete && onComplete(null, data); ++ }); ++ } else { ++ data.base = url + '/'; ++ onComplete && onComplete(null, data); ++ } ++ }); ++ } ++} ++; ++var originParsePVRTex = parser.parsePVRTex; ++var parsePVRTex = function parsePVRTex(file, options, onComplete) { ++ readArrayBuffer(file, function (err, data) { ++ if (err) return onComplete(err); ++ originParsePVRTex(data, options, onComplete); ++ }); ++}; ++var originParsePKMTex = parser.parsePKMTex; ++var parsePKMTex = function parsePKMTex(file, options, onComplete) { ++ readArrayBuffer(file, function (err, data) { ++ if (err) return onComplete(err); ++ originParsePKMTex(data, options, onComplete); ++ }); ++}; ++var originParseASTCTex = parser.parseASTCTex; ++var parseASTCTex = function parseASTCTex(file, options, onComplete) { ++ readArrayBuffer(file, function (err, data) { ++ if (err) return onComplete(err); ++ originParseASTCTex(data, options, onComplete); ++ }); ++}; ++var originParsePlist = parser.parsePlist; ++var parsePlist = function parsePlist(url, options, onComplete) { ++ readText(url, function (err, file) { ++ if (err) return onComplete(err); ++ originParsePlist(file, options, onComplete); ++ }); ++}; ++downloader.downloadScript = downloadScript; ++parser.parsePVRTex = parsePVRTex; ++parser.parsePKMTex = parsePKMTex; ++parser.parseASTCTex = parseASTCTex; ++parser.parsePlist = parsePlist; ++downloader.register({ ++ '.js': downloadScript, ++ // Audio ++ '.mp3': downloadAsset, ++ '.ogg': downloadAsset, ++ '.wav': downloadAsset, ++ '.m4a': downloadAsset, ++ // Image ++ '.png': downloadAsset, ++ '.jpg': downloadAsset, ++ '.bmp': downloadAsset, ++ '.jpeg': downloadAsset, ++ '.gif': downloadAsset, ++ '.ico': downloadAsset, ++ '.tiff': downloadAsset, ++ '.image': downloadAsset, ++ '.webp': downloadAsset, ++ '.pvr': downloadAsset, ++ '.pkm': downloadAsset, ++ '.astc': downloadAsset, ++ '.font': downloadAsset, ++ '.eot': downloadAsset, ++ '.ttf': downloadAsset, ++ '.woff': downloadAsset, ++ '.svg': downloadAsset, ++ '.ttc': downloadAsset, ++ // Txt ++ '.txt': downloadAsset, ++ '.xml': downloadAsset, ++ '.vsh': downloadAsset, ++ '.fsh': downloadAsset, ++ '.atlas': downloadAsset, ++ '.tmx': downloadAsset, ++ '.tsx': downloadAsset, ++ '.plist': downloadAsset, ++ '.fnt': downloadAsset, ++ '.json': downloadJson, ++ '.ExportJson': downloadAsset, ++ '.binary': downloadAsset, ++ '.bin': downloadAsset, ++ '.dbbin': downloadAsset, ++ '.skel': downloadAsset, ++ '.mp4': downloadAsset, ++ '.avi': downloadAsset, ++ '.mov': downloadAsset, ++ '.mpg': downloadAsset, ++ '.mpeg': downloadAsset, ++ '.rm': downloadAsset, ++ '.rmvb': downloadAsset, ++ 'bundle': downloadBundle, ++ 'default': downloadText ++}); ++parser.register({ ++ '.png': downloader.downloadDomImage, ++ '.jpg': downloader.downloadDomImage, ++ '.bmp': downloader.downloadDomImage, ++ '.jpeg': downloader.downloadDomImage, ++ '.gif': downloader.downloadDomImage, ++ '.ico': downloader.downloadDomImage, ++ '.tiff': downloader.downloadDomImage, ++ '.image': downloader.downloadDomImage, ++ '.webp': downloader.downloadDomImage, ++ '.pvr': parsePVRTex, ++ '.pkm': parsePKMTex, ++ '.astc': parseASTCTex, ++ '.font': loadFont, ++ '.eot': loadFont, ++ '.ttf': loadFont, ++ '.woff': loadFont, ++ '.svg': loadFont, ++ '.ttc': loadFont, ++ // Audio ++ '.mp3': loadAudioPlayer, ++ '.ogg': loadAudioPlayer, ++ '.wav': loadAudioPlayer, ++ '.m4a': loadAudioPlayer, ++ // Txt ++ '.txt': parseText, ++ '.xml': parseText, ++ '.vsh': parseText, ++ '.fsh': parseText, ++ '.atlas': parseText, ++ '.tmx': parseText, ++ '.tsx': parseText, ++ '.fnt': parseText, ++ '.plist': parsePlist, ++ '.binary': parseArrayBuffer, ++ '.bin': parseArrayBuffer, ++ '.dbbin': parseArrayBuffer, ++ '.skel': parseArrayBuffer, ++ '.ExportJson': parseJson ++}); ++function transformUrl(url, options) { ++ var inLocal = false; ++ var inCache = false; ++ var isInUserDataPath = url.startsWith(getUserDataPath()); ++ if (isInUserDataPath) { ++ inLocal = true; ++ } else if (REGEX.test(url)) { ++ if (!options.reload) { ++ var cache = cacheManager.cachedFiles.get(url); ++ if (cache) { ++ inCache = true; ++ url = cache.url; ++ } else { ++ var tempUrl = cacheManager.tempFiles.get(url); ++ if (tempUrl) { ++ inLocal = true; ++ url = tempUrl; ++ } ++ } ++ } ++ } else { ++ inLocal = true; ++ } ++ return { ++ url: url, ++ inLocal: inLocal, ++ inCache: inCache ++ }; ++} ++cc.assetManager.transformPipeline.append(function (task) { ++ var input = task.output = task.input; ++ for (var i = 0, l = input.length; i < l; i++) { ++ var item = input[i]; ++ var options = item.options; ++ if (!item.config) { ++ if (item.ext === 'bundle') continue; ++ options.cacheEnabled = options.cacheEnabled !== undefined ? options.cacheEnabled : false; ++ } else { ++ options.__cacheBundleRoot__ = item.config.name; ++ } ++ } ++}); ++var originInit = cc.assetManager.init; ++cc.assetManager.init = function (options) { ++ originInit.call(cc.assetManager, options); ++ options.subpackages && options.subpackages.forEach(function (x) { ++ return subpackages[x] = 'subpackages/' + x; ++ }); ++ cacheManager.init(); ++}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Editbox.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Editbox.js +new file mode 100644 +index 0000000..4b17200 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Editbox.js +@@ -0,0 +1,151 @@ ++"use strict"; ++ ++(function () { ++ if (!(cc && cc.EditBoxComponent)) { ++ return; ++ } ++ var EditBoxComp = cc.EditBoxComponent; ++ var js = cc.js; ++ var KeyboardReturnType = EditBoxComp.KeyboardReturnType; ++ var MAX_VALUE = 65535; ++ var KEYBOARD_HIDE_TIME = 600; ++ var _hideKeyboardTimeout = null; ++ var _currentEditBoxImpl = null; ++ function getKeyboardReturnType(type) { ++ switch (type) { ++ case KeyboardReturnType.DEFAULT: ++ case KeyboardReturnType.DONE: ++ return 'done'; ++ case KeyboardReturnType.SEND: ++ return 'send'; ++ case KeyboardReturnType.SEARCH: ++ return 'search'; ++ case KeyboardReturnType.GO: ++ return 'go'; ++ case KeyboardReturnType.NEXT: ++ return 'next'; ++ } ++ return 'done'; ++ } ++ function MiniGameEditBoxImpl() { ++ this._delegate = null; ++ this._editing = false; ++ this._eventListeners = { ++ onKeyboardInput: null, ++ onKeyboardConfirm: null, ++ onKeyboardComplete: null ++ }; ++ } ++ js.extend(MiniGameEditBoxImpl, EditBoxComp._EditBoxImpl); ++ EditBoxComp._EditBoxImpl = MiniGameEditBoxImpl; ++ Object.assign(MiniGameEditBoxImpl.prototype, { ++ init: function init(delegate) { ++ if (!delegate) { ++ cc.error('EditBox init failed'); ++ return; ++ } ++ this._delegate = delegate; ++ }, ++ beginEditing: function beginEditing() { ++ var _this = this; ++ // In case multiply register events ++ if (this._editing) { ++ return; ++ } ++ this._ensureKeyboardHide(function () { ++ var delegate = _this._delegate; ++ _this._showKeyboard(); ++ _this._registerKeyboardEvent(); ++ _this._editing = true; ++ _currentEditBoxImpl = _this; ++ delegate._editBoxEditingDidBegan(); ++ }); ++ }, ++ endEditing: function endEditing() { ++ this._hideKeyboard(); ++ var cbs = this._eventListeners; ++ cbs.onKeyboardComplete && cbs.onKeyboardComplete(); ++ }, ++ _registerKeyboardEvent: function _registerKeyboardEvent() { ++ var self = this; ++ var delegate = this._delegate; ++ var cbs = this._eventListeners; ++ cbs.onKeyboardInput = function (res) { ++ if (delegate._string !== res.value) { ++ delegate._editBoxTextChanged(res.value); ++ } ++ }; ++ cbs.onKeyboardConfirm = function (res) { ++ delegate._editBoxEditingReturn(); ++ var cbs = self._eventListeners; ++ cbs.onKeyboardComplete && cbs.onKeyboardComplete(); ++ }; ++ cbs.onKeyboardComplete = function () { ++ self._editing = false; ++ _currentEditBoxImpl = null; ++ self._unregisterKeyboardEvent(); ++ delegate._editBoxEditingDidEnded(); ++ }; ++ __globalAdapter.onKeyboardInput(cbs.onKeyboardInput); ++ __globalAdapter.onKeyboardConfirm(cbs.onKeyboardConfirm); ++ __globalAdapter.onKeyboardComplete(cbs.onKeyboardComplete); ++ }, ++ _unregisterKeyboardEvent: function _unregisterKeyboardEvent() { ++ var cbs = this._eventListeners; ++ if (cbs.onKeyboardInput) { ++ __globalAdapter.offKeyboardInput(cbs.onKeyboardInput); ++ cbs.onKeyboardInput = null; ++ } ++ if (cbs.onKeyboardConfirm) { ++ __globalAdapter.offKeyboardConfirm(cbs.onKeyboardConfirm); ++ cbs.onKeyboardConfirm = null; ++ } ++ if (cbs.onKeyboardComplete) { ++ __globalAdapter.offKeyboardComplete(cbs.onKeyboardComplete); ++ cbs.onKeyboardComplete = null; ++ } ++ }, ++ _otherEditing: function _otherEditing() { ++ return !!_currentEditBoxImpl && _currentEditBoxImpl !== this && _currentEditBoxImpl._editing; ++ }, ++ _ensureKeyboardHide: function _ensureKeyboardHide(cb) { ++ var otherEditing = this._otherEditing(); ++ if (!otherEditing && !_hideKeyboardTimeout) { ++ return cb(); ++ } ++ if (_hideKeyboardTimeout) { ++ clearTimeout(_hideKeyboardTimeout); ++ } ++ if (otherEditing) { ++ _currentEditBoxImpl.endEditing(); ++ } ++ _hideKeyboardTimeout = setTimeout(function () { ++ _hideKeyboardTimeout = null; ++ cb(); ++ }, KEYBOARD_HIDE_TIME); ++ }, ++ _showKeyboard: function _showKeyboard() { ++ var delegate = this._delegate; ++ var multiline = delegate.inputMode === EditBoxComp.InputMode.ANY; ++ __globalAdapter.showKeyboard({ ++ defaultValue: delegate.string, ++ maxLength: delegate.maxLength < 0 ? MAX_VALUE : delegate.maxLength, ++ multiple: multiline, ++ confirmHold: false, ++ confirmType: getKeyboardReturnType(delegate.returnType), ++ success: function success(res) {}, ++ fail: function fail(res) { ++ cc.warn(res.errMsg); ++ } ++ }); ++ }, ++ _hideKeyboard: function _hideKeyboard() { ++ __globalAdapter.hideKeyboard({ ++ success: function success(res) {}, ++ fail: function fail(res) { ++ cc.warn(res.errMsg); ++ } ++ }); ++ } ++ }); ++})(); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Game.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Game.js +new file mode 100644 +index 0000000..ba25e67 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Game.js +@@ -0,0 +1,121 @@ ++"use strict"; ++ ++var inputManager = cc.internal.inputManager; ++var renderer = cc.renderer; ++var game = cc.game; ++var _frameRate = 60; ++Object.assign(game, { ++ setFrameRate: function setFrameRate(frameRate) { ++ _frameRate = frameRate; ++ if (__globalAdapter.setPreferredFramesPerSecond) { ++ __globalAdapter.setPreferredFramesPerSecond(frameRate); ++ } else { ++ this._paused = true; ++ this._setAnimFrame(); ++ this._runMainLoop(); ++ } ++ }, ++ getFrameRate: function getFrameRate() { ++ return _frameRate; ++ }, ++ _runMainLoop: function _runMainLoop() { ++ var self = this, ++ _callback, ++ config = self.config, ++ director = cc.director, ++ skip = true, ++ frameRate = config.frameRate; ++ cc.debug.setDisplayStats(config.showFPS); ++ director.startAnimation(); ++ _callback = function callback(time) { ++ if (!self._paused) { ++ self._intervalId = window.rAF(_callback); ++ if (_frameRate === 30 && !__globalAdapter.setPreferredFramesPerSecond) { ++ if (skip = !skip) { ++ return; ++ } ++ } ++ director.mainLoop(time); ++ } ++ }; ++ if (self._intervalId) { ++ window.cAF(self._intervalId); ++ self._intervalId = 0; ++ } ++ self._intervalId = window.rAF(_callback); ++ self._paused = false; ++ }, ++ _initEvents: function _initEvents() { ++ var hidden = false; ++ function onHidden() { ++ if (!hidden) { ++ hidden = true; ++ cc.game.emit(cc.Game.EVENT_HIDE); ++ } ++ } ++ function onShown() { ++ if (hidden) { ++ hidden = false; ++ cc.game.emit(cc.Game.EVENT_SHOW); ++ } ++ } ++ __globalAdapter.onAudioInterruptionEnd && __globalAdapter.onAudioInterruptionEnd(function () { ++ if (cc.audioEngine) cc.audioEngine._restore(); ++ }); ++ __globalAdapter.onAudioInterruptionBegin && __globalAdapter.onAudioInterruptionBegin(function () { ++ if (cc.audioEngine) cc.audioEngine._break(); ++ }); ++ __globalAdapter.onShow && __globalAdapter.onShow(onShown); ++ __globalAdapter.onHide && __globalAdapter.onHide(onHidden); ++ this.on(cc.Game.EVENT_HIDE, function () { ++ cc.game.pause(); ++ }); ++ this.on(cc.Game.EVENT_SHOW, function () { ++ cc.game.resume(); ++ }); ++ }, ++ end: function end() {} // mini game platform not support this api ++}); ++ ++// Small game in the screen log ++function onErrorMessageHandler(info) { ++ // off error event ++ __globalAdapter.offError && __globalAdapter.offError(onErrorMessageHandler); ++ var allowTrigger = Math.random() < 0.001; ++ if (__globalAdapter.isSubContext || !allowTrigger) { ++ return; ++ } ++ var env = __globalAdapter.getSystemInfoSync(); ++ if (!env) { ++ return; ++ } ++ var root = cc.Canvas.instance.node; ++ if (!root) { ++ return; ++ } ++ var offset = 60; ++ var node = new cc.Node(); ++ node.color = cc.Color.BLACK; ++ node.parent = root; ++ var label = node.addComponent(cc.Label); ++ node.height = root.height - offset; ++ node.width = root.width - offset; ++ label.overflow = cc.Label.Overflow.SHRINK; ++ label.horizontalAlign = cc.Label.HorizontalAlign.LEFT; ++ label.verticalAlign = cc.Label.VerticalAlign.TOP; ++ label.fontSize = 24; ++ if (cc.LabelOutline) { ++ var outline = node.addComponent(cc.LabelOutline); ++ outline.color = cc.Color.WHITE; ++ } ++ label.string = '请截屏发送以下信息反馈给游戏开发者(Please send this screen shot to the game developer)\n'; ++ label.string += 'Device: ' + env.brand + ' ' + env.model + '\n' + 'System: ' + env.system + '\n' + 'Platform: WeChat ' + env.version + '\n' + 'Engine: Cocos Creator v' + window.CocosEngine + '\n' + 'Error:\n' + info.message; ++ cc.director.pause(); ++ node.once('touchend', function () { ++ node.destroy(); ++ setTimeout(function () { ++ cc.director.resume(); ++ }, 1000); ++ }); ++} ++__globalAdapter.onError && __globalAdapter.onError(onErrorMessageHandler); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Screen.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Screen.js +new file mode 100644 +index 0000000..774e4de +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/Screen.js +@@ -0,0 +1,7 @@ ++"use strict"; ++ ++Object.assign(cc.screen, { ++ autoFullScreen: function autoFullScreen(element, onFullScreenChange) { ++ // Not support on mini game ++ } ++}); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/ContainerStrategy.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/ContainerStrategy.js +new file mode 100644 +index 0000000..f7d62d7 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/ContainerStrategy.js +@@ -0,0 +1,20 @@ ++"use strict"; ++ ++function adaptContainerStrategy(containerStrategyProto) { ++ containerStrategyProto._setupContainer = function (view, width, height) { ++ var locCanvas = cc.game.canvas; ++ // Setup pixel ratio for retina display ++ var devicePixelRatio = view._devicePixelRatio = 1; ++ if (view.isRetinaEnabled()) devicePixelRatio = view._devicePixelRatio = Math.min(view._maxPixelRatio, window.devicePixelRatio || 1); ++ // Setup canvas ++ width *= devicePixelRatio; ++ height *= devicePixelRatio; ++ // FIX: black screen on Baidu platform ++ // reset canvas size may call gl.clear(), especially when you call cc.director.loadScene() ++ if (locCanvas.width !== width || locCanvas.height !== height) { ++ locCanvas.width = width; ++ locCanvas.height = height; ++ } ++ }; ++} ++module.exports = adaptContainerStrategy; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/View.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/View.js +new file mode 100644 +index 0000000..3b7e355 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/View.js +@@ -0,0 +1,37 @@ ++"use strict"; ++ ++function adaptView(viewProto) { ++ Object.assign(viewProto, { ++ _adjustViewportMeta: function _adjustViewportMeta() { ++ // minigame not support ++ }, ++ setRealPixelResolution: function setRealPixelResolution(width, height, resolutionPolicy) { ++ // Reset the resolution size and policy ++ this.setDesignResolutionSize(width, height, resolutionPolicy); ++ }, ++ enableAutoFullScreen: function enableAutoFullScreen(enabled) { ++ cc.warn('cc.view.enableAutoFullScreen() is not supported on minigame platform.'); ++ }, ++ isAutoFullScreenEnabled: function isAutoFullScreenEnabled() { ++ return false; ++ }, ++ setCanvasSize: function setCanvasSize() { ++ cc.warn('cc.view.setCanvasSize() is not supported on minigame platform.'); ++ }, ++ setFrameSize: function setFrameSize() { ++ cc.warn('frame size is readonly on minigame platform.'); ++ }, ++ _initFrameSize: function _initFrameSize() { ++ var locFrameSize = this._frameSize; ++ if (__globalAdapter.isSubContext) { ++ var sharedCanvas = window.sharedCanvas || __globalAdapter.getSharedCanvas(); ++ locFrameSize.width = sharedCanvas.width; ++ locFrameSize.height = sharedCanvas.height; ++ } else { ++ locFrameSize.width = window.innerWidth; ++ locFrameSize.height = window.innerHeight; ++ } ++ } ++ }); ++} ++module.exports = adaptView; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/index.js +new file mode 100644 +index 0000000..d18b227 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/globalAdapter/index.js +@@ -0,0 +1,6 @@ ++"use strict"; ++ ++window.__globalAdapter = { ++ adaptView: require('./View'), ++ adaptContainerStrategy: require('./ContainerStrategy') ++}; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/index.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/index.js +new file mode 100644 +index 0000000..7f72e23 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/index.js +@@ -0,0 +1,7 @@ ++"use strict"; ++ ++require('./Editbox'); ++require('./Game'); ++require('./AssetManager'); ++require('./Screen'); ++require('./misc'); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/misc.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/misc.js +new file mode 100644 +index 0000000..fd9c575 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/engine/misc.js +@@ -0,0 +1,3 @@ ++"use strict"; ++ ++cc.macro.DOWNLOAD_MAX_CONCURRENT = 10; +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/dom-parser.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/dom-parser.js +new file mode 100644 +index 0000000..b1ebb4f +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/dom-parser.js +@@ -0,0 +1,258 @@ ++"use strict"; ++ ++function DOMParser(options) { ++ this.options = options || { ++ locator: {} ++ }; ++} ++DOMParser.prototype.parseFromString = function (source, mimeType) { ++ var options = this.options; ++ var sax = new XMLReader(); ++ var domBuilder = options.domBuilder || new DOMHandler(); //contentHandler and LexicalHandler ++ var errorHandler = options.errorHandler; ++ var locator = options.locator; ++ var defaultNSMap = options.xmlns || {}; ++ var isHTML = /\/x?html?$/.test(mimeType); //mimeType.toLowerCase().indexOf('html') > -1; ++ var entityMap = isHTML ? htmlEntity.entityMap : { ++ 'lt': '<', ++ 'gt': '>', ++ 'amp': '&', ++ 'quot': '"', ++ 'apos': "'" ++ }; ++ if (locator) { ++ domBuilder.setDocumentLocator(locator); ++ } ++ sax.errorHandler = buildErrorHandler(errorHandler, domBuilder, locator); ++ sax.domBuilder = options.domBuilder || domBuilder; ++ if (isHTML) { ++ defaultNSMap[''] = 'http://www.w3.org/1999/xhtml'; ++ } ++ defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace'; ++ if (source) { ++ sax.parse(source, defaultNSMap, entityMap); ++ } else { ++ sax.errorHandler.error("invalid doc source"); ++ } ++ return domBuilder.doc; ++}; ++function buildErrorHandler(errorImpl, domBuilder, locator) { ++ if (!errorImpl) { ++ if (domBuilder instanceof DOMHandler) { ++ return domBuilder; ++ } ++ errorImpl = domBuilder; ++ } ++ var errorHandler = {}; ++ var isCallback = errorImpl instanceof Function; ++ locator = locator || {}; ++ function build(key) { ++ var fn = errorImpl[key]; ++ if (!fn && isCallback) { ++ fn = errorImpl.length == 2 ? function (msg) { ++ errorImpl(key, msg); ++ } : errorImpl; ++ } ++ errorHandler[key] = fn && function (msg) { ++ fn('[xmldom ' + key + ']\t' + msg + _locator(locator)); ++ } || function () {}; ++ } ++ build('warning'); ++ build('error'); ++ build('fatalError'); ++ return errorHandler; ++} ++ ++//console.log('#\n\n\n\n\n\n\n####') ++/** ++ * +ContentHandler+ErrorHandler ++ * +LexicalHandler+EntityResolver2 ++ * -DeclHandler-DTDHandler ++ * ++ * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler ++ * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html ++ */ ++function DOMHandler() { ++ this.cdata = false; ++} ++function position(locator, node) { ++ node.lineNumber = locator.lineNumber; ++ node.columnNumber = locator.columnNumber; ++} ++/** ++ * @see org.xml.sax.ContentHandler#startDocument ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html ++ */ ++DOMHandler.prototype = { ++ startDocument: function startDocument() { ++ this.doc = new DOMImplementation().createDocument(null, null, null); ++ if (this.locator) { ++ this.doc.documentURI = this.locator.systemId; ++ } ++ }, ++ startElement: function startElement(namespaceURI, localName, qName, attrs) { ++ var doc = this.doc; ++ var el = doc.createElementNS(namespaceURI, qName || localName); ++ var len = attrs.length; ++ appendElement(this, el); ++ this.currentElement = el; ++ this.locator && position(this.locator, el); ++ for (var i = 0; i < len; i++) { ++ var namespaceURI = attrs.getURI(i); ++ var value = attrs.getValue(i); ++ var qName = attrs.getQName(i); ++ var attr = doc.createAttributeNS(namespaceURI, qName); ++ this.locator && position(attrs.getLocator(i), attr); ++ attr.value = attr.nodeValue = value; ++ el.setAttributeNode(attr); ++ } ++ }, ++ endElement: function endElement(namespaceURI, localName, qName) { ++ var current = this.currentElement; ++ var tagName = current.tagName; ++ this.currentElement = current.parentNode; ++ }, ++ startPrefixMapping: function startPrefixMapping(prefix, uri) {}, ++ endPrefixMapping: function endPrefixMapping(prefix) {}, ++ processingInstruction: function processingInstruction(target, data) { ++ var ins = this.doc.createProcessingInstruction(target, data); ++ this.locator && position(this.locator, ins); ++ appendElement(this, ins); ++ }, ++ ignorableWhitespace: function ignorableWhitespace(ch, start, length) {}, ++ characters: function characters(chars, start, length) { ++ chars = _toString.apply(this, arguments); ++ //console.log(chars) ++ if (chars) { ++ if (this.cdata) { ++ var charNode = this.doc.createCDATASection(chars); ++ } else { ++ var charNode = this.doc.createTextNode(chars); ++ } ++ if (this.currentElement) { ++ this.currentElement.appendChild(charNode); ++ } else if (/^\s*$/.test(chars)) { ++ this.doc.appendChild(charNode); ++ //process xml ++ } ++ this.locator && position(this.locator, charNode); ++ } ++ }, ++ skippedEntity: function skippedEntity(name) {}, ++ endDocument: function endDocument() { ++ this.doc.normalize(); ++ }, ++ setDocumentLocator: function setDocumentLocator(locator) { ++ if (this.locator = locator) { ++ // && !('lineNumber' in locator)){ ++ locator.lineNumber = 0; ++ } ++ }, ++ //LexicalHandler ++ comment: function comment(chars, start, length) { ++ chars = _toString.apply(this, arguments); ++ var comm = this.doc.createComment(chars); ++ this.locator && position(this.locator, comm); ++ appendElement(this, comm); ++ }, ++ startCDATA: function startCDATA() { ++ //used in characters() methods ++ this.cdata = true; ++ }, ++ endCDATA: function endCDATA() { ++ this.cdata = false; ++ }, ++ startDTD: function startDTD(name, publicId, systemId) { ++ var impl = this.doc.implementation; ++ if (impl && impl.createDocumentType) { ++ var dt = impl.createDocumentType(name, publicId, systemId); ++ this.locator && position(this.locator, dt); ++ appendElement(this, dt); ++ } ++ }, ++ /** ++ * @see org.xml.sax.ErrorHandler ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html ++ */ ++ warning: function warning(error) { ++ console.warn('[xmldom warning]\t' + error, _locator(this.locator)); ++ }, ++ error: function error(_error) { ++ console.error('[xmldom error]\t' + _error, _locator(this.locator)); ++ }, ++ fatalError: function fatalError(error) { ++ console.error('[xmldom fatalError]\t' + error, _locator(this.locator)); ++ throw error; ++ } ++}; ++function _locator(l) { ++ if (l) { ++ return '\n@' + (l.systemId || '') + '#[line:' + l.lineNumber + ',col:' + l.columnNumber + ']'; ++ } ++} ++function _toString(chars, start, length) { ++ if (typeof chars == 'string') { ++ return chars.substr(start, length); ++ } else { ++ //java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") ++ if (chars.length >= start + length || start) { ++ return new java.lang.String(chars, start, length) + ''; ++ } ++ return chars; ++ } ++} ++ ++/* ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html ++ * used method of org.xml.sax.ext.LexicalHandler: ++ * #comment(chars, start, length) ++ * #startCDATA() ++ * #endCDATA() ++ * #startDTD(name, publicId, systemId) ++ * ++ * ++ * IGNORED method of org.xml.sax.ext.LexicalHandler: ++ * #endDTD() ++ * #startEntity(name) ++ * #endEntity(name) ++ * ++ * ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html ++ * IGNORED method of org.xml.sax.ext.DeclHandler ++ * #attributeDecl(eName, aName, type, mode, value) ++ * #elementDecl(name, model) ++ * #externalEntityDecl(name, publicId, systemId) ++ * #internalEntityDecl(name, value) ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html ++ * IGNORED method of org.xml.sax.EntityResolver2 ++ * #resolveEntity(String name,String publicId,String baseURI,String systemId) ++ * #resolveEntity(publicId, systemId) ++ * #getExternalSubset(name, baseURI) ++ * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html ++ * IGNORED method of org.xml.sax.DTDHandler ++ * #notationDecl(name, publicId, systemId) {}; ++ * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; ++ */ ++"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function (key) { ++ DOMHandler.prototype[key] = function () { ++ return null; ++ }; ++}); ++ ++/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ ++function appendElement(hander, node) { ++ if (!hander.currentElement) { ++ hander.doc.appendChild(node); ++ } else { ++ hander.currentElement.appendChild(node); ++ } ++} //appendChild and setAttributeNS are preformance key ++ ++//if(typeof require == 'function'){ ++var htmlEntity = require('./entities'); ++var XMLReader = require('./sax').XMLReader; ++var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation; ++exports.XMLSerializer = require('./dom').XMLSerializer; ++exports.DOMParser = DOMParser; ++//} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/dom.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/dom.js +new file mode 100644 +index 0000000..ffde390 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/dom.js +@@ -0,0 +1,1219 @@ ++"use strict"; ++ ++function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } ++/* ++ * DOM Level 2 ++ * Object DOMException ++ * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html ++ * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html ++ */ ++ ++function copy(src, dest) { ++ for (var p in src) { ++ dest[p] = src[p]; ++ } ++} ++/** ++^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));? ++^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));? ++ */ ++function _extends(Class, Super) { ++ var pt = Class.prototype; ++ if (!(pt instanceof Super)) { ++ var t = function t() {}; ++ ; ++ t.prototype = Super.prototype; ++ t = new t(); ++ // copy(pt,t); ++ for (var p in pt) { ++ t[p] = pt[p]; ++ } ++ Class.prototype = pt = t; ++ } ++ if (pt.constructor != Class) { ++ if (typeof Class != 'function') { ++ console.error("unknow Class:" + Class); ++ } ++ pt.constructor = Class; ++ } ++} ++var htmlns = 'http://www.w3.org/1999/xhtml'; ++// Node Types ++var NodeType = {}; ++var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1; ++var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2; ++var TEXT_NODE = NodeType.TEXT_NODE = 3; ++var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4; ++var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5; ++var ENTITY_NODE = NodeType.ENTITY_NODE = 6; ++var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7; ++var COMMENT_NODE = NodeType.COMMENT_NODE = 8; ++var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9; ++var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10; ++var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11; ++var NOTATION_NODE = NodeType.NOTATION_NODE = 12; ++ ++// ExceptionCode ++var ExceptionCode = {}; ++var ExceptionMessage = {}; ++var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = (ExceptionMessage[1] = "Index size error", 1); ++var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = (ExceptionMessage[2] = "DOMString size error", 2); ++var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = (ExceptionMessage[3] = "Hierarchy request error", 3); ++var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = (ExceptionMessage[4] = "Wrong document", 4); ++var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = (ExceptionMessage[5] = "Invalid character", 5); ++var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = (ExceptionMessage[6] = "No data allowed", 6); ++var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = (ExceptionMessage[7] = "No modification allowed", 7); ++var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = (ExceptionMessage[8] = "Not found", 8); ++var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = (ExceptionMessage[9] = "Not supported", 9); ++var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = (ExceptionMessage[10] = "Attribute in use", 10); ++//level2 ++var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = (ExceptionMessage[11] = "Invalid state", 11); ++var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = (ExceptionMessage[12] = "Syntax error", 12); ++var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = (ExceptionMessage[13] = "Invalid modification", 13); ++var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = (ExceptionMessage[14] = "Invalid namespace", 14); ++var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = (ExceptionMessage[15] = "Invalid access", 15); ++function DOMException(code, message) { ++ if (message instanceof Error) { ++ var error = message; ++ } else { ++ error = this; ++ Error.call(this, ExceptionMessage[code]); ++ this.message = ExceptionMessage[code]; ++ if (Error.captureStackTrace) Error.captureStackTrace(this, DOMException); ++ } ++ error.code = code; ++ if (message) this.message = this.message + ": " + message; ++ return error; ++} ++; ++DOMException.prototype = Error.prototype; ++copy(ExceptionCode, DOMException); ++/** ++ * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177 ++ * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live. ++ * The items in the NodeList are accessible via an integral index, starting from 0. ++ */ ++function NodeList() {} ++; ++NodeList.prototype = { ++ /** ++ * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive. ++ * @standard level1 ++ */ ++ length: 0, ++ /** ++ * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. ++ * @standard level1 ++ * @param index unsigned long ++ * Index into the collection. ++ * @return Node ++ * The node at the indexth position in the NodeList, or null if that is not a valid index. ++ */ ++ item: function item(index) { ++ return this[index] || null; ++ }, ++ toString: function toString(isHTML, nodeFilter) { ++ for (var buf = [], i = 0; i < this.length; i++) { ++ serializeToString(this[i], buf, isHTML, nodeFilter); ++ } ++ return buf.join(''); ++ } ++}; ++function LiveNodeList(node, refresh) { ++ this._node = node; ++ this._refresh = refresh; ++ _updateLiveList(this); ++} ++function _updateLiveList(list) { ++ var inc = list._node._inc || list._node.ownerDocument._inc; ++ if (list._inc != inc) { ++ var ls = list._refresh(list._node); ++ //console.log(ls.length) ++ __set__(list, 'length', ls.length); ++ //copy(ls,list); ++ for (var p in ls) { ++ list[p] = ls[p]; ++ } ++ list._inc = inc; ++ } ++} ++LiveNodeList.prototype.item = function (i) { ++ _updateLiveList(this); ++ return this[i]; ++}; ++_extends(LiveNodeList, NodeList); ++/** ++ * ++ * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes. ++ * NamedNodeMap objects in the DOM are live. ++ * used for attributes or DocumentType entities ++ */ ++function NamedNodeMap() {} ++; ++function _findNodeIndex(list, node) { ++ var i = list.length; ++ while (i--) { ++ if (list[i] === node) { ++ return i; ++ } ++ } ++} ++function _addNamedNode(el, list, newAttr, oldAttr) { ++ if (oldAttr) { ++ list[_findNodeIndex(list, oldAttr)] = newAttr; ++ } else { ++ list[list.length++] = newAttr; ++ } ++ if (el) { ++ newAttr.ownerElement = el; ++ var doc = el.ownerDocument; ++ if (doc) { ++ oldAttr && _onRemoveAttribute(doc, el, oldAttr); ++ _onAddAttribute(doc, el, newAttr); ++ } ++ } ++} ++function _removeNamedNode(el, list, attr) { ++ //console.log('remove attr:'+attr) ++ var i = _findNodeIndex(list, attr); ++ if (i >= 0) { ++ var lastIndex = list.length - 1; ++ while (i < lastIndex) { ++ list[i] = list[++i]; ++ } ++ list.length = lastIndex; ++ if (el) { ++ var doc = el.ownerDocument; ++ if (doc) { ++ _onRemoveAttribute(doc, el, attr); ++ attr.ownerElement = null; ++ } ++ } ++ } else { ++ throw DOMException(NOT_FOUND_ERR, new Error(el.tagName + '@' + attr)); ++ } ++} ++NamedNodeMap.prototype = { ++ length: 0, ++ item: NodeList.prototype.item, ++ getNamedItem: function getNamedItem(key) { ++ // if(key.indexOf(':')>0 || key == 'xmlns'){ ++ // return null; ++ // } ++ //console.log() ++ var i = this.length; ++ while (i--) { ++ var attr = this[i]; ++ //console.log(attr.nodeName,key) ++ if (attr.nodeName == key) { ++ return attr; ++ } ++ } ++ }, ++ setNamedItem: function setNamedItem(attr) { ++ var el = attr.ownerElement; ++ if (el && el != this._ownerElement) { ++ throw new DOMException(INUSE_ATTRIBUTE_ERR); ++ } ++ var oldAttr = this.getNamedItem(attr.nodeName); ++ _addNamedNode(this._ownerElement, this, attr, oldAttr); ++ return oldAttr; ++ }, ++ /* returns Node */ ++ setNamedItemNS: function setNamedItemNS(attr) { ++ // raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR ++ var el = attr.ownerElement, ++ oldAttr; ++ if (el && el != this._ownerElement) { ++ throw new DOMException(INUSE_ATTRIBUTE_ERR); ++ } ++ oldAttr = this.getNamedItemNS(attr.namespaceURI, attr.localName); ++ _addNamedNode(this._ownerElement, this, attr, oldAttr); ++ return oldAttr; ++ }, ++ /* returns Node */ ++ removeNamedItem: function removeNamedItem(key) { ++ var attr = this.getNamedItem(key); ++ _removeNamedNode(this._ownerElement, this, attr); ++ return attr; ++ }, ++ // raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR ++ ++ //for level2 ++ removeNamedItemNS: function removeNamedItemNS(namespaceURI, localName) { ++ var attr = this.getNamedItemNS(namespaceURI, localName); ++ _removeNamedNode(this._ownerElement, this, attr); ++ return attr; ++ }, ++ getNamedItemNS: function getNamedItemNS(namespaceURI, localName) { ++ var i = this.length; ++ while (i--) { ++ var node = this[i]; ++ if (node.localName == localName && node.namespaceURI == namespaceURI) { ++ return node; ++ } ++ } ++ return null; ++ } ++}; ++/** ++ * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 ++ */ ++function DOMImplementation(/* Object */features) { ++ this._features = {}; ++ if (features) { ++ for (var feature in features) { ++ this._features = features[feature]; ++ } ++ } ++} ++; ++DOMImplementation.prototype = { ++ hasFeature: function hasFeature(/* string */feature, /* string */version) { ++ var versions = this._features[feature.toLowerCase()]; ++ if (versions && (!version || version in versions)) { ++ return true; ++ } else { ++ return false; ++ } ++ }, ++ // Introduced in DOM Level 2: ++ createDocument: function createDocument(namespaceURI, qualifiedName, doctype) { ++ // raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR ++ var doc = new Document(); ++ doc.implementation = this; ++ doc.childNodes = new NodeList(); ++ doc.doctype = doctype; ++ if (doctype) { ++ doc.appendChild(doctype); ++ } ++ if (qualifiedName) { ++ var root = doc.createElementNS(namespaceURI, qualifiedName); ++ doc.appendChild(root); ++ } ++ return doc; ++ }, ++ // Introduced in DOM Level 2: ++ createDocumentType: function createDocumentType(qualifiedName, publicId, systemId) { ++ // raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR ++ var node = new DocumentType(); ++ node.name = qualifiedName; ++ node.nodeName = qualifiedName; ++ node.publicId = publicId; ++ node.systemId = systemId; ++ // Introduced in DOM Level 2: ++ //readonly attribute DOMString internalSubset; ++ ++ //TODO:.. ++ // readonly attribute NamedNodeMap entities; ++ // readonly attribute NamedNodeMap notations; ++ return node; ++ } ++}; ++ ++/** ++ * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247 ++ */ ++ ++function Node() {} ++; ++Node.prototype = { ++ firstChild: null, ++ lastChild: null, ++ previousSibling: null, ++ nextSibling: null, ++ attributes: null, ++ parentNode: null, ++ childNodes: null, ++ ownerDocument: null, ++ nodeValue: null, ++ namespaceURI: null, ++ prefix: null, ++ localName: null, ++ // Modified in DOM Level 2: ++ insertBefore: function insertBefore(newChild, refChild) { ++ //raises ++ return _insertBefore(this, newChild, refChild); ++ }, ++ replaceChild: function replaceChild(newChild, oldChild) { ++ //raises ++ this.insertBefore(newChild, oldChild); ++ if (oldChild) { ++ this.removeChild(oldChild); ++ } ++ }, ++ removeChild: function removeChild(oldChild) { ++ return _removeChild(this, oldChild); ++ }, ++ appendChild: function appendChild(newChild) { ++ return this.insertBefore(newChild, null); ++ }, ++ hasChildNodes: function hasChildNodes() { ++ return this.firstChild != null; ++ }, ++ cloneNode: function cloneNode(deep) { ++ return _cloneNode(this.ownerDocument || this, this, deep); ++ }, ++ // Modified in DOM Level 2: ++ normalize: function normalize() { ++ var child = this.firstChild; ++ while (child) { ++ var next = child.nextSibling; ++ if (next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE) { ++ this.removeChild(next); ++ child.appendData(next.data); ++ } else { ++ child.normalize(); ++ child = next; ++ } ++ } ++ }, ++ // Introduced in DOM Level 2: ++ isSupported: function isSupported(feature, version) { ++ return this.ownerDocument.implementation.hasFeature(feature, version); ++ }, ++ // Introduced in DOM Level 2: ++ hasAttributes: function hasAttributes() { ++ return this.attributes.length > 0; ++ }, ++ lookupPrefix: function lookupPrefix(namespaceURI) { ++ var el = this; ++ while (el) { ++ var map = el._nsMap; ++ //console.dir(map) ++ if (map) { ++ for (var n in map) { ++ if (map[n] == namespaceURI) { ++ return n; ++ } ++ } ++ } ++ el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode; ++ } ++ return null; ++ }, ++ // Introduced in DOM Level 3: ++ lookupNamespaceURI: function lookupNamespaceURI(prefix) { ++ var el = this; ++ while (el) { ++ var map = el._nsMap; ++ //console.dir(map) ++ if (map) { ++ if (prefix in map) { ++ return map[prefix]; ++ } ++ } ++ el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode; ++ } ++ return null; ++ }, ++ // Introduced in DOM Level 3: ++ isDefaultNamespace: function isDefaultNamespace(namespaceURI) { ++ var prefix = this.lookupPrefix(namespaceURI); ++ return prefix == null; ++ } ++}; ++function _xmlEncoder(c) { ++ return c == '<' && '<' || c == '>' && '>' || c == '&' && '&' || c == '"' && '"' || '&#' + c.charCodeAt() + ';'; ++} ++copy(NodeType, Node); ++copy(NodeType, Node.prototype); ++ ++/** ++ * @param callback return true for continue,false for break ++ * @return boolean true: break visit; ++ */ ++function _visitNode(node, callback) { ++ if (callback(node)) { ++ return true; ++ } ++ if (node = node.firstChild) { ++ do { ++ if (_visitNode(node, callback)) { ++ return true; ++ } ++ } while (node = node.nextSibling); ++ } ++} ++function Document() {} ++function _onAddAttribute(doc, el, newAttr) { ++ doc && doc._inc++; ++ var ns = newAttr.namespaceURI; ++ if (ns == 'http://www.w3.org/2000/xmlns/') { ++ //update namespace ++ el._nsMap[newAttr.prefix ? newAttr.localName : ''] = newAttr.value; ++ } ++} ++function _onRemoveAttribute(doc, el, newAttr, remove) { ++ doc && doc._inc++; ++ var ns = newAttr.namespaceURI; ++ if (ns == 'http://www.w3.org/2000/xmlns/') { ++ //update namespace ++ delete el._nsMap[newAttr.prefix ? newAttr.localName : '']; ++ } ++} ++function _onUpdateChild(doc, el, newChild) { ++ if (doc && doc._inc) { ++ doc._inc++; ++ //update childNodes ++ var cs = el.childNodes; ++ if (newChild) { ++ cs[cs.length++] = newChild; ++ } else { ++ //console.log(1) ++ var child = el.firstChild; ++ var i = 0; ++ while (child) { ++ cs[i++] = child; ++ child = child.nextSibling; ++ } ++ cs.length = i; ++ } ++ } ++} ++ ++/** ++ * attributes; ++ * children; ++ * ++ * writeable properties: ++ * nodeValue,Attr:value,CharacterData:data ++ * prefix ++ */ ++function _removeChild(parentNode, child) { ++ var previous = child.previousSibling; ++ var next = child.nextSibling; ++ if (previous) { ++ previous.nextSibling = next; ++ } else { ++ parentNode.firstChild = next; ++ } ++ if (next) { ++ next.previousSibling = previous; ++ } else { ++ parentNode.lastChild = previous; ++ } ++ _onUpdateChild(parentNode.ownerDocument, parentNode); ++ return child; ++} ++/** ++ * preformance key(refChild == null) ++ */ ++function _insertBefore(parentNode, newChild, nextChild) { ++ var cp = newChild.parentNode; ++ if (cp) { ++ cp.removeChild(newChild); //remove and update ++ } ++ if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) { ++ var newFirst = newChild.firstChild; ++ if (newFirst == null) { ++ return newChild; ++ } ++ var newLast = newChild.lastChild; ++ } else { ++ newFirst = newLast = newChild; ++ } ++ var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild; ++ newFirst.previousSibling = pre; ++ newLast.nextSibling = nextChild; ++ if (pre) { ++ pre.nextSibling = newFirst; ++ } else { ++ parentNode.firstChild = newFirst; ++ } ++ if (nextChild == null) { ++ parentNode.lastChild = newLast; ++ } else { ++ nextChild.previousSibling = newLast; ++ } ++ do { ++ newFirst.parentNode = parentNode; ++ } while (newFirst !== newLast && (newFirst = newFirst.nextSibling)); ++ _onUpdateChild(parentNode.ownerDocument || parentNode, parentNode); ++ //console.log(parentNode.lastChild.nextSibling == null) ++ if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { ++ newChild.firstChild = newChild.lastChild = null; ++ } ++ return newChild; ++} ++function _appendSingleChild(parentNode, newChild) { ++ var cp = newChild.parentNode; ++ if (cp) { ++ var pre = parentNode.lastChild; ++ cp.removeChild(newChild); //remove and update ++ var pre = parentNode.lastChild; ++ } ++ var pre = parentNode.lastChild; ++ newChild.parentNode = parentNode; ++ newChild.previousSibling = pre; ++ newChild.nextSibling = null; ++ if (pre) { ++ pre.nextSibling = newChild; ++ } else { ++ parentNode.firstChild = newChild; ++ } ++ parentNode.lastChild = newChild; ++ _onUpdateChild(parentNode.ownerDocument, parentNode, newChild); ++ return newChild; ++ //console.log("__aa",parentNode.lastChild.nextSibling == null) ++} ++Document.prototype = { ++ //implementation : null, ++ nodeName: '#document', ++ nodeType: DOCUMENT_NODE, ++ doctype: null, ++ documentElement: null, ++ _inc: 1, ++ insertBefore: function insertBefore(newChild, refChild) { ++ //raises ++ if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { ++ var child = newChild.firstChild; ++ while (child) { ++ var next = child.nextSibling; ++ this.insertBefore(child, refChild); ++ child = next; ++ } ++ return newChild; ++ } ++ if (this.documentElement == null && newChild.nodeType == ELEMENT_NODE) { ++ this.documentElement = newChild; ++ } ++ return _insertBefore(this, newChild, refChild), newChild.ownerDocument = this, newChild; ++ }, ++ removeChild: function removeChild(oldChild) { ++ if (this.documentElement == oldChild) { ++ this.documentElement = null; ++ } ++ return _removeChild(this, oldChild); ++ }, ++ // Introduced in DOM Level 2: ++ importNode: function importNode(importedNode, deep) { ++ return _importNode(this, importedNode, deep); ++ }, ++ // Introduced in DOM Level 2: ++ getElementById: function getElementById(id) { ++ var rtv = null; ++ _visitNode(this.documentElement, function (node) { ++ if (node.nodeType == ELEMENT_NODE) { ++ if (node.getAttribute('id') == id) { ++ rtv = node; ++ return true; ++ } ++ } ++ }); ++ return rtv; ++ }, ++ //document factory method: ++ createElement: function createElement(tagName) { ++ var node = new Element(); ++ node.ownerDocument = this; ++ node.nodeName = tagName; ++ node.tagName = tagName; ++ node.childNodes = new NodeList(); ++ var attrs = node.attributes = new NamedNodeMap(); ++ attrs._ownerElement = node; ++ return node; ++ }, ++ createDocumentFragment: function createDocumentFragment() { ++ var node = new DocumentFragment(); ++ node.ownerDocument = this; ++ node.childNodes = new NodeList(); ++ return node; ++ }, ++ createTextNode: function createTextNode(data) { ++ var node = new Text(); ++ node.ownerDocument = this; ++ node.appendData(data); ++ return node; ++ }, ++ createComment: function createComment(data) { ++ var node = new Comment(); ++ node.ownerDocument = this; ++ node.appendData(data); ++ return node; ++ }, ++ createCDATASection: function createCDATASection(data) { ++ var node = new CDATASection(); ++ node.ownerDocument = this; ++ node.appendData(data); ++ return node; ++ }, ++ createProcessingInstruction: function createProcessingInstruction(target, data) { ++ var node = new ProcessingInstruction(); ++ node.ownerDocument = this; ++ node.tagName = node.target = target; ++ node.nodeValue = node.data = data; ++ return node; ++ }, ++ createAttribute: function createAttribute(name) { ++ var node = new Attr(); ++ node.ownerDocument = this; ++ node.name = name; ++ node.nodeName = name; ++ node.localName = name; ++ node.specified = true; ++ return node; ++ }, ++ createEntityReference: function createEntityReference(name) { ++ var node = new EntityReference(); ++ node.ownerDocument = this; ++ node.nodeName = name; ++ return node; ++ }, ++ // Introduced in DOM Level 2: ++ createElementNS: function createElementNS(namespaceURI, qualifiedName) { ++ var node = new Element(); ++ var pl = qualifiedName.split(':'); ++ var attrs = node.attributes = new NamedNodeMap(); ++ node.childNodes = new NodeList(); ++ node.ownerDocument = this; ++ node.nodeName = qualifiedName; ++ node.tagName = qualifiedName; ++ node.namespaceURI = namespaceURI; ++ if (pl.length == 2) { ++ node.prefix = pl[0]; ++ node.localName = pl[1]; ++ } else { ++ //el.prefix = null; ++ node.localName = qualifiedName; ++ } ++ attrs._ownerElement = node; ++ return node; ++ }, ++ // Introduced in DOM Level 2: ++ createAttributeNS: function createAttributeNS(namespaceURI, qualifiedName) { ++ var node = new Attr(); ++ var pl = qualifiedName.split(':'); ++ node.ownerDocument = this; ++ node.nodeName = qualifiedName; ++ node.name = qualifiedName; ++ node.namespaceURI = namespaceURI; ++ node.specified = true; ++ if (pl.length == 2) { ++ node.prefix = pl[0]; ++ node.localName = pl[1]; ++ } else { ++ //el.prefix = null; ++ node.localName = qualifiedName; ++ } ++ return node; ++ } ++}; ++_extends(Document, Node); ++function Element() { ++ this._nsMap = {}; ++} ++; ++Element.prototype = { ++ nodeType: ELEMENT_NODE, ++ hasAttribute: function hasAttribute(name) { ++ return this.getAttributeNode(name) != null; ++ }, ++ getAttribute: function getAttribute(name) { ++ var attr = this.getAttributeNode(name); ++ return attr && attr.value || ''; ++ }, ++ getAttributeNode: function getAttributeNode(name) { ++ return this.attributes.getNamedItem(name); ++ }, ++ setAttribute: function setAttribute(name, value) { ++ var attr = this.ownerDocument.createAttribute(name); ++ attr.value = attr.nodeValue = "" + value; ++ this.setAttributeNode(attr); ++ }, ++ removeAttribute: function removeAttribute(name) { ++ var attr = this.getAttributeNode(name); ++ attr && this.removeAttributeNode(attr); ++ }, ++ //four real opeartion method ++ appendChild: function appendChild(newChild) { ++ if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) { ++ return this.insertBefore(newChild, null); ++ } else { ++ return _appendSingleChild(this, newChild); ++ } ++ }, ++ setAttributeNode: function setAttributeNode(newAttr) { ++ return this.attributes.setNamedItem(newAttr); ++ }, ++ setAttributeNodeNS: function setAttributeNodeNS(newAttr) { ++ return this.attributes.setNamedItemNS(newAttr); ++ }, ++ removeAttributeNode: function removeAttributeNode(oldAttr) { ++ //console.log(this == oldAttr.ownerElement) ++ return this.attributes.removeNamedItem(oldAttr.nodeName); ++ }, ++ //get real attribute name,and remove it by removeAttributeNode ++ removeAttributeNS: function removeAttributeNS(namespaceURI, localName) { ++ var old = this.getAttributeNodeNS(namespaceURI, localName); ++ old && this.removeAttributeNode(old); ++ }, ++ hasAttributeNS: function hasAttributeNS(namespaceURI, localName) { ++ return this.getAttributeNodeNS(namespaceURI, localName) != null; ++ }, ++ getAttributeNS: function getAttributeNS(namespaceURI, localName) { ++ var attr = this.getAttributeNodeNS(namespaceURI, localName); ++ return attr && attr.value || ''; ++ }, ++ setAttributeNS: function setAttributeNS(namespaceURI, qualifiedName, value) { ++ var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); ++ attr.value = attr.nodeValue = "" + value; ++ this.setAttributeNode(attr); ++ }, ++ getAttributeNodeNS: function getAttributeNodeNS(namespaceURI, localName) { ++ return this.attributes.getNamedItemNS(namespaceURI, localName); ++ }, ++ getElementsByTagName: function getElementsByTagName(tagName) { ++ return new LiveNodeList(this, function (base) { ++ var ls = []; ++ _visitNode(base, function (node) { ++ if (node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)) { ++ ls.push(node); ++ } ++ }); ++ return ls; ++ }); ++ }, ++ getElementsByTagNameNS: function getElementsByTagNameNS(namespaceURI, localName) { ++ return new LiveNodeList(this, function (base) { ++ var ls = []; ++ _visitNode(base, function (node) { ++ if (node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)) { ++ ls.push(node); ++ } ++ }); ++ return ls; ++ }); ++ } ++}; ++Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName; ++Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS; ++_extends(Element, Node); ++function Attr() {} ++; ++Attr.prototype.nodeType = ATTRIBUTE_NODE; ++_extends(Attr, Node); ++function CharacterData() {} ++; ++CharacterData.prototype = { ++ data: '', ++ substringData: function substringData(offset, count) { ++ return this.data.substring(offset, offset + count); ++ }, ++ appendData: function appendData(text) { ++ text = this.data + text; ++ this.nodeValue = this.data = text; ++ this.length = text.length; ++ }, ++ insertData: function insertData(offset, text) { ++ this.replaceData(offset, 0, text); ++ }, ++ appendChild: function appendChild(newChild) { ++ throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]); ++ }, ++ deleteData: function deleteData(offset, count) { ++ this.replaceData(offset, count, ""); ++ }, ++ replaceData: function replaceData(offset, count, text) { ++ var start = this.data.substring(0, offset); ++ var end = this.data.substring(offset + count); ++ text = start + text + end; ++ this.nodeValue = this.data = text; ++ this.length = text.length; ++ } ++}; ++_extends(CharacterData, Node); ++function Text() {} ++; ++Text.prototype = { ++ nodeName: "#text", ++ nodeType: TEXT_NODE, ++ splitText: function splitText(offset) { ++ var text = this.data; ++ var newText = text.substring(offset); ++ text = text.substring(0, offset); ++ this.data = this.nodeValue = text; ++ this.length = text.length; ++ var newNode = this.ownerDocument.createTextNode(newText); ++ if (this.parentNode) { ++ this.parentNode.insertBefore(newNode, this.nextSibling); ++ } ++ return newNode; ++ } ++}; ++_extends(Text, CharacterData); ++function Comment() {} ++; ++Comment.prototype = { ++ nodeName: "#comment", ++ nodeType: COMMENT_NODE ++}; ++_extends(Comment, CharacterData); ++function CDATASection() {} ++; ++CDATASection.prototype = { ++ nodeName: "#cdata-section", ++ nodeType: CDATA_SECTION_NODE ++}; ++_extends(CDATASection, CharacterData); ++function DocumentType() {} ++; ++DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE; ++_extends(DocumentType, Node); ++function Notation() {} ++; ++Notation.prototype.nodeType = NOTATION_NODE; ++_extends(Notation, Node); ++function Entity() {} ++; ++Entity.prototype.nodeType = ENTITY_NODE; ++_extends(Entity, Node); ++function EntityReference() {} ++; ++EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE; ++_extends(EntityReference, Node); ++function DocumentFragment() {} ++; ++DocumentFragment.prototype.nodeName = "#document-fragment"; ++DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE; ++_extends(DocumentFragment, Node); ++function ProcessingInstruction() {} ++ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; ++_extends(ProcessingInstruction, Node); ++function XMLSerializer() {} ++XMLSerializer.prototype.serializeToString = function (node, isHtml, nodeFilter) { ++ return nodeSerializeToString.call(node, isHtml, nodeFilter); ++}; ++Node.prototype.toString = nodeSerializeToString; ++function nodeSerializeToString(isHtml, nodeFilter) { ++ var buf = []; ++ var refNode = this.nodeType == 9 && this.documentElement || this; ++ var prefix = refNode.prefix; ++ var uri = refNode.namespaceURI; ++ if (uri && prefix == null) { ++ //console.log(prefix) ++ var prefix = refNode.lookupPrefix(uri); ++ if (prefix == null) { ++ //isHTML = true; ++ var visibleNamespaces = [{ ++ namespace: uri, ++ prefix: null ++ } ++ //{namespace:uri,prefix:''} ++ ]; ++ } ++ } ++ serializeToString(this, buf, isHtml, nodeFilter, visibleNamespaces); ++ //console.log('###',this.nodeType,uri,prefix,buf.join('')) ++ return buf.join(''); ++} ++function needNamespaceDefine(node, isHTML, visibleNamespaces) { ++ var prefix = node.prefix || ''; ++ var uri = node.namespaceURI; ++ if (!prefix && !uri) { ++ return false; ++ } ++ if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace" || uri == 'http://www.w3.org/2000/xmlns/') { ++ return false; ++ } ++ var i = visibleNamespaces.length; ++ //console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces) ++ while (i--) { ++ var ns = visibleNamespaces[i]; ++ // get namespace prefix ++ //console.log(node.nodeType,node.tagName,ns.prefix,prefix) ++ if (ns.prefix == prefix) { ++ return ns.namespace != uri; ++ } ++ } ++ //console.log(isHTML,uri,prefix=='') ++ //if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){ ++ // return false; ++ //} ++ //node.flag = '11111' ++ //console.error(3,true,node.flag,node.prefix,node.namespaceURI) ++ return true; ++} ++function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces) { ++ if (nodeFilter) { ++ node = nodeFilter(node); ++ if (node) { ++ if (typeof node == 'string') { ++ buf.push(node); ++ return; ++ } ++ } else { ++ return; ++ } ++ //buf.sort.apply(attrs, attributeSorter); ++ } ++ switch (node.nodeType) { ++ case ELEMENT_NODE: ++ if (!visibleNamespaces) visibleNamespaces = []; ++ var startVisibleNamespaces = visibleNamespaces.length; ++ var attrs = node.attributes; ++ var len = attrs.length; ++ var child = node.firstChild; ++ var nodeName = node.tagName; ++ isHTML = htmlns === node.namespaceURI || isHTML; ++ buf.push('<', nodeName); ++ for (var i = 0; i < len; i++) { ++ // add namespaces for attributes ++ var attr = attrs.item(i); ++ if (attr.prefix == 'xmlns') { ++ visibleNamespaces.push({ ++ prefix: attr.localName, ++ namespace: attr.value ++ }); ++ } else if (attr.nodeName == 'xmlns') { ++ visibleNamespaces.push({ ++ prefix: '', ++ namespace: attr.value ++ }); ++ } ++ } ++ for (var i = 0; i < len; i++) { ++ var attr = attrs.item(i); ++ if (needNamespaceDefine(attr, isHTML, visibleNamespaces)) { ++ var prefix = attr.prefix || ''; ++ var uri = attr.namespaceURI; ++ var ns = prefix ? ' xmlns:' + prefix : " xmlns"; ++ buf.push(ns, '="', uri, '"'); ++ visibleNamespaces.push({ ++ prefix: prefix, ++ namespace: uri ++ }); ++ } ++ serializeToString(attr, buf, isHTML, nodeFilter, visibleNamespaces); ++ } ++ // add namespace for current node ++ if (needNamespaceDefine(node, isHTML, visibleNamespaces)) { ++ var prefix = node.prefix || ''; ++ var uri = node.namespaceURI; ++ var ns = prefix ? ' xmlns:' + prefix : " xmlns"; ++ buf.push(ns, '="', uri, '"'); ++ visibleNamespaces.push({ ++ prefix: prefix, ++ namespace: uri ++ }); ++ } ++ if (child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) { ++ buf.push('>'); ++ //if is cdata child node ++ if (isHTML && /^script$/i.test(nodeName)) { ++ while (child) { ++ if (child.data) { ++ buf.push(child.data); ++ } else { ++ serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces); ++ } ++ child = child.nextSibling; ++ } ++ } else { ++ while (child) { ++ serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces); ++ child = child.nextSibling; ++ } ++ } ++ buf.push(''); ++ } else { ++ buf.push('/>'); ++ } ++ // remove added visible namespaces ++ //visibleNamespaces.length = startVisibleNamespaces; ++ return; ++ case DOCUMENT_NODE: ++ case DOCUMENT_FRAGMENT_NODE: ++ var child = node.firstChild; ++ while (child) { ++ serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces); ++ child = child.nextSibling; ++ } ++ return; ++ case ATTRIBUTE_NODE: ++ return buf.push(' ', node.name, '="', node.value.replace(/[<&"]/g, _xmlEncoder), '"'); ++ case TEXT_NODE: ++ return buf.push(node.data.replace(/[<&]/g, _xmlEncoder)); ++ case CDATA_SECTION_NODE: ++ return buf.push(''); ++ case COMMENT_NODE: ++ return buf.push(""); ++ case DOCUMENT_TYPE_NODE: ++ var pubid = node.publicId; ++ var sysid = node.systemId; ++ buf.push(''); ++ } else if (sysid && sysid != '.') { ++ buf.push(' SYSTEM "', sysid, '">'); ++ } else { ++ var sub = node.internalSubset; ++ if (sub) { ++ buf.push(" [", sub, "]"); ++ } ++ buf.push(">"); ++ } ++ return; ++ case PROCESSING_INSTRUCTION_NODE: ++ return buf.push(""); ++ case ENTITY_REFERENCE_NODE: ++ return buf.push('&', node.nodeName, ';'); ++ //case ENTITY_NODE: ++ //case NOTATION_NODE: ++ default: ++ buf.push('??', node.nodeName); ++ } ++} ++function _importNode(doc, node, deep) { ++ var node2; ++ switch (node.nodeType) { ++ case ELEMENT_NODE: ++ node2 = node.cloneNode(false); ++ node2.ownerDocument = doc; ++ //var attrs = node2.attributes; ++ //var len = attrs.length; ++ //for(var i=0;i', ++ amp: '&', ++ quot: '"', ++ apos: "'", ++ Agrave: "À", ++ Aacute: "Á", ++ Acirc: "Â", ++ Atilde: "Ã", ++ Auml: "Ä", ++ Aring: "Å", ++ AElig: "Æ", ++ Ccedil: "Ç", ++ Egrave: "È", ++ Eacute: "É", ++ Ecirc: "Ê", ++ Euml: "Ë", ++ Igrave: "Ì", ++ Iacute: "Í", ++ Icirc: "Î", ++ Iuml: "Ï", ++ ETH: "Ð", ++ Ntilde: "Ñ", ++ Ograve: "Ò", ++ Oacute: "Ó", ++ Ocirc: "Ô", ++ Otilde: "Õ", ++ Ouml: "Ö", ++ Oslash: "Ø", ++ Ugrave: "Ù", ++ Uacute: "Ú", ++ Ucirc: "Û", ++ Uuml: "Ü", ++ Yacute: "Ý", ++ THORN: "Þ", ++ szlig: "ß", ++ agrave: "à", ++ aacute: "á", ++ acirc: "â", ++ atilde: "ã", ++ auml: "ä", ++ aring: "å", ++ aelig: "æ", ++ ccedil: "ç", ++ egrave: "è", ++ eacute: "é", ++ ecirc: "ê", ++ euml: "ë", ++ igrave: "ì", ++ iacute: "í", ++ icirc: "î", ++ iuml: "ï", ++ eth: "ð", ++ ntilde: "ñ", ++ ograve: "ò", ++ oacute: "ó", ++ ocirc: "ô", ++ otilde: "õ", ++ ouml: "ö", ++ oslash: "ø", ++ ugrave: "ù", ++ uacute: "ú", ++ ucirc: "û", ++ uuml: "ü", ++ yacute: "ý", ++ thorn: "þ", ++ yuml: "ÿ", ++ nbsp: " ", ++ iexcl: "¡", ++ cent: "¢", ++ pound: "£", ++ curren: "¤", ++ yen: "¥", ++ brvbar: "¦", ++ sect: "§", ++ uml: "¨", ++ copy: "©", ++ ordf: "ª", ++ laquo: "«", ++ not: "¬", ++ shy: "­­", ++ reg: "®", ++ macr: "¯", ++ deg: "°", ++ plusmn: "±", ++ sup2: "²", ++ sup3: "³", ++ acute: "´", ++ micro: "µ", ++ para: "¶", ++ middot: "·", ++ cedil: "¸", ++ sup1: "¹", ++ ordm: "º", ++ raquo: "»", ++ frac14: "¼", ++ frac12: "½", ++ frac34: "¾", ++ iquest: "¿", ++ times: "×", ++ divide: "÷", ++ forall: "∀", ++ part: "∂", ++ exist: "∃", ++ empty: "∅", ++ nabla: "∇", ++ isin: "∈", ++ notin: "∉", ++ ni: "∋", ++ prod: "∏", ++ sum: "∑", ++ minus: "−", ++ lowast: "∗", ++ radic: "√", ++ prop: "∝", ++ infin: "∞", ++ ang: "∠", ++ and: "∧", ++ or: "∨", ++ cap: "∩", ++ cup: "∪", ++ 'int': "∫", ++ there4: "∴", ++ sim: "∼", ++ cong: "≅", ++ asymp: "≈", ++ ne: "≠", ++ equiv: "≡", ++ le: "≤", ++ ge: "≥", ++ sub: "⊂", ++ sup: "⊃", ++ nsub: "⊄", ++ sube: "⊆", ++ supe: "⊇", ++ oplus: "⊕", ++ otimes: "⊗", ++ perp: "⊥", ++ sdot: "⋅", ++ Alpha: "Α", ++ Beta: "Β", ++ Gamma: "Γ", ++ Delta: "Δ", ++ Epsilon: "Ε", ++ Zeta: "Ζ", ++ Eta: "Η", ++ Theta: "Θ", ++ Iota: "Ι", ++ Kappa: "Κ", ++ Lambda: "Λ", ++ Mu: "Μ", ++ Nu: "Ν", ++ Xi: "Ξ", ++ Omicron: "Ο", ++ Pi: "Π", ++ Rho: "Ρ", ++ Sigma: "Σ", ++ Tau: "Τ", ++ Upsilon: "Υ", ++ Phi: "Φ", ++ Chi: "Χ", ++ Psi: "Ψ", ++ Omega: "Ω", ++ alpha: "α", ++ beta: "β", ++ gamma: "γ", ++ delta: "δ", ++ epsilon: "ε", ++ zeta: "ζ", ++ eta: "η", ++ theta: "θ", ++ iota: "ι", ++ kappa: "κ", ++ lambda: "λ", ++ mu: "μ", ++ nu: "ν", ++ xi: "ξ", ++ omicron: "ο", ++ pi: "π", ++ rho: "ρ", ++ sigmaf: "ς", ++ sigma: "σ", ++ tau: "τ", ++ upsilon: "υ", ++ phi: "φ", ++ chi: "χ", ++ psi: "ψ", ++ omega: "ω", ++ thetasym: "ϑ", ++ upsih: "ϒ", ++ piv: "ϖ", ++ OElig: "Œ", ++ oelig: "œ", ++ Scaron: "Š", ++ scaron: "š", ++ Yuml: "Ÿ", ++ fnof: "ƒ", ++ circ: "ˆ", ++ tilde: "˜", ++ ensp: " ", ++ emsp: " ", ++ thinsp: " ", ++ zwnj: "‌", ++ zwj: "‍", ++ lrm: "‎", ++ rlm: "‏", ++ ndash: "–", ++ mdash: "—", ++ lsquo: "‘", ++ rsquo: "’", ++ sbquo: "‚", ++ ldquo: "“", ++ rdquo: "”", ++ bdquo: "„", ++ dagger: "†", ++ Dagger: "‡", ++ bull: "•", ++ hellip: "…", ++ permil: "‰", ++ prime: "′", ++ Prime: "″", ++ lsaquo: "‹", ++ rsaquo: "›", ++ oline: "‾", ++ euro: "€", ++ trade: "™", ++ larr: "←", ++ uarr: "↑", ++ rarr: "→", ++ darr: "↓", ++ harr: "↔", ++ crarr: "↵", ++ lceil: "⌈", ++ rceil: "⌉", ++ lfloor: "⌊", ++ rfloor: "⌋", ++ loz: "◊", ++ spades: "♠", ++ clubs: "♣", ++ hearts: "♥", ++ diams: "♦" ++}; ++//for(var n in exports.entityMap){console.log(exports.entityMap[n].charCodeAt())} +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/sax.js b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/sax.js +new file mode 100644 +index 0000000..3f00ee2 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/minigame/xiaomi/libs/common/xmldom/sax.js +@@ -0,0 +1,625 @@ ++"use strict"; ++ ++//[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] ++//[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] ++//[5] Name ::= NameStartChar (NameChar)* ++var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; //\u10000-\uEFFFF ++var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); ++var tagNamePattern = new RegExp('^' + nameStartChar.source + nameChar.source + '*(?:\:' + nameStartChar.source + nameChar.source + '*)?$'); ++//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ ++//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') ++ ++//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE ++//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE ++var S_TAG = 0; //tag name offerring ++var S_ATTR = 1; //attr name offerring ++var S_ATTR_SPACE = 2; //attr name end and space offer ++var S_EQ = 3; //=space? ++var S_ATTR_NOQUOT_VALUE = 4; //attr value(no quot value only) ++var S_ATTR_END = 5; //attr value end and no space(quot end) ++var S_TAG_SPACE = 6; //(attr value end || tag end ) && (space offer) ++var S_TAG_CLOSE = 7; //closed el ++ ++function XMLReader() {} ++XMLReader.prototype = { ++ parse: function parse(source, defaultNSMap, entityMap) { ++ var domBuilder = this.domBuilder; ++ domBuilder.startDocument(); ++ _copy(defaultNSMap, defaultNSMap = {}); ++ _parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler); ++ domBuilder.endDocument(); ++ } ++}; ++function _parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) { ++ function fixedFromCharCode(code) { ++ // String.prototype.fromCharCode does not supports ++ // > 2 bytes unicode chars directly ++ if (code > 0xffff) { ++ code -= 0x10000; ++ var surrogate1 = 0xd800 + (code >> 10), ++ surrogate2 = 0xdc00 + (code & 0x3ff); ++ return String.fromCharCode(surrogate1, surrogate2); ++ } else { ++ return String.fromCharCode(code); ++ } ++ } ++ function entityReplacer(a) { ++ var k = a.slice(1, -1); ++ if (k in entityMap) { ++ return entityMap[k]; ++ } else if (k.charAt(0) === '#') { ++ return fixedFromCharCode(parseInt(k.substr(1).replace('x', '0x'))); ++ } else { ++ errorHandler.error('entity not found:' + a); ++ return a; ++ } ++ } ++ function appendText(end) { ++ //has some bugs ++ if (end > start) { ++ var xt = source.substring(start, end).replace(/&#?\w+;/g, entityReplacer); ++ locator && position(start); ++ domBuilder.characters(xt, 0, end - start); ++ start = end; ++ } ++ } ++ function position(p, m) { ++ while (p >= lineEnd && (m = linePattern.exec(source))) { ++ lineStart = m.index; ++ lineEnd = lineStart + m[0].length; ++ locator.lineNumber++; ++ //console.log('line++:',locator,startPos,endPos) ++ } ++ locator.columnNumber = p - lineStart + 1; ++ } ++ var lineStart = 0; ++ var lineEnd = 0; ++ var linePattern = /.*(?:\r\n?|\n)|.*$/g; ++ var locator = domBuilder.locator; ++ var parseStack = [{ ++ currentNSMap: defaultNSMapCopy ++ }]; ++ var closeMap = {}; ++ var start = 0; ++ while (true) { ++ try { ++ var tagStart = source.indexOf('<', start); ++ if (tagStart < 0) { ++ if (!source.substr(start).match(/^\s*$/)) { ++ var doc = domBuilder.doc; ++ var text = doc.createTextNode(source.substr(start)); ++ doc.appendChild(text); ++ domBuilder.currentElement = text; ++ } ++ return; ++ } ++ if (tagStart > start) { ++ appendText(tagStart); ++ } ++ switch (source.charAt(tagStart + 1)) { ++ case '/': ++ var end = source.indexOf('>', tagStart + 3); ++ var tagName = source.substring(tagStart + 2, end); ++ var config = parseStack.pop(); ++ if (end < 0) { ++ tagName = source.substring(tagStart + 2).replace(/[\s<].*/, ''); ++ //console.error('#@@@@@@'+tagName) ++ errorHandler.error("end tag name: " + tagName + ' is not complete:' + config.tagName); ++ end = tagStart + 1 + tagName.length; ++ } else if (tagName.match(/\s ++ locator && position(tagStart); ++ end = parseInstruction(source, tagStart, domBuilder); ++ break; ++ case '!': ++ // start) { ++ start = end; ++ } else { ++ //TODO: 这里有可能sax回退,有位置错误风险 ++ appendText(Math.max(tagStart, start) + 1); ++ } ++ } ++} ++function copyLocator(f, t) { ++ t.lineNumber = f.lineNumber; ++ t.columnNumber = f.columnNumber; ++ return t; ++} ++ ++/** ++ * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); ++ * @return end of the elementStartPart(end of elementEndPart for selfClosed el) ++ */ ++function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) { ++ var attrName; ++ var value; ++ var p = ++start; ++ var s = S_TAG; //status ++ while (true) { ++ var c = source.charAt(p); ++ switch (c) { ++ case '=': ++ if (s === S_ATTR) { ++ //attrName ++ attrName = source.slice(start, p); ++ s = S_EQ; ++ } else if (s === S_ATTR_SPACE) { ++ s = S_EQ; ++ } else { ++ //fatalError: equal must after attrName or space after attrName ++ throw new Error('attribute equal must after attrName'); ++ } ++ break; ++ case '\'': ++ case '"': ++ if (s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE ++ ) { ++ //equal ++ if (s === S_ATTR) { ++ errorHandler.warning('attribute value must after "="'); ++ attrName = source.slice(start, p); ++ } ++ start = p + 1; ++ p = source.indexOf(c, start); ++ if (p > 0) { ++ value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); ++ el.add(attrName, value, start - 1); ++ s = S_ATTR_END; ++ } else { ++ //fatalError: no end quot match ++ throw new Error('attribute value no end \'' + c + '\' match'); ++ } ++ } else if (s == S_ATTR_NOQUOT_VALUE) { ++ value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); ++ //console.log(attrName,value,start,p) ++ el.add(attrName, value, start); ++ //console.dir(el) ++ errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ')!!'); ++ start = p + 1; ++ s = S_ATTR_END; ++ } else { ++ //fatalError: no equal before ++ throw new Error('attribute value must after "="'); ++ } ++ break; ++ case '/': ++ switch (s) { ++ case S_TAG: ++ el.setTagName(source.slice(start, p)); ++ case S_ATTR_END: ++ case S_TAG_SPACE: ++ case S_TAG_CLOSE: ++ s = S_TAG_CLOSE; ++ el.closed = true; ++ case S_ATTR_NOQUOT_VALUE: ++ case S_ATTR: ++ case S_ATTR_SPACE: ++ break; ++ //case S_EQ: ++ default: ++ throw new Error("attribute invalid close char('/')"); ++ } ++ break; ++ case '': ++ //end document ++ //throw new Error('unexpected end of input') ++ errorHandler.error('unexpected end of input'); ++ if (s == S_TAG) { ++ el.setTagName(source.slice(start, p)); ++ } ++ return p; ++ case '>': ++ switch (s) { ++ case S_TAG: ++ el.setTagName(source.slice(start, p)); ++ case S_ATTR_END: ++ case S_TAG_SPACE: ++ case S_TAG_CLOSE: ++ break; ++ //normal ++ case S_ATTR_NOQUOT_VALUE: //Compatible state ++ case S_ATTR: ++ value = source.slice(start, p); ++ if (value.slice(-1) === '/') { ++ el.closed = true; ++ value = value.slice(0, -1); ++ } ++ case S_ATTR_SPACE: ++ if (s === S_ATTR_SPACE) { ++ value = attrName; ++ } ++ if (s == S_ATTR_NOQUOT_VALUE) { ++ errorHandler.warning('attribute "' + value + '" missed quot(")!!'); ++ el.add(attrName, value.replace(/&#?\w+;/g, entityReplacer), start); ++ } else { ++ if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)) { ++ errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!'); ++ } ++ el.add(value, value, start); ++ } ++ break; ++ case S_EQ: ++ throw new Error('attribute value missed!!'); ++ } ++ // console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) ++ return p; ++ /*xml space '\x20' | #x9 | #xD | #xA; */ ++ case "\x80": ++ c = ' '; ++ default: ++ if (c <= ' ') { ++ //space ++ switch (s) { ++ case S_TAG: ++ el.setTagName(source.slice(start, p)); //tagName ++ s = S_TAG_SPACE; ++ break; ++ case S_ATTR: ++ attrName = source.slice(start, p); ++ s = S_ATTR_SPACE; ++ break; ++ case S_ATTR_NOQUOT_VALUE: ++ var value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); ++ errorHandler.warning('attribute "' + value + '" missed quot(")!!'); ++ el.add(attrName, value, start); ++ case S_ATTR_END: ++ s = S_TAG_SPACE; ++ break; ++ //case S_TAG_SPACE: ++ //case S_EQ: ++ //case S_ATTR_SPACE: ++ // void();break; ++ //case S_TAG_CLOSE: ++ //ignore warning ++ } ++ } else { ++ //not space ++ //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE ++ //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE ++ switch (s) { ++ //case S_TAG:void();break; ++ //case S_ATTR:void();break; ++ //case S_ATTR_NOQUOT_VALUE:void();break; ++ case S_ATTR_SPACE: ++ var tagName = el.tagName; ++ if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)) { ++ errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!'); ++ } ++ el.add(attrName, attrName, start); ++ start = p; ++ s = S_ATTR; ++ break; ++ case S_ATTR_END: ++ errorHandler.warning('attribute space is required"' + attrName + '"!!'); ++ case S_TAG_SPACE: ++ s = S_ATTR; ++ start = p; ++ break; ++ case S_EQ: ++ s = S_ATTR_NOQUOT_VALUE; ++ start = p; ++ break; ++ case S_TAG_CLOSE: ++ throw new Error("elements closed character '/' and '>' must be connected to"); ++ } ++ } ++ } //end outer switch ++ //console.log('p++',p) ++ p++; ++ } ++} ++/** ++ * @return true if has new namespace define ++ */ ++function appendElement(el, domBuilder, currentNSMap) { ++ var tagName = el.tagName; ++ var localNSMap = null; ++ //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; ++ var i = el.length; ++ while (i--) { ++ var a = el[i]; ++ var qName = a.qName; ++ var value = a.value; ++ var nsp = qName.indexOf(':'); ++ if (nsp > 0) { ++ var prefix = a.prefix = qName.slice(0, nsp); ++ var localName = qName.slice(nsp + 1); ++ var nsPrefix = prefix === 'xmlns' && localName; ++ } else { ++ localName = qName; ++ prefix = null; ++ nsPrefix = qName === 'xmlns' && ''; ++ } ++ //can not set prefix,because prefix !== '' ++ a.localName = localName; ++ //prefix == null for no ns prefix attribute ++ if (nsPrefix !== false) { ++ //hack!! ++ if (localNSMap == null) { ++ localNSMap = {}; ++ //console.log(currentNSMap,0) ++ _copy(currentNSMap, currentNSMap = {}); ++ //console.log(currentNSMap,1) ++ } ++ currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; ++ a.uri = 'http://www.w3.org/2000/xmlns/'; ++ domBuilder.startPrefixMapping(nsPrefix, value); ++ } ++ } ++ var i = el.length; ++ while (i--) { ++ a = el[i]; ++ var prefix = a.prefix; ++ if (prefix) { ++ //no prefix attribute has no namespace ++ if (prefix === 'xml') { ++ a.uri = 'http://www.w3.org/XML/1998/namespace'; ++ } ++ if (prefix !== 'xmlns') { ++ a.uri = currentNSMap[prefix || '']; ++ ++ //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} ++ } ++ } ++ } ++ var nsp = tagName.indexOf(':'); ++ if (nsp > 0) { ++ prefix = el.prefix = tagName.slice(0, nsp); ++ localName = el.localName = tagName.slice(nsp + 1); ++ } else { ++ prefix = null; //important!! ++ localName = el.localName = tagName; ++ } ++ //no prefix element has default namespace ++ var ns = el.uri = currentNSMap[prefix || '']; ++ domBuilder.startElement(ns, localName, tagName, el); ++ //endPrefixMapping and startPrefixMapping have not any help for dom builder ++ //localNSMap = null ++ if (el.closed) { ++ domBuilder.endElement(ns, localName, tagName); ++ if (localNSMap) { ++ for (prefix in localNSMap) { ++ domBuilder.endPrefixMapping(prefix); ++ } ++ } ++ } else { ++ el.currentNSMap = currentNSMap; ++ el.localNSMap = localNSMap; ++ //parseStack.push(el); ++ return true; ++ } ++} ++function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) { ++ if (/^(?:script|textarea)$/i.test(tagName)) { ++ var elEndStart = source.indexOf('', elStartEnd); ++ var text = source.substring(elStartEnd + 1, elEndStart); ++ if (/[&<]/.test(text)) { ++ if (/^script$/i.test(tagName)) { ++ //if(!/\]\]>/.test(text)){ ++ //lexHandler.startCDATA(); ++ domBuilder.characters(text, 0, text.length); ++ //lexHandler.endCDATA(); ++ return elEndStart; ++ //} ++ } //}else{//text area ++ text = text.replace(/&#?\w+;/g, entityReplacer); ++ domBuilder.characters(text, 0, text.length); ++ return elEndStart; ++ //} ++ } ++ } ++ return elStartEnd + 1; ++} ++function fixSelfClosed(source, elStartEnd, tagName, closeMap) { ++ //if(tagName in closeMap){ ++ var pos = closeMap[tagName]; ++ if (pos == null) { ++ //console.log(tagName) ++ pos = source.lastIndexOf(''); ++ if (pos < elStartEnd) { ++ //忘记闭合 ++ pos = source.lastIndexOf('', start + 4); ++ //append comment source.substring(4,end)//"); +- case DOCUMENT_TYPE_NODE: +- var pubid = node.publicId; +- var sysid = node.systemId; +- buf.push(''); +- } else if (sysid && sysid != '.') { +- buf.push(' SYSTEM "', sysid, '">'); +- } else { +- var sub = node.internalSubset; +- if (sub) { +- buf.push(" [", sub, "]"); +- } +- buf.push(">"); +- } +- return; +- case PROCESSING_INSTRUCTION_NODE: +- return buf.push(""); +- case ENTITY_REFERENCE_NODE: +- return buf.push('&', node.nodeName, ';'); +- //case ENTITY_NODE: +- //case NOTATION_NODE: +- default: +- buf.push('??', node.nodeName); +- } +-} +-function _importNode(doc, node, deep) { +- var node2; +- switch (node.nodeType) { +- case ELEMENT_NODE: +- node2 = node.cloneNode(false); +- node2.ownerDocument = doc; +- //var attrs = node2.attributes; +- //var len = attrs.length; +- //for(var i=0;i', +- amp: '&', +- quot: '"', +- apos: "'", +- Agrave: "À", +- Aacute: "Á", +- Acirc: "Â", +- Atilde: "Ã", +- Auml: "Ä", +- Aring: "Å", +- AElig: "Æ", +- Ccedil: "Ç", +- Egrave: "È", +- Eacute: "É", +- Ecirc: "Ê", +- Euml: "Ë", +- Igrave: "Ì", +- Iacute: "Í", +- Icirc: "Î", +- Iuml: "Ï", +- ETH: "Ð", +- Ntilde: "Ñ", +- Ograve: "Ò", +- Oacute: "Ó", +- Ocirc: "Ô", +- Otilde: "Õ", +- Ouml: "Ö", +- Oslash: "Ø", +- Ugrave: "Ù", +- Uacute: "Ú", +- Ucirc: "Û", +- Uuml: "Ü", +- Yacute: "Ý", +- THORN: "Þ", +- szlig: "ß", +- agrave: "à", +- aacute: "á", +- acirc: "â", +- atilde: "ã", +- auml: "ä", +- aring: "å", +- aelig: "æ", +- ccedil: "ç", +- egrave: "è", +- eacute: "é", +- ecirc: "ê", +- euml: "ë", +- igrave: "ì", +- iacute: "í", +- icirc: "î", +- iuml: "ï", +- eth: "ð", +- ntilde: "ñ", +- ograve: "ò", +- oacute: "ó", +- ocirc: "ô", +- otilde: "õ", +- ouml: "ö", +- oslash: "ø", +- ugrave: "ù", +- uacute: "ú", +- ucirc: "û", +- uuml: "ü", +- yacute: "ý", +- thorn: "þ", +- yuml: "ÿ", +- nbsp: " ", +- iexcl: "¡", +- cent: "¢", +- pound: "£", +- curren: "¤", +- yen: "¥", +- brvbar: "¦", +- sect: "§", +- uml: "¨", +- copy: "©", +- ordf: "ª", +- laquo: "«", +- not: "¬", +- shy: "­­", +- reg: "®", +- macr: "¯", +- deg: "°", +- plusmn: "±", +- sup2: "²", +- sup3: "³", +- acute: "´", +- micro: "µ", +- para: "¶", +- middot: "·", +- cedil: "¸", +- sup1: "¹", +- ordm: "º", +- raquo: "»", +- frac14: "¼", +- frac12: "½", +- frac34: "¾", +- iquest: "¿", +- times: "×", +- divide: "÷", +- forall: "∀", +- part: "∂", +- exist: "∃", +- empty: "∅", +- nabla: "∇", +- isin: "∈", +- notin: "∉", +- ni: "∋", +- prod: "∏", +- sum: "∑", +- minus: "−", +- lowast: "∗", +- radic: "√", +- prop: "∝", +- infin: "∞", +- ang: "∠", +- and: "∧", +- or: "∨", +- cap: "∩", +- cup: "∪", +- 'int': "∫", +- there4: "∴", +- sim: "∼", +- cong: "≅", +- asymp: "≈", +- ne: "≠", +- equiv: "≡", +- le: "≤", +- ge: "≥", +- sub: "⊂", +- sup: "⊃", +- nsub: "⊄", +- sube: "⊆", +- supe: "⊇", +- oplus: "⊕", +- otimes: "⊗", +- perp: "⊥", +- sdot: "⋅", +- Alpha: "Α", +- Beta: "Β", +- Gamma: "Γ", +- Delta: "Δ", +- Epsilon: "Ε", +- Zeta: "Ζ", +- Eta: "Η", +- Theta: "Θ", +- Iota: "Ι", +- Kappa: "Κ", +- Lambda: "Λ", +- Mu: "Μ", +- Nu: "Ν", +- Xi: "Ξ", +- Omicron: "Ο", +- Pi: "Π", +- Rho: "Ρ", +- Sigma: "Σ", +- Tau: "Τ", +- Upsilon: "Υ", +- Phi: "Φ", +- Chi: "Χ", +- Psi: "Ψ", +- Omega: "Ω", +- alpha: "α", +- beta: "β", +- gamma: "γ", +- delta: "δ", +- epsilon: "ε", +- zeta: "ζ", +- eta: "η", +- theta: "θ", +- iota: "ι", +- kappa: "κ", +- lambda: "λ", +- mu: "μ", +- nu: "ν", +- xi: "ξ", +- omicron: "ο", +- pi: "π", +- rho: "ρ", +- sigmaf: "ς", +- sigma: "σ", +- tau: "τ", +- upsilon: "υ", +- phi: "φ", +- chi: "χ", +- psi: "ψ", +- omega: "ω", +- thetasym: "ϑ", +- upsih: "ϒ", +- piv: "ϖ", +- OElig: "Œ", +- oelig: "œ", +- Scaron: "Š", +- scaron: "š", +- Yuml: "Ÿ", +- fnof: "ƒ", +- circ: "ˆ", +- tilde: "˜", +- ensp: " ", +- emsp: " ", +- thinsp: " ", +- zwnj: "‌", +- zwj: "‍", +- lrm: "‎", +- rlm: "‏", +- ndash: "–", +- mdash: "—", +- lsquo: "‘", +- rsquo: "’", +- sbquo: "‚", +- ldquo: "“", +- rdquo: "”", +- bdquo: "„", +- dagger: "†", +- Dagger: "‡", +- bull: "•", +- hellip: "…", +- permil: "‰", +- prime: "′", +- Prime: "″", +- lsaquo: "‹", +- rsaquo: "›", +- oline: "‾", +- euro: "€", +- trade: "™", +- larr: "←", +- uarr: "↑", +- rarr: "→", +- darr: "↓", +- harr: "↔", +- crarr: "↵", +- lceil: "⌈", +- rceil: "⌉", +- lfloor: "⌊", +- rfloor: "⌋", +- loz: "◊", +- spades: "♠", +- clubs: "♣", +- hearts: "♥", +- diams: "♦" +-}; +-//for(var n in exports.entityMap){console.log(exports.entityMap[n].charCodeAt())} +- +-},{}],4:[function(require,module,exports){ +-"use strict"; +- +-//[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] +-//[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] +-//[5] Name ::= NameStartChar (NameChar)* +-var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; //\u10000-\uEFFFF +-var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); +-var tagNamePattern = new RegExp('^' + nameStartChar.source + nameChar.source + '*(?:\:' + nameStartChar.source + nameChar.source + '*)?$'); +-//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ +-//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') +- +-//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE +-//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE +-var S_TAG = 0; //tag name offerring +-var S_ATTR = 1; //attr name offerring +-var S_ATTR_SPACE = 2; //attr name end and space offer +-var S_EQ = 3; //=space? +-var S_ATTR_NOQUOT_VALUE = 4; //attr value(no quot value only) +-var S_ATTR_END = 5; //attr value end and no space(quot end) +-var S_TAG_SPACE = 6; //(attr value end || tag end ) && (space offer) +-var S_TAG_CLOSE = 7; //closed el +- +-function XMLReader() {} +-XMLReader.prototype = { +- parse: function parse(source, defaultNSMap, entityMap) { +- var domBuilder = this.domBuilder; +- domBuilder.startDocument(); +- _copy(defaultNSMap, defaultNSMap = {}); +- _parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler); +- domBuilder.endDocument(); +- } +-}; +-function _parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) { +- function fixedFromCharCode(code) { +- // String.prototype.fromCharCode does not supports +- // > 2 bytes unicode chars directly +- if (code > 0xffff) { +- code -= 0x10000; +- var surrogate1 = 0xd800 + (code >> 10), +- surrogate2 = 0xdc00 + (code & 0x3ff); +- return String.fromCharCode(surrogate1, surrogate2); +- } else { +- return String.fromCharCode(code); +- } +- } +- function entityReplacer(a) { +- var k = a.slice(1, -1); +- if (k in entityMap) { +- return entityMap[k]; +- } else if (k.charAt(0) === '#') { +- return fixedFromCharCode(parseInt(k.substr(1).replace('x', '0x'))); +- } else { +- errorHandler.error('entity not found:' + a); +- return a; +- } +- } +- function appendText(end) { +- //has some bugs +- if (end > start) { +- var xt = source.substring(start, end).replace(/&#?\w+;/g, entityReplacer); +- locator && position(start); +- domBuilder.characters(xt, 0, end - start); +- start = end; +- } +- } +- function position(p, m) { +- while (p >= lineEnd && (m = linePattern.exec(source))) { +- lineStart = m.index; +- lineEnd = lineStart + m[0].length; +- locator.lineNumber++; +- //console.log('line++:',locator,startPos,endPos) +- } +- locator.columnNumber = p - lineStart + 1; +- } +- var lineStart = 0; +- var lineEnd = 0; +- var linePattern = /.*(?:\r\n?|\n)|.*$/g; +- var locator = domBuilder.locator; +- var parseStack = [{ +- currentNSMap: defaultNSMapCopy +- }]; +- var closeMap = {}; +- var start = 0; +- while (true) { +- try { +- var tagStart = source.indexOf('<', start); +- if (tagStart < 0) { +- if (!source.substr(start).match(/^\s*$/)) { +- var doc = domBuilder.doc; +- var text = doc.createTextNode(source.substr(start)); +- doc.appendChild(text); +- domBuilder.currentElement = text; +- } +- return; +- } +- if (tagStart > start) { +- appendText(tagStart); +- } +- switch (source.charAt(tagStart + 1)) { +- case '/': +- var end = source.indexOf('>', tagStart + 3); +- var tagName = source.substring(tagStart + 2, end); +- var config = parseStack.pop(); +- if (end < 0) { +- tagName = source.substring(tagStart + 2).replace(/[\s<].*/, ''); +- //console.error('#@@@@@@'+tagName) +- errorHandler.error("end tag name: " + tagName + ' is not complete:' + config.tagName); +- end = tagStart + 1 + tagName.length; +- } else if (tagName.match(/\s +- locator && position(tagStart); +- end = parseInstruction(source, tagStart, domBuilder); +- break; +- case '!': +- // start) { +- start = end; +- } else { +- //TODO: 这里有可能sax回退,有位置错误风险 +- appendText(Math.max(tagStart, start) + 1); +- } +- } +-} +-function copyLocator(f, t) { +- t.lineNumber = f.lineNumber; +- t.columnNumber = f.columnNumber; +- return t; +-} +- +-/** +- * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); +- * @return end of the elementStartPart(end of elementEndPart for selfClosed el) +- */ +-function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) { +- var attrName; +- var value; +- var p = ++start; +- var s = S_TAG; //status +- while (true) { +- var c = source.charAt(p); +- switch (c) { +- case '=': +- if (s === S_ATTR) { +- //attrName +- attrName = source.slice(start, p); +- s = S_EQ; +- } else if (s === S_ATTR_SPACE) { +- s = S_EQ; +- } else { +- //fatalError: equal must after attrName or space after attrName +- throw new Error('attribute equal must after attrName'); +- } +- break; +- case '\'': +- case '"': +- if (s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE +- ) { +- //equal +- if (s === S_ATTR) { +- errorHandler.warning('attribute value must after "="'); +- attrName = source.slice(start, p); +- } +- start = p + 1; +- p = source.indexOf(c, start); +- if (p > 0) { +- value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); +- el.add(attrName, value, start - 1); +- s = S_ATTR_END; +- } else { +- //fatalError: no end quot match +- throw new Error('attribute value no end \'' + c + '\' match'); +- } +- } else if (s == S_ATTR_NOQUOT_VALUE) { +- value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); +- //console.log(attrName,value,start,p) +- el.add(attrName, value, start); +- //console.dir(el) +- errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ')!!'); +- start = p + 1; +- s = S_ATTR_END; +- } else { +- //fatalError: no equal before +- throw new Error('attribute value must after "="'); +- } +- break; +- case '/': +- switch (s) { +- case S_TAG: +- el.setTagName(source.slice(start, p)); +- case S_ATTR_END: +- case S_TAG_SPACE: +- case S_TAG_CLOSE: +- s = S_TAG_CLOSE; +- el.closed = true; +- case S_ATTR_NOQUOT_VALUE: +- case S_ATTR: +- case S_ATTR_SPACE: +- break; +- //case S_EQ: +- default: +- throw new Error("attribute invalid close char('/')"); +- } +- break; +- case '': +- //end document +- //throw new Error('unexpected end of input') +- errorHandler.error('unexpected end of input'); +- if (s == S_TAG) { +- el.setTagName(source.slice(start, p)); +- } +- return p; +- case '>': +- switch (s) { +- case S_TAG: +- el.setTagName(source.slice(start, p)); +- case S_ATTR_END: +- case S_TAG_SPACE: +- case S_TAG_CLOSE: +- break; +- //normal +- case S_ATTR_NOQUOT_VALUE: //Compatible state +- case S_ATTR: +- value = source.slice(start, p); +- if (value.slice(-1) === '/') { +- el.closed = true; +- value = value.slice(0, -1); +- } +- case S_ATTR_SPACE: +- if (s === S_ATTR_SPACE) { +- value = attrName; +- } +- if (s == S_ATTR_NOQUOT_VALUE) { +- errorHandler.warning('attribute "' + value + '" missed quot(")!!'); +- el.add(attrName, value.replace(/&#?\w+;/g, entityReplacer), start); +- } else { +- if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)) { +- errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!'); +- } +- el.add(value, value, start); +- } +- break; +- case S_EQ: +- throw new Error('attribute value missed!!'); +- } +- // console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) +- return p; +- /*xml space '\x20' | #x9 | #xD | #xA; */ +- case "\x80": +- c = ' '; +- default: +- if (c <= ' ') { +- //space +- switch (s) { +- case S_TAG: +- el.setTagName(source.slice(start, p)); //tagName +- s = S_TAG_SPACE; +- break; +- case S_ATTR: +- attrName = source.slice(start, p); +- s = S_ATTR_SPACE; +- break; +- case S_ATTR_NOQUOT_VALUE: +- var value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); +- errorHandler.warning('attribute "' + value + '" missed quot(")!!'); +- el.add(attrName, value, start); +- case S_ATTR_END: +- s = S_TAG_SPACE; +- break; +- //case S_TAG_SPACE: +- //case S_EQ: +- //case S_ATTR_SPACE: +- // void();break; +- //case S_TAG_CLOSE: +- //ignore warning +- } +- } else { +- //not space +- //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE +- //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE +- switch (s) { +- //case S_TAG:void();break; +- //case S_ATTR:void();break; +- //case S_ATTR_NOQUOT_VALUE:void();break; +- case S_ATTR_SPACE: +- var tagName = el.tagName; +- if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)) { +- errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!'); +- } +- el.add(attrName, attrName, start); +- start = p; +- s = S_ATTR; +- break; +- case S_ATTR_END: +- errorHandler.warning('attribute space is required"' + attrName + '"!!'); +- case S_TAG_SPACE: +- s = S_ATTR; +- start = p; +- break; +- case S_EQ: +- s = S_ATTR_NOQUOT_VALUE; +- start = p; +- break; +- case S_TAG_CLOSE: +- throw new Error("elements closed character '/' and '>' must be connected to"); +- } +- } +- } //end outer switch +- //console.log('p++',p) +- p++; +- } +-} +-/** +- * @return true if has new namespace define +- */ +-function appendElement(el, domBuilder, currentNSMap) { +- var tagName = el.tagName; +- var localNSMap = null; +- //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; +- var i = el.length; +- while (i--) { +- var a = el[i]; +- var qName = a.qName; +- var value = a.value; +- var nsp = qName.indexOf(':'); +- if (nsp > 0) { +- var prefix = a.prefix = qName.slice(0, nsp); +- var localName = qName.slice(nsp + 1); +- var nsPrefix = prefix === 'xmlns' && localName; +- } else { +- localName = qName; +- prefix = null; +- nsPrefix = qName === 'xmlns' && ''; +- } +- //can not set prefix,because prefix !== '' +- a.localName = localName; +- //prefix == null for no ns prefix attribute +- if (nsPrefix !== false) { +- //hack!! +- if (localNSMap == null) { +- localNSMap = {}; +- //console.log(currentNSMap,0) +- _copy(currentNSMap, currentNSMap = {}); +- //console.log(currentNSMap,1) +- } +- currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; +- a.uri = 'http://www.w3.org/2000/xmlns/'; +- domBuilder.startPrefixMapping(nsPrefix, value); +- } +- } +- var i = el.length; +- while (i--) { +- a = el[i]; +- var prefix = a.prefix; +- if (prefix) { +- //no prefix attribute has no namespace +- if (prefix === 'xml') { +- a.uri = 'http://www.w3.org/XML/1998/namespace'; +- } +- if (prefix !== 'xmlns') { +- a.uri = currentNSMap[prefix || '']; +- +- //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} +- } +- } +- } +- var nsp = tagName.indexOf(':'); +- if (nsp > 0) { +- prefix = el.prefix = tagName.slice(0, nsp); +- localName = el.localName = tagName.slice(nsp + 1); +- } else { +- prefix = null; //important!! +- localName = el.localName = tagName; +- } +- //no prefix element has default namespace +- var ns = el.uri = currentNSMap[prefix || '']; +- domBuilder.startElement(ns, localName, tagName, el); +- //endPrefixMapping and startPrefixMapping have not any help for dom builder +- //localNSMap = null +- if (el.closed) { +- domBuilder.endElement(ns, localName, tagName); +- if (localNSMap) { +- for (prefix in localNSMap) { +- domBuilder.endPrefixMapping(prefix); +- } +- } +- } else { +- el.currentNSMap = currentNSMap; +- el.localNSMap = localNSMap; +- //parseStack.push(el); +- return true; +- } +-} +-function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) { +- if (/^(?:script|textarea)$/i.test(tagName)) { +- var elEndStart = source.indexOf('', elStartEnd); +- var text = source.substring(elStartEnd + 1, elEndStart); +- if (/[&<]/.test(text)) { +- if (/^script$/i.test(tagName)) { +- //if(!/\]\]>/.test(text)){ +- //lexHandler.startCDATA(); +- domBuilder.characters(text, 0, text.length); +- //lexHandler.endCDATA(); +- return elEndStart; +- //} +- } //}else{//text area +- text = text.replace(/&#?\w+;/g, entityReplacer); +- domBuilder.characters(text, 0, text.length); +- return elEndStart; +- //} +- } +- } +- return elStartEnd + 1; +-} +-function fixSelfClosed(source, elStartEnd, tagName, closeMap) { +- //if(tagName in closeMap){ +- var pos = closeMap[tagName]; +- if (pos == null) { +- //console.log(tagName) +- pos = source.lastIndexOf(''); +- if (pos < elStartEnd) { +- //忘记闭合 +- pos = source.lastIndexOf('', start + 4); +- //append comment source.substring(4,end)//"); +- case DOCUMENT_TYPE_NODE: +- var pubid = node.publicId; +- var sysid = node.systemId; +- buf.push(''); +- } else if (sysid && sysid != '.') { +- buf.push(' SYSTEM "', sysid, '">'); +- } else { +- var sub = node.internalSubset; +- if (sub) { +- buf.push(" [", sub, "]"); +- } +- buf.push(">"); +- } +- return; +- case PROCESSING_INSTRUCTION_NODE: +- return buf.push(""); +- case ENTITY_REFERENCE_NODE: +- return buf.push('&', node.nodeName, ';'); +- //case ENTITY_NODE: +- //case NOTATION_NODE: +- default: +- buf.push('??', node.nodeName); +- } +-} +-function _importNode(doc, node, deep) { +- var node2; +- switch (node.nodeType) { +- case ELEMENT_NODE: +- node2 = node.cloneNode(false); +- node2.ownerDocument = doc; +- //var attrs = node2.attributes; +- //var len = attrs.length; +- //for(var i=0;i', +- amp: '&', +- quot: '"', +- apos: "'", +- Agrave: "À", +- Aacute: "Á", +- Acirc: "Â", +- Atilde: "Ã", +- Auml: "Ä", +- Aring: "Å", +- AElig: "Æ", +- Ccedil: "Ç", +- Egrave: "È", +- Eacute: "É", +- Ecirc: "Ê", +- Euml: "Ë", +- Igrave: "Ì", +- Iacute: "Í", +- Icirc: "Î", +- Iuml: "Ï", +- ETH: "Ð", +- Ntilde: "Ñ", +- Ograve: "Ò", +- Oacute: "Ó", +- Ocirc: "Ô", +- Otilde: "Õ", +- Ouml: "Ö", +- Oslash: "Ø", +- Ugrave: "Ù", +- Uacute: "Ú", +- Ucirc: "Û", +- Uuml: "Ü", +- Yacute: "Ý", +- THORN: "Þ", +- szlig: "ß", +- agrave: "à", +- aacute: "á", +- acirc: "â", +- atilde: "ã", +- auml: "ä", +- aring: "å", +- aelig: "æ", +- ccedil: "ç", +- egrave: "è", +- eacute: "é", +- ecirc: "ê", +- euml: "ë", +- igrave: "ì", +- iacute: "í", +- icirc: "î", +- iuml: "ï", +- eth: "ð", +- ntilde: "ñ", +- ograve: "ò", +- oacute: "ó", +- ocirc: "ô", +- otilde: "õ", +- ouml: "ö", +- oslash: "ø", +- ugrave: "ù", +- uacute: "ú", +- ucirc: "û", +- uuml: "ü", +- yacute: "ý", +- thorn: "þ", +- yuml: "ÿ", +- nbsp: " ", +- iexcl: "¡", +- cent: "¢", +- pound: "£", +- curren: "¤", +- yen: "¥", +- brvbar: "¦", +- sect: "§", +- uml: "¨", +- copy: "©", +- ordf: "ª", +- laquo: "«", +- not: "¬", +- shy: "­­", +- reg: "®", +- macr: "¯", +- deg: "°", +- plusmn: "±", +- sup2: "²", +- sup3: "³", +- acute: "´", +- micro: "µ", +- para: "¶", +- middot: "·", +- cedil: "¸", +- sup1: "¹", +- ordm: "º", +- raquo: "»", +- frac14: "¼", +- frac12: "½", +- frac34: "¾", +- iquest: "¿", +- times: "×", +- divide: "÷", +- forall: "∀", +- part: "∂", +- exist: "∃", +- empty: "∅", +- nabla: "∇", +- isin: "∈", +- notin: "∉", +- ni: "∋", +- prod: "∏", +- sum: "∑", +- minus: "−", +- lowast: "∗", +- radic: "√", +- prop: "∝", +- infin: "∞", +- ang: "∠", +- and: "∧", +- or: "∨", +- cap: "∩", +- cup: "∪", +- 'int': "∫", +- there4: "∴", +- sim: "∼", +- cong: "≅", +- asymp: "≈", +- ne: "≠", +- equiv: "≡", +- le: "≤", +- ge: "≥", +- sub: "⊂", +- sup: "⊃", +- nsub: "⊄", +- sube: "⊆", +- supe: "⊇", +- oplus: "⊕", +- otimes: "⊗", +- perp: "⊥", +- sdot: "⋅", +- Alpha: "Α", +- Beta: "Β", +- Gamma: "Γ", +- Delta: "Δ", +- Epsilon: "Ε", +- Zeta: "Ζ", +- Eta: "Η", +- Theta: "Θ", +- Iota: "Ι", +- Kappa: "Κ", +- Lambda: "Λ", +- Mu: "Μ", +- Nu: "Ν", +- Xi: "Ξ", +- Omicron: "Ο", +- Pi: "Π", +- Rho: "Ρ", +- Sigma: "Σ", +- Tau: "Τ", +- Upsilon: "Υ", +- Phi: "Φ", +- Chi: "Χ", +- Psi: "Ψ", +- Omega: "Ω", +- alpha: "α", +- beta: "β", +- gamma: "γ", +- delta: "δ", +- epsilon: "ε", +- zeta: "ζ", +- eta: "η", +- theta: "θ", +- iota: "ι", +- kappa: "κ", +- lambda: "λ", +- mu: "μ", +- nu: "ν", +- xi: "ξ", +- omicron: "ο", +- pi: "π", +- rho: "ρ", +- sigmaf: "ς", +- sigma: "σ", +- tau: "τ", +- upsilon: "υ", +- phi: "φ", +- chi: "χ", +- psi: "ψ", +- omega: "ω", +- thetasym: "ϑ", +- upsih: "ϒ", +- piv: "ϖ", +- OElig: "Œ", +- oelig: "œ", +- Scaron: "Š", +- scaron: "š", +- Yuml: "Ÿ", +- fnof: "ƒ", +- circ: "ˆ", +- tilde: "˜", +- ensp: " ", +- emsp: " ", +- thinsp: " ", +- zwnj: "‌", +- zwj: "‍", +- lrm: "‎", +- rlm: "‏", +- ndash: "–", +- mdash: "—", +- lsquo: "‘", +- rsquo: "’", +- sbquo: "‚", +- ldquo: "“", +- rdquo: "”", +- bdquo: "„", +- dagger: "†", +- Dagger: "‡", +- bull: "•", +- hellip: "…", +- permil: "‰", +- prime: "′", +- Prime: "″", +- lsaquo: "‹", +- rsaquo: "›", +- oline: "‾", +- euro: "€", +- trade: "™", +- larr: "←", +- uarr: "↑", +- rarr: "→", +- darr: "↓", +- harr: "↔", +- crarr: "↵", +- lceil: "⌈", +- rceil: "⌉", +- lfloor: "⌊", +- rfloor: "⌋", +- loz: "◊", +- spades: "♠", +- clubs: "♣", +- hearts: "♥", +- diams: "♦" +-}; +-//for(var n in exports.entityMap){console.log(exports.entityMap[n].charCodeAt())} +- +-},{}],4:[function(require,module,exports){ +-"use strict"; +- +-//[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] +-//[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] +-//[5] Name ::= NameStartChar (NameChar)* +-var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; //\u10000-\uEFFFF +-var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); +-var tagNamePattern = new RegExp('^' + nameStartChar.source + nameChar.source + '*(?:\:' + nameStartChar.source + nameChar.source + '*)?$'); +-//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ +-//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') +- +-//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE +-//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE +-var S_TAG = 0; //tag name offerring +-var S_ATTR = 1; //attr name offerring +-var S_ATTR_SPACE = 2; //attr name end and space offer +-var S_EQ = 3; //=space? +-var S_ATTR_NOQUOT_VALUE = 4; //attr value(no quot value only) +-var S_ATTR_END = 5; //attr value end and no space(quot end) +-var S_TAG_SPACE = 6; //(attr value end || tag end ) && (space offer) +-var S_TAG_CLOSE = 7; //closed el +- +-function XMLReader() {} +-XMLReader.prototype = { +- parse: function parse(source, defaultNSMap, entityMap) { +- var domBuilder = this.domBuilder; +- domBuilder.startDocument(); +- _copy(defaultNSMap, defaultNSMap = {}); +- _parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler); +- domBuilder.endDocument(); +- } +-}; +-function _parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) { +- function fixedFromCharCode(code) { +- // String.prototype.fromCharCode does not supports +- // > 2 bytes unicode chars directly +- if (code > 0xffff) { +- code -= 0x10000; +- var surrogate1 = 0xd800 + (code >> 10), +- surrogate2 = 0xdc00 + (code & 0x3ff); +- return String.fromCharCode(surrogate1, surrogate2); +- } else { +- return String.fromCharCode(code); +- } +- } +- function entityReplacer(a) { +- var k = a.slice(1, -1); +- if (k in entityMap) { +- return entityMap[k]; +- } else if (k.charAt(0) === '#') { +- return fixedFromCharCode(parseInt(k.substr(1).replace('x', '0x'))); +- } else { +- errorHandler.error('entity not found:' + a); +- return a; +- } +- } +- function appendText(end) { +- //has some bugs +- if (end > start) { +- var xt = source.substring(start, end).replace(/&#?\w+;/g, entityReplacer); +- locator && position(start); +- domBuilder.characters(xt, 0, end - start); +- start = end; +- } +- } +- function position(p, m) { +- while (p >= lineEnd && (m = linePattern.exec(source))) { +- lineStart = m.index; +- lineEnd = lineStart + m[0].length; +- locator.lineNumber++; +- //console.log('line++:',locator,startPos,endPos) +- } +- locator.columnNumber = p - lineStart + 1; +- } +- var lineStart = 0; +- var lineEnd = 0; +- var linePattern = /.*(?:\r\n?|\n)|.*$/g; +- var locator = domBuilder.locator; +- var parseStack = [{ +- currentNSMap: defaultNSMapCopy +- }]; +- var closeMap = {}; +- var start = 0; +- while (true) { +- try { +- var tagStart = source.indexOf('<', start); +- if (tagStart < 0) { +- if (!source.substr(start).match(/^\s*$/)) { +- var doc = domBuilder.doc; +- var text = doc.createTextNode(source.substr(start)); +- doc.appendChild(text); +- domBuilder.currentElement = text; +- } +- return; +- } +- if (tagStart > start) { +- appendText(tagStart); +- } +- switch (source.charAt(tagStart + 1)) { +- case '/': +- var end = source.indexOf('>', tagStart + 3); +- var tagName = source.substring(tagStart + 2, end); +- var config = parseStack.pop(); +- if (end < 0) { +- tagName = source.substring(tagStart + 2).replace(/[\s<].*/, ''); +- //console.error('#@@@@@@'+tagName) +- errorHandler.error("end tag name: " + tagName + ' is not complete:' + config.tagName); +- end = tagStart + 1 + tagName.length; +- } else if (tagName.match(/\s +- locator && position(tagStart); +- end = parseInstruction(source, tagStart, domBuilder); +- break; +- case '!': +- // start) { +- start = end; +- } else { +- //TODO: 这里有可能sax回退,有位置错误风险 +- appendText(Math.max(tagStart, start) + 1); +- } +- } +-} +-function copyLocator(f, t) { +- t.lineNumber = f.lineNumber; +- t.columnNumber = f.columnNumber; +- return t; +-} +- +-/** +- * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); +- * @return end of the elementStartPart(end of elementEndPart for selfClosed el) +- */ +-function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) { +- var attrName; +- var value; +- var p = ++start; +- var s = S_TAG; //status +- while (true) { +- var c = source.charAt(p); +- switch (c) { +- case '=': +- if (s === S_ATTR) { +- //attrName +- attrName = source.slice(start, p); +- s = S_EQ; +- } else if (s === S_ATTR_SPACE) { +- s = S_EQ; +- } else { +- //fatalError: equal must after attrName or space after attrName +- throw new Error('attribute equal must after attrName'); +- } +- break; +- case '\'': +- case '"': +- if (s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE +- ) { +- //equal +- if (s === S_ATTR) { +- errorHandler.warning('attribute value must after "="'); +- attrName = source.slice(start, p); +- } +- start = p + 1; +- p = source.indexOf(c, start); +- if (p > 0) { +- value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); +- el.add(attrName, value, start - 1); +- s = S_ATTR_END; +- } else { +- //fatalError: no end quot match +- throw new Error('attribute value no end \'' + c + '\' match'); +- } +- } else if (s == S_ATTR_NOQUOT_VALUE) { +- value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); +- //console.log(attrName,value,start,p) +- el.add(attrName, value, start); +- //console.dir(el) +- errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ')!!'); +- start = p + 1; +- s = S_ATTR_END; +- } else { +- //fatalError: no equal before +- throw new Error('attribute value must after "="'); +- } +- break; +- case '/': +- switch (s) { +- case S_TAG: +- el.setTagName(source.slice(start, p)); +- case S_ATTR_END: +- case S_TAG_SPACE: +- case S_TAG_CLOSE: +- s = S_TAG_CLOSE; +- el.closed = true; +- case S_ATTR_NOQUOT_VALUE: +- case S_ATTR: +- case S_ATTR_SPACE: +- break; +- //case S_EQ: +- default: +- throw new Error("attribute invalid close char('/')"); +- } +- break; +- case '': +- //end document +- //throw new Error('unexpected end of input') +- errorHandler.error('unexpected end of input'); +- if (s == S_TAG) { +- el.setTagName(source.slice(start, p)); +- } +- return p; +- case '>': +- switch (s) { +- case S_TAG: +- el.setTagName(source.slice(start, p)); +- case S_ATTR_END: +- case S_TAG_SPACE: +- case S_TAG_CLOSE: +- break; +- //normal +- case S_ATTR_NOQUOT_VALUE: //Compatible state +- case S_ATTR: +- value = source.slice(start, p); +- if (value.slice(-1) === '/') { +- el.closed = true; +- value = value.slice(0, -1); +- } +- case S_ATTR_SPACE: +- if (s === S_ATTR_SPACE) { +- value = attrName; +- } +- if (s == S_ATTR_NOQUOT_VALUE) { +- errorHandler.warning('attribute "' + value + '" missed quot(")!!'); +- el.add(attrName, value.replace(/&#?\w+;/g, entityReplacer), start); +- } else { +- if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)) { +- errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!'); +- } +- el.add(value, value, start); +- } +- break; +- case S_EQ: +- throw new Error('attribute value missed!!'); +- } +- // console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) +- return p; +- /*xml space '\x20' | #x9 | #xD | #xA; */ +- case "\x80": +- c = ' '; +- default: +- if (c <= ' ') { +- //space +- switch (s) { +- case S_TAG: +- el.setTagName(source.slice(start, p)); //tagName +- s = S_TAG_SPACE; +- break; +- case S_ATTR: +- attrName = source.slice(start, p); +- s = S_ATTR_SPACE; +- break; +- case S_ATTR_NOQUOT_VALUE: +- var value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); +- errorHandler.warning('attribute "' + value + '" missed quot(")!!'); +- el.add(attrName, value, start); +- case S_ATTR_END: +- s = S_TAG_SPACE; +- break; +- //case S_TAG_SPACE: +- //case S_EQ: +- //case S_ATTR_SPACE: +- // void();break; +- //case S_TAG_CLOSE: +- //ignore warning +- } +- } else { +- //not space +- //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE +- //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE +- switch (s) { +- //case S_TAG:void();break; +- //case S_ATTR:void();break; +- //case S_ATTR_NOQUOT_VALUE:void();break; +- case S_ATTR_SPACE: +- var tagName = el.tagName; +- if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)) { +- errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!'); +- } +- el.add(attrName, attrName, start); +- start = p; +- s = S_ATTR; +- break; +- case S_ATTR_END: +- errorHandler.warning('attribute space is required"' + attrName + '"!!'); +- case S_TAG_SPACE: +- s = S_ATTR; +- start = p; +- break; +- case S_EQ: +- s = S_ATTR_NOQUOT_VALUE; +- start = p; +- break; +- case S_TAG_CLOSE: +- throw new Error("elements closed character '/' and '>' must be connected to"); +- } +- } +- } //end outer switch +- //console.log('p++',p) +- p++; +- } +-} +-/** +- * @return true if has new namespace define +- */ +-function appendElement(el, domBuilder, currentNSMap) { +- var tagName = el.tagName; +- var localNSMap = null; +- //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; +- var i = el.length; +- while (i--) { +- var a = el[i]; +- var qName = a.qName; +- var value = a.value; +- var nsp = qName.indexOf(':'); +- if (nsp > 0) { +- var prefix = a.prefix = qName.slice(0, nsp); +- var localName = qName.slice(nsp + 1); +- var nsPrefix = prefix === 'xmlns' && localName; +- } else { +- localName = qName; +- prefix = null; +- nsPrefix = qName === 'xmlns' && ''; +- } +- //can not set prefix,because prefix !== '' +- a.localName = localName; +- //prefix == null for no ns prefix attribute +- if (nsPrefix !== false) { +- //hack!! +- if (localNSMap == null) { +- localNSMap = {}; +- //console.log(currentNSMap,0) +- _copy(currentNSMap, currentNSMap = {}); +- //console.log(currentNSMap,1) +- } +- currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; +- a.uri = 'http://www.w3.org/2000/xmlns/'; +- domBuilder.startPrefixMapping(nsPrefix, value); +- } +- } +- var i = el.length; +- while (i--) { +- a = el[i]; +- var prefix = a.prefix; +- if (prefix) { +- //no prefix attribute has no namespace +- if (prefix === 'xml') { +- a.uri = 'http://www.w3.org/XML/1998/namespace'; +- } +- if (prefix !== 'xmlns') { +- a.uri = currentNSMap[prefix || '']; +- +- //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} +- } +- } +- } +- var nsp = tagName.indexOf(':'); +- if (nsp > 0) { +- prefix = el.prefix = tagName.slice(0, nsp); +- localName = el.localName = tagName.slice(nsp + 1); +- } else { +- prefix = null; //important!! +- localName = el.localName = tagName; +- } +- //no prefix element has default namespace +- var ns = el.uri = currentNSMap[prefix || '']; +- domBuilder.startElement(ns, localName, tagName, el); +- //endPrefixMapping and startPrefixMapping have not any help for dom builder +- //localNSMap = null +- if (el.closed) { +- domBuilder.endElement(ns, localName, tagName); +- if (localNSMap) { +- for (prefix in localNSMap) { +- domBuilder.endPrefixMapping(prefix); +- } +- } +- } else { +- el.currentNSMap = currentNSMap; +- el.localNSMap = localNSMap; +- //parseStack.push(el); +- return true; +- } +-} +-function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) { +- if (/^(?:script|textarea)$/i.test(tagName)) { +- var elEndStart = source.indexOf('', elStartEnd); +- var text = source.substring(elStartEnd + 1, elEndStart); +- if (/[&<]/.test(text)) { +- if (/^script$/i.test(tagName)) { +- //if(!/\]\]>/.test(text)){ +- //lexHandler.startCDATA(); +- domBuilder.characters(text, 0, text.length); +- //lexHandler.endCDATA(); +- return elEndStart; +- //} +- } //}else{//text area +- text = text.replace(/&#?\w+;/g, entityReplacer); +- domBuilder.characters(text, 0, text.length); +- return elEndStart; +- //} +- } +- } +- return elStartEnd + 1; +-} +-function fixSelfClosed(source, elStartEnd, tagName, closeMap) { +- //if(tagName in closeMap){ +- var pos = closeMap[tagName]; +- if (pos == null) { +- //console.log(tagName) +- pos = source.lastIndexOf(''); +- if (pos < elStartEnd) { +- //忘记闭合 +- pos = source.lastIndexOf('', start + 4); +- //append comment source.substring(4,end)//');case r:var aC=an['publicId'],aD=an['systemId'];ao['push']('');else{if(aD&&aD!='.')ao['push']('\x20SYSTEM\x20\x22',aD,'\x22>');else{var aE=an['internalSubset'];aE&&ao['push']('\x20[',aE,']'),ao['push']('>');}}return;case o:return ao['push']('');case m:return ao['push']('&',an['nodeName'],';');default:ao['push']('??',an['nodeName']);}}function ak(an,ao,ap){var aq;switch(ao['nodeType']){case i:aq=ao['cloneNode'](![]),aq['ownerDocument']=an;case s:break;case j:ap=!![];break;}!aq&&(aq=ao['cloneNode'](![]));aq['ownerDocument']=an,aq['parentNode']=null;if(ap){var ar=ao['firstChild'];while(ar){aq['appendChild'](ak(an,ar,ap)),ar=ar['nextSibling'];}}return aq;}function al(an,ao,ap){var aq=new ao['constructor']();for(var ar in ao){var as=ao[ar];typeof as!='object'&&(as!=aq[ar]&&(aq[ar]=as));}ao['childNodes']&&(aq['childNodes']=new M());aq['ownerDocument']=an;switch(aq['nodeType']){case i:var at=ao['attributes'],au=aq['attributes']=new P(),av=at['length'];au['_ownerElement']=aq;for(var aw=0x0;aw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x2a:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function(A,B,C){var D=this['domBuilder'];D['startDocument'](),v(B,B={}),p(A,B,C,D,this['errorHandler']),D['endDocument']();}};function p(A,B,C,D,E){function F(a6){if(a6>0xffff){a6-=0x10000;var a7=0xd800+(a6>>0xa),a8=0xdc00+(a6&0x3ff);return String['fromCharCode'](a7,a8);}else return String['fromCharCode'](a6);}function G(a6){var a7=a6['slice'](0x1,-0x1);if(a7 in C)return C[a7];else return a7['charAt'](0x0)==='#'?F(parseInt(a7['substr'](0x1)['replace']('x','0x'))):(E['error']('entity\x20not\x20found:'+a6),a6);}function H(a6){if(a6>P){var a7=A['substring'](P,a6)['replace'](/&#?\w+;/g,G);M&&I(P),D['characters'](a7,0x0,a6-P),P=a6;}}function I(a6,a7){while(a6>=K&&(a7=L['exec'](A))){J=a7['index'],K=J+a7[0x0]['length'],M['lineNumber']++;}M['columnNumber']=a6-J+0x1;}var J=0x0,K=0x0,L=/.*(?:\r\n?|\n)|.*$/g,M=D['locator'],N=[{'currentNSMap':B}],O={},P=0x0;while(!![]){try{var Q=A['indexOf']('<',P);if(Q<0x0){if(!A['substr'](P)['match'](/^\s*$/)){var R=D['doc'],S=R['createTextNode'](A['substr'](P));R['appendChild'](S),D['currentElement']=S;}return;}Q>P&&H(Q);switch(A['charAt'](Q+0x1)){case'/':var T=A['indexOf']('>',Q+0x3),U=A['substring'](Q+0x2,T),V=N['pop']();if(T<0x0)U=A['substring'](Q+0x2)['replace'](/[\s<].*/,''),E['error']('end\x20tag\x20name:\x20'+U+'\x20is\x20not\x20complete:'+V['tagName']),T=Q+0x1+U['length'];else U['match'](/\sP?P=T:H(Math['max'](Q,P)+0x1);}}function q(A,B){return B['lineNumber']=A['lineNumber'],B['columnNumber']=A['columnNumber'],B;}function r(A,B,C,D,E,F){var G,H,I=++B,J=g;while(!![]){var K=A['charAt'](I);switch(K){case'=':if(J===h)G=A['slice'](B,I),J=j;else{if(J===i)J=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(J===j||J===h){J===h&&(F['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),G=A['slice'](B,I));B=I+0x1,I=A['indexOf'](K,B);if(I>0x0)H=A['slice'](B,I)['replace'](/&#?\w+;/g,E),C['add'](G,H,B-0x1),J=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+K+'\x27\x20match');}else{if(J==k)H=A['slice'](B,I)['replace'](/&#?\w+;/g,E),C['add'](G,H,B),F['warning']('attribute\x20\x22'+G+'\x22\x20missed\x20start\x20quot('+K+')!!'),B=I+0x1,J=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(J){case g:C['setTagName'](A['slice'](B,I));case l:case m:case n:J=n,C['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':F['error']('unexpected\x20end\x20of\x20input');J==g&&C['setTagName'](A['slice'](B,I));return I;case'>':switch(J){case g:C['setTagName'](A['slice'](B,I));case l:case m:case n:break;case k:case h:H=A['slice'](B,I);H['slice'](-0x1)==='/'&&(C['closed']=!![],H=H['slice'](0x0,-0x1));case i:J===i&&(H=G);J==k?(F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20quot(\x22)!!'),C['add'](G,H['replace'](/&#?\w+;/g,E),B)):((D['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead!!'),C['add'](H,H,B));break;case j:throw new Error('attribute\x20value\x20missed!!');}return I;case'\u0080':K='\x20';default:if(K<='\x20')switch(J){case g:C['setTagName'](A['slice'](B,I)),J=m;break;case h:G=A['slice'](B,I),J=i;break;case k:var H=A['slice'](B,I)['replace'](/&#?\w+;/g,E);F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20quot(\x22)!!'),C['add'](G,H,B);case l:J=m;break;}else switch(J){case i:var L=C['tagName'];(D['']!=='http://www.w3.org/1999/xhtml'||!G['match'](/^(?:disabled|checked|selected)$/i))&&F['warning']('attribute\x20\x22'+G+'\x22\x20missed\x20value!!\x20\x22'+G+'\x22\x20instead2!!');C['add'](G,G,B),B=I,J=h;break;case l:F['warning']('attribute\x20space\x20is\x20required\x22'+G+'\x22!!');case m:J=h,B=I;break;case j:J=k,B=I;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}I++;}}function s(A,B,C){var D=A['tagName'],E=null,F=A['length'];while(F--){var G=A[F],H=G['qName'],I=G['value'],J=H['indexOf'](':');if(J>0x0)var K=G['prefix']=H['slice'](0x0,J),L=H['slice'](J+0x1),M=K==='xmlns'&&L;else L=H,K=null,M=H==='xmlns'&&'';G['localName']=L,M!==![]&&(E==null&&(E={},v(C,C={})),C[M]=E[M]=I,G['uri']='http://www.w3.org/2000/xmlns/',B['startPrefixMapping'](M,I));}var F=A['length'];while(F--){G=A[F];var K=G['prefix'];K&&(K==='xml'&&(G['uri']='http://www.w3.org/XML/1998/namespace'),K!=='xmlns'&&(G['uri']=C[K||'']));}var J=D['indexOf'](':');J>0x0?(K=A['prefix']=D['slice'](0x0,J),L=A['localName']=D['slice'](J+0x1)):(K=null,L=A['localName']=D);var N=A['uri']=C[K||''];B['startElement'](N,L,D,A);if(A['closed']){B['endElement'](N,L,D);if(E)for(K in E){B['endPrefixMapping'](K);}}else return A['currentNSMap']=C,A['localNSMap']=E,!![];}function t(A,B,C,D,E){if(/^(?:script|textarea)$/i['test'](C)){var F=A['indexOf']('',B),G=A['substring'](B+0x1,F);if(/[&<]/['test'](G)){if(/^script$/i['test'](C))return E['characters'](G,0x0,G['length']),F;return G=G['replace'](/&#?\w+;/g,D),E['characters'](G,0x0,G['length']),F;}}return B+0x1;}function u(A,B,C,D){var E=D[C];return E==null&&(E=A['lastIndexOf'](''),E',B+0x4);return F>B?(C['comment'](A,B+0x4,F-B-0x4),F+0x3):(D['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(A['substr'](B+0x3,0x6)=='CDATA['){var F=A['indexOf'](']]>',B+0x9);return C['startCDATA'](),C['characters'](A,B+0x9,F-B-0x9),C['endCDATA'](),F+0x3;}var G=z(A,B),H=G['length'];if(H>0x1&&/!doctype/i['test'](G[0x0][0x0])){var I=G[0x1][0x0],J=H>0x3&&/^public$/i['test'](G[0x2][0x0])&&G[0x3][0x0],K=H>0x4&&G[0x4][0x0],L=G[H-0x1];return C['startDTD'](I,J&&J['replace'](/^(['"])(.*?)\1$/,'$2'),K&&K['replace'](/^(['"])(.*?)\1$/,'$2')),C['endDTD'](),L['index']+L[0x0]['length'];}}return-0x1;}function x(A,B,C){var D=A['indexOf']('?>',B);if(D){var E=A['substring'](B,D)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(E){var F=E[0x0]['length'];return C['processingInstruction'](E[0x1],E[0x2]),D+0x2;}else return-0x1;}return-0x1;}function y(A){}y['prototype']={'setTagName':function(A){if(!f['test'](A))throw new Error('invalid\x20tagName:'+A);this['tagName']=A;},'add':function(A,B,C){if(!f['test'](A))throw new Error('invalid\x20attribute:'+A);this[this['length']++]={'qName':A,'value':B,'offset':C};},'length':0x0,'getLocalName':function(A){return this[A]['localName'];},'getLocator':function(A){return this[A]['locator'];},'getQName':function(A){return this[A]['qName'];},'getURI':function(A){return this[A]['uri'];},'getValue':function(A){return this[A]['value'];}};function z(A,B){var C,D=[],E=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;E['lastIndex']=B,E['exec'](A);while(C=E['exec'](A)){D['push'](C);if(C[0x1])return D;}}c['XMLReader']=o;},{}]},{},[0x5])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/native/jsb-adapter/jsb-engine.js b/node_modules/@cocos/engine-platforms/bin/adapter/native/jsb-adapter/jsb-engine.js +new file mode 100644 +index 0000000..5c7ca15 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/native/jsb-adapter/jsb-engine.js +@@ -0,0 +1 @@ ++(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h{if(l['test'](n['base']))this['makeBundleFolder'](n['name']);});},'clearLRU'(){if(k)return;k=!![];var n=[],o=this;this['cachedFiles']['forEach']((s,t)=>{if(s['bundle']==='internal')return;n['push']({'originUrl':t,'url':this['getCache'](t),'lastTime':s['lastTime']});}),n['sort'](function(s,t){return s['lastTime']-t['lastTime'];}),n['length']=Math['floor'](this['cachedFiles']['count']/0x3);if(n['length']===0x0)return;for(var p=0x0,q=n['length'];p0x0?setTimeout(r,o['deleteInterval']):k=![];}setTimeout(r,o['deleteInterval']);},'removeCache'(n){if(this['cachedFiles']['has'](n)){var o=this['getCache'](n);this['cachedFiles']['remove'](n),clearTimeout(j),this['_write'](),h(o);}},'makeBundleFolder'(n){f(this['cacheDir']+'/'+n,!![]);}};cc['assetManager']['cacheManager']=b['exports']=m;},{'./jsb-fs-utils':0x7}],0x4:[function(a,b,c){'use strict';const d=a('./jsb-cache-manager');(function(){if(window['dragonBones']===undefined||window['middleware']===undefined)return;let e=cc['internal']['ArmatureDisplay'];if(e===undefined)return;Object['defineProperty'](dragonBones,'timeScale',{'get'(){return this['_timeScale'];},'set'(J){this['_timeScale']=J;let K=this['CCFactory']['getInstance']();K['setTimeScale'](J);},'configurable':!![]}),middleware['generateGetSet'](dragonBones);let f=cc['color'](0x0,0x0,0xff,0xff),g=cc['color'](0xff,0x0,0x0,0xff),h=cc['color'](0x0,0xff,0x0,0xff);dragonBones['EventObject']['START']='start',dragonBones['EventObject']['LOOP_COMPLETE']='loopComplete',dragonBones['EventObject']['COMPLETE']='complete',dragonBones['EventObject']['FADE_IN']='fadeIn',dragonBones['EventObject']['FADE_IN_COMPLETE']='fadeInComplete',dragonBones['EventObject']['FADE_OUT']='fadeOut',dragonBones['EventObject']['FADE_OUT_COMPLETE']='fadeOutComplete',dragonBones['EventObject']['FRAME_EVENT']='frameEvent',dragonBones['EventObject']['SOUND_EVENT']='soundEvent',dragonBones['DragonBones']={'ANGLE_TO_RADIAN':Math['PI']/0xb4,'RADIAN_TO_ANGLE':0xb4/Math['PI']};let i=dragonBones['CCFactory']['prototype'];i['createArmatureNode']=function(J,K,L){L=L||new cc['Node']();let M=L['getComponent'](e);return!M&&(M=L['addComponent'](e)),L['name']=K,M['_armatureName']=K,M['_dragonAsset']=J['dragonAsset'],M['_dragonAtlasAsset']=J['dragonAtlasAsset'],M['_init'](),M;};let j=i['replaceSkin'];i['replaceSkin']=function(J,K,L,M){if(L==undefined)L=![];M=M||[],j['call'](this,J,K,L,M);};let k=i['changeSkin'];i['changeSkin']=function(J,K,L){k['call'](this,J,K,L);},dragonBones['CCFactory']['getInstance']=function(){return dragonBones['CCFactory']['getFactory']();};let l=dragonBones['AnimationState']['prototype'],m=l['isPlaying'];Object['defineProperty'](l,'isPlaying',{'get'(){return m['call'](this);}});let n=dragonBones['Armature']['prototype'];n['addEventListener']=function(J,K,L){this['__persistentDisplay__']=this['getDisplay'](),this['__persistentDisplay__']['on'](J,K,L);},n['removeEventListener']=function(J,K,L){this['__persistentDisplay__']=this['getDisplay'](),this['__persistentDisplay__']['off'](J,K,L);};let o=dragonBones['CCArmatureDisplay']['prototype'];Object['defineProperty'](o,'node',{'get':function(){return this;}}),o['getRootNode']=function(){let J=this['getRootDisplay']();return J&&J['_ccNode'];},o['convertToWorldSpace']=function(J){let K=this['convertToRootSpace'](J['x'],J['y']);K=cc['v3'](K['x'],K['y'],0x0);let L=this['getRootNode']();if(!L)return K;let M=L['_uiProps']['uiTransformComp']['convertToWorldSpaceAR'](K);return M;},o['initEvent']=function(){if(this['_eventTarget'])return;this['_eventTarget']=new cc['EventTarget'](),this['setDBEventCallback'](function(J){this['_eventTarget']['emit'](J['type'],J);});},o['on']=function(J,K,L){this['initEvent'](),this['_eventTarget']['on'](J,K,L),this['addDBEventListener'](J,K);},o['off']=function(J,K,L){this['initEvent'](),this['_eventTarget']['off'](J,K,L),this['removeDBEventListener'](J,K);},o['once']=function(J,K,L){this['initEvent'](),this['_eventTarget']['once'](J,K,L),this['addDBEventListener'](J,K);};let p=cc['internal']['DragonBonesAtlasAsset']['prototype'],q=0x1,r={},s=new WeakMap(),t={};p['removeRecordTexture']=function(J){if(!J)return;delete t[J['url']];let K=J['__textureIndex__'];if(K){let L=r[K];L&&s['has'](L)&&(s['delete'](L),delete r[K]);}},p['recordTexture']=function(){if(this['_texture']&&this['_oldTexture']!==this['_texture']){this['removeRecordTexture'](this['_oldTexture']);let J=r[q]={'key':q};s['set'](J,this['_texture']),this['_oldTexture']=this['_texture'],this['_texture']['__textureIndex__']=q,q++;}},p['getTextureByIndex']=function(J){let K=r[J];if(!K)return;return s['get'](K);},p['updateTextureAtlasData']=function(J){let K=this['_texture']['url'],L=t[K],M;if(L){M=L['index'],this['_textureAtlasData']=J['getTextureAtlasDataByIndex'](L['name'],M);let N=r[L['index']];s['set'](N,this['_texture']),this['_texture']['__textureIndex__']=M;if(this['_textureAtlasData'])return;}else this['recordTexture']();M=this['_texture']['__textureIndex__'],this['jsbTexture']=new middleware['Texture2D'](),this['jsbTexture']['setRealTextureIndex'](M),this['jsbTexture']['setPixelsWide'](this['_texture']['width']),this['jsbTexture']['setPixelsHigh'](this['_texture']['height']),this['_textureAtlasData']=J['parseTextureAtlasData'](this['atlasJson'],this['jsbTexture'],this['_uuid']),t[K]={'name':this['_textureAtlasData']['name'],'index':M};},p['init']=function(J){this['_factory']=J;if(!this['_uuid']){let K=JSON['parse'](this['atlasJson']);this['_uuid']=K['name'];}this['_textureAtlasData']?J['addTextureAtlasData'](this['_textureAtlasData'],this['_uuid']):this['updateTextureAtlasData'](J);},p['_clear']=function(J){this['_factory']&&(this['_factory']['removeTextureAtlasData'](this['_uuid'],!![]),this['_factory']['removeDragonBonesDataByUUID'](this['_uuid'],!![])),this['_textureAtlasData']=null,!J&&this['recordTexture']();},p['destroy']=function(){this['removeRecordTexture'](this['_texture']),this['_clear'](!![]),cc['Asset']['prototype']['destroy']['call'](this);};let u=cc['internal']['DragonBonesAsset']['prototype'];u['init']=function(J,K){this['_factory']=J;if(!this['_uuid']&&this['dragonBonesJson']){let O=JSON['parse'](this['dragonBonesJson']);this['_uuid']=O['name'];}let L=this['_uuid']+'#'+K,M=this['_factory']['getDragonBonesData'](L);if(M)return L;let N=null;return this['dragonBonesJson']?N=this['dragonBonesJson']:N=d['getCache'](this['nativeUrl'])||this['nativeUrl'],this['_factory']['parseDragonBonesDataByPath'](N,L),L;};let v=dragonBones['ArmatureCacheMgr']['getInstance']();dragonBones['armatureCacheMgr']=v,u['_clear']=function(){this['_factory']&&this['_factory']['removeDragonBonesDataByUUID'](this['_uuid'],!![]),v['removeArmatureCache'](this['_uuid']);};let w=cc['internal']['Renderable2D']['prototype'],x=cc['internal']['ArmatureDisplay']['prototype'];const y=cc['internal']['ArmatureDisplay']['AnimationCacheMode'];x['initFactory']=function(){this['_factory']=dragonBones['CCFactory']['getFactory']();},Object['defineProperty'](x,'armatureName',{'get'(){return this['_armatureName'];},'set'(J){this['_armatureName']=J;let K=this['getAnimationNames'](this['_armatureName']);(!this['animationName']||K['indexOf'](this['animationName'])<0x0)&&(this['animationName']='');var L=this['_armature'];this['_armature']&&(!this['isAnimationCached']()&&this['_factory']['remove'](this['_armature']),this['_armature']=null),this['_nativeDisplay']=null,this['_refresh'](),L&&L!=this['_armature']&&L['dispose'](),this['_armature']&&!this['isAnimationCached']()&&this['_factory']['add'](this['_armature']);},'visible':![]}),Object['defineProperty'](x,'premultipliedAlpha',{'get'(){if(this['_premultipliedAlpha']===undefined)return![];return this['_premultipliedAlpha'];},'set'(J){this['_premultipliedAlpha']=J,this['_nativeDisplay']&&this['_nativeDisplay']['setOpacityModifyRGB'](this['_premultipliedAlpha']);}});let z=x['_initDebugDraw'];x['_initDebugDraw']=function(){z['call'](this),this['_armature']&&!this['isAnimationCached']()&&this['_nativeDisplay']['setDebugBonesEnabled'](this['debugBones']);},x['_buildArmature']=function(){if(!this['dragonAsset']||!this['dragonAtlasAsset']||!this['armatureName'])return;this['_nativeDisplay']&&(this['_nativeDisplay']['dispose'](),this['_nativeDisplay']['_comp']=null,this['_nativeDisplay']=null);let J=this['dragonAtlasAsset']['_uuid'];this['_armatureKey']=this['dragonAsset']['init'](this['_factory'],J);if(this['isAnimationCached']())this['_nativeDisplay']=new dragonBones['CCArmatureCacheDisplay'](this['armatureName'],this['_armatureKey'],J,this['_cacheMode']==y['SHARED_CACHE']),this['_armature']=this['_nativeDisplay']['armature']();else{this['_nativeDisplay']=this['_factory']['buildArmatureDisplay'](this['armatureName'],this['_armatureKey'],'',J);if(!this['_nativeDisplay'])return;this['_nativeDisplay']['setDebugBonesEnabled'](this['debugBones']),this['_armature']=this['_nativeDisplay']['armature'](),this['_armature']['animation']['timeScale']=this['timeScale'],this['_factory']['add'](this['_armature']);}let K=this['_eventTarget']['_callbackTable'],L=function(){};for(let N in K){let O=K[N];if(!O||!O['callbackInfos']||!O['callbackInfos']['length'])continue;this['isAnimationCached']()?this['_nativeDisplay']['addDBEventListener'](N):this['_nativeDisplay']['addDBEventListener'](N,L);}this['_preCacheMode']=this['_cacheMode'],this['_nativeDisplay']['_ccNode']=this['node'],this['_nativeDisplay']['_comp']=this,this['_nativeDisplay']['_eventTarget']=this['_eventTarget'],this['_sharedBufferOffset']=this['_nativeDisplay']['getSharedBufferOffset'](),this['_sharedBufferOffset'][0x0]=0x0,this['_useAttach']=![],this['_renderOrder']=-0x1,this['_paramsBuffer']=this['_nativeDisplay']['getParamsBuffer'](),this['_paramsBuffer'][0x0]=-0x1,this['_nativeDisplay']['setOpacityModifyRGB'](this['premultipliedAlpha']);let M=this['color'];this['_nativeDisplay']['setColor'](M['r'],M['g'],M['b'],M['a']),this['_nativeDisplay']['setDBEventCallback'](function(P){this['_eventTarget']['emit'](P['type'],P);}),this['attachUtil']['init'](this),this['animationName']&&this['playAnimation'](this['animationName'],this['playTimes']),this['syncTransform'](!![]),this['markForUpdateRenderData']();},x['_updateColor']=function(){if(this['_nativeDisplay']){let J=this['color'];this['_nativeDisplay']['setColor'](J['r'],J['g'],J['b'],J['a']);}},x['playAnimation']=function(J,K){this['playTimes']=K===undefined?-0x1:K,this['animationName']=J;if(this['_nativeDisplay']){if(this['isAnimationCached']())return this['_nativeDisplay']['playAnimation'](J,this['playTimes']);else{if(this['_armature'])return this['_armature']['animation']['play'](J,this['playTimes']);}}return null;},x['updateAnimationCache']=function(J){if(!this['isAnimationCached']())return;this['_nativeDisplay']&&(J?this['_nativeDisplay']['updateAnimationCache'](J):this['_nativeDisplay']['updateAllAnimationCache']());},x['invalidAnimationCache']=function(){if(!this['isAnimationCached']())return;this['_nativeDisplay']&&this['_nativeDisplay']['updateAllAnimationCache']();};let A=w['onEnable'];x['onEnable']=function(){A&&A['call'](this),this['_armature']&&!this['isAnimationCached']()&&this['_factory']['add'](this['_armature']),this['syncTransform'](!![]),this['_flushAssembler'](),middleware['retain']();};let B=w['onEnable'];x['onDisable']=function(){B&&B['call'](this),this['_armature']&&!this['isAnimationCached']()&&this['_factory']['remove'](this['_armature']),middleware['release']();},x['once']=function(J,K,L){this['_nativeDisplay']&&(this['isAnimationCached']()?this['_nativeDisplay']['addDBEventListener'](J):this['_nativeDisplay']['addDBEventListener'](J,K)),this['_eventTarget']['once'](J,K,L);},x['addEventListener']=function(J,K,L){this['_nativeDisplay']&&(this['isAnimationCached']()?this['_nativeDisplay']['addDBEventListener'](J):this['_nativeDisplay']['addDBEventListener'](J,K)),this['_eventTarget']['on'](J,K,L);},x['removeEventListener']=function(J,K,L){this['_nativeDisplay']&&(this['isAnimationCached']()?this['_nativeDisplay']['removeDBEventListener'](J):this['_nativeDisplay']['removeDBEventListener'](J,K)),this['_eventTarget']['off'](J,K,L);};let C=x['onDestroy'];x['onDestroy']=function(){C['call'](this),this['_nativeDisplay']&&(this['_nativeDisplay']['dispose'](),this['_nativeDisplay']['_comp']=null,this['_nativeDisplay']=null);},x['syncTransform']=function(J){let K=this['node'];if(!K)return;let L=this['_paramsBuffer'];if(!L)return;if(J||K['hasChangedFlags']){K['updateWorldTransform']();let M=K['_mat'];L[0x1]=M['m00'],L[0x2]=M['m01'],L[0x3]=M['m02'],L[0x4]=M['m03'],L[0x5]=M['m04'],L[0x6]=M['m05'],L[0x7]=M['m06'],L[0x8]=M['m07'],L[0x9]=M['m08'],L[0xa]=M['m09'],L[0xb]=M['m10'],L[0xc]=M['m11'],L[0xd]=M['m12'],L[0xe]=M['m13'],L[0xf]=M['m14'],L[0x10]=M['m15'];}},x['setAnimationCacheMode']=function(J){this['_preCacheMode']!==J&&(this['_cacheMode']=J,this['_buildArmature'](),this['_armature']&&!this['isAnimationCached']()&&this['_factory']['add'](this['_armature']),this['_updateSocketBindings'](),this['markForUpdateRenderData']());};const D=x['lateUpdate'];x['lateUpdate']=function(){if(D)D['call'](this);let J=this['_nativeDisplay'];if(!J)return;let K=this['node'];if(!K)return;let L=this['_paramsBuffer'];this['_renderOrder']!=middleware['renderOrder']&&(L[0x0]=middleware['renderOrder'],this['_renderOrder']=middleware['renderOrder'],middleware['renderOrder']++);this['syncTransform']();if(this['__preColor__']===undefined||!this['color']['equals'](this['__preColor__'])){let N=this['color'];J['setColor'](N['r'],N['g'],N['b'],N['a']),this['__preColor__']=N;}const M=this['socketNodes'];!this['_useAttach']&&M['size']>0x0&&(this['_useAttach']=!![],J['setAttachEnabled'](!![]));this['markForUpdateRenderData']();if(!this['isAnimationCached']()&&this['_debugDraw']&&this['debugBones']){let O=this['_nativeDisplay'];this['_debugData']=this['_debugData']||O['getDebugData']();if(!this['_debugData'])return;let P=this['_debugDraw'];P['clear']();let Q=this['_debugData'],R=0x0;P['lineWidth']=0x5,P['strokeColor']=g,P['fillColor']=f;let S=Q[R++];for(let T=0x0;T0x0){let W=middleware['attachInfoMgr'],X=W['attachInfo'],Y=M[0x1];M[0x1]=0x0;const Z=this['socketNodes'],a0=new cc['Vec3'](),a1=this['_armature']['getBones']();for(let a2=O['length']-0x1;a2>=0x0;a2--){const a3=O[a2],a4=a3['target'],a5=a3['boneIndex'];if(!a4)continue;if(!a4['isValid']){Z['delete'](a3['path']),O['splice'](a2,0x1);continue;}let a6=E,a7=Y+a5*0x10;a6['m00']=X[a7],a6['m01']=X[a7+0x1],a6['m04']=X[a7+0x4],a6['m05']=X[a7+0x5],a6['m12']=X[a7+0xc],a6['m13']=X[a7+0xd],!a4['_oldScale']&&(a4['_oldScale']=a4['scale']['clone']()),a0['set'](a4['_oldScale']),a4['matrix']=a6,a4['scale']=a0['multiply'](L['scale']);}}let P=middleware['renderInfoMgr'],Q=P['renderInfo'],R=0x0,S,T,U=Q[N+R++];if(U!==0xffffffff)return;let V=Q[N+R++];if(V==0x0)return;for(let a8=0x0;a8m['_maxLength']&&(u['value']=u['value']['slice'](0x0,m['_maxLength'])),n['string']!==u['value']&&n['_editBoxTextChanged'](u['value']);}function t(u){m['endEditing']();}jsb['inputBox']['onInput'](s),jsb['inputBox']['onConfirm'](r),jsb['inputBox']['onComplete'](t),!cc['sys']['isMobile']&&n['_hideLabels'](),jsb['inputBox']['show']({'defaultValue':n['string'],'maxLength':m['_maxLength'],'multiple':o,'confirmHold':![],'confirmType':j(n['returnType']),'inputType':q,'originX':p['x'],'originY':p['y'],'width':p['width'],'height':p['height']}),this['_editing']=!![],n['_editBoxEditingDidBegan']();}['endEditing'](){this['_editing']=![],!cc['sys']['isMobile']&&this['_delegate']['_showLabels'](),jsb['inputBox']['offConfirm'](),jsb['inputBox']['offInput'](),jsb['inputBox']['offComplete'](),jsb['inputBox']['hide'](),this['_delegate']['_editBoxEditingDidEnded']();}['setMaxLength'](m){!isNaN(m)&&(m<0x0&&(m=0xffff),this['_maxLength']=m);}['_getRect'](){let m=this['_delegate']['node'],n=cc['view']['_scaleX'],o=cc['view']['_scaleY'],p=cc['view']['_devicePixelRatio'];m['getWorldMatrix'](h);let q=m['_uiProps']['uiTransformComp'],r=cc['v3'](),s=0x0,t=0x0;if(q){const z=q['contentSize'],A=q['anchorPoint'];s=z['width'],t=z['height'],r['x']=-A['x']*s,r['y']=-A['y']*t;}cc['Mat4']['translate'](h,h,r),n/=p,o/=p;let u=h['m00']*n,v=h['m05']*o,w=cc['view']['_viewportRect'],x=w['x']/p,y=w['y']/p;return{'x':h['m12']*n+x,'y':h['m13']*o+y,'width':s*u,'height':t*v};}}d['_EditBoxImpl']=l;}());},{}],0x6:[function(a,b,c){'use strict';(function(){if(!window['middleware'])return;let d=middleware['MiddlewareManager']['getInstance'](),e=0x0,f=cc['director'],g=middleware['vfmtPosUvColor']=0x9,h=middleware['vfmtPosUvTwoColor']=0xd,i=g*0x4,j=h*0x4,k=cc['internal']['vfmtPosUvColor'],l=cc['internal']['vfmtPosUvTwoColor'],m=middleware['RenderInfoLookup']={};m[g]=[],m[h]=[],middleware['preRenderComponent']=null,middleware['preRenderBufferIndex']=0x0,middleware['preRenderBufferType']=g,middleware['renderOrder']=0x0,middleware['indicesStart']=0x0,middleware['resetIndicesStart']=![],middleware['retain']=function(){e++;},middleware['release']=function(){if(e===0x0){cc['warn']('middleware\x20reference\x20error:\x20reference\x20count\x20should\x20be\x20greater\x20than\x200');return;}e--;if(e===0x0){const q=f['root']['batcher2D'],r=m[g];for(let t=0x0;t{if(!f['has'](k['requestURL']))return;let {onComplete:l}=f['remove'](k['requestURL']);l&&l(null,k['storagePath']);}),e['setOnTaskError']((k,l,m,n)=>{if(!f['has'](k['requestURL']))return;let {onComplete:o}=f['remove'](k['requestURL']);cc['error']('Download\x20file\x20failed:\x20path:\x20'+k['requestURL']+'\x20message:\x20'+n+',\x20'+l),o(new Error(n),null);}),e['setOnTaskProgress']((k,l,m,n)=>{if(!f['has'](k['requestURL']))return;let {onProgress:o}=f['get'](k['requestURL']);o&&o(m,n);});},'getUserDataPath'(){return d['getWritablePath']()['replace'](/[\/\\]*$/,'');},'checkFsValid'(){if(!d)return cc['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile'(i,j){var k=d['removeFile'](i);k===!![]?j&&j(null):(cc['warn']('Delete\x20file\x20failed:\x20path:\x20'+i),j&&j(new Error('delete\x20file\x20failed')));},'downloadFile'(i,j,k,l,m){f['add'](i,{'onProgress':l,'onComplete':m});var n=j;if(!n)n=g+'/'+performance['now']()+cc['path']['extname'](i);e['createDownloadFileTask'](i,n,k);},'saveFile'(i,j,k){var l=null;let m=d['writeDataToFile'](d['getDataFromFile'](i),j);d['removeFile'](i),!m&&(l=new Error('Save\x20file\x20failed:\x20path:\x20'+i),cc['warn'](l['message'])),k&&k(l);},'copyFile'(i,j,k){var l=null;let m=d['writeDataToFile'](d['getDataFromFile'](i),j);!m&&(l=new Error('Copy\x20file\x20failed:\x20path:\x20'+i),cc['warn'](l['message'])),k&&k(l);},'writeFile'(i,j,k,l){var m=null,n=null;k==='utf-8'||k==='utf8'?m=d['writeStringToFile'](j,i):m=d['writeDataToFile'](j,i),!m&&(n=new Error('Write\x20file\x20failed:\x20path:\x20'+i),cc['warn'](n['message'])),l&&l(n);},'writeFileSync'(i,j,k){var l=null;k==='utf-8'||k==='utf8'?l=d['writeStringToFile'](j,i):l=d['writeDataToFile'](j,i);if(!l)return cc['warn']('Write\x20file\x20failed:\x20path:\x20'+i),new Error('Write\x20file\x20failed:\x20path:\x20'+i);},'readFile'(i,j,k){var l=null,m=null;j==='utf-8'||j==='utf8'?l=d['getStringFromFile'](i):l=d['getDataFromFile'](i),!l&&(m=new Error('Read\x20file\x20failed:\x20path:\x20'+i),cc['warn'](m['message'])),k&&k(m,l);},'readDir'(i,j){var k=null,l=null;try{k=d['listFiles'](i);}catch(m){cc['warn']('Read\x20dir\x20failed:\x20path:\x20'+i+'\x20message:\x20'+m['message']),l=new Error(m['message']);}j&&j(l,k);},'readText'(i,j){h['readFile'](i,'utf8',j);},'readArrayBuffer'(i,j){h['readFile'](i,'',j);},'readJson'(i,j){h['readFile'](i,'utf8',function(k,l){var m=null;if(!k)try{m=JSON['parse'](l);}catch(n){cc['warn']('Read\x20json\x20failed:\x20path:\x20'+i+'\x20message:\x20'+n['message']),k=new Error(n['message']);}j&&j(k,m);});},'readJsonSync'(i){try{var j=d['getStringFromFile'](i);return JSON['parse'](j);}catch(k){return cc['warn']('Read\x20json\x20failed:\x20path:\x20'+i+'\x20message:\x20'+k['message']),new Error(k['message']);}},'makeDirSync'(i,j){let k=d['createDirectory'](i);if(!k)return cc['warn']('Make\x20directory\x20failed:\x20path:\x20'+i),new Error('Make\x20directory\x20failed:\x20path:\x20'+i);},'rmdirSync'(i,j){let k=d['removeDirectory'](i);if(!k)return cc['warn']('rm\x20directory\x20failed:\x20path:\x20'+i),new Error('rm\x20directory\x20failed:\x20path:\x20'+i);},'exists'(i,j){var k=d['isFileExist'](i);j&&j(k);},'loadSubpackage'(i,j,k){throw new Error('not\x20implement');}};window['fsUtils']=b['exports']=h;},{}],0x8:[function(a,b,c){'use strict';cc['game']['restart']=function(){cc['director']['getScene']()['destroy'](),cc['Object']['_deferredDestroy'](),__restartVM();},jsb['onError'](function(d,e,f){console['error'](d,e,f);}),jsb['onMemoryWarning']=function(){cc['game']['emit'](cc['Game']['EVENT_LOW_MEMORY']);};},{}],0x9:[function(a,b,c){'use strict';let d={'texImagesToBuffers':function(s){if(s){let t=[];for(let u=0x0;u=q&&delete p[J]):p[J]={'retryCount':0x0,'storagePath':Q};N(S,null);return;}delete p[J],K(T,L,function(U,V){!U&&d['cacheFile'](J,Q,L['__cacheBundleRoot__']),N(U,V);});});}}}function u(J,K){var L=![],M=![];if(k['test'](J)){if(K['reload'])return{'url':J};else{var N=d['getCache'](J);N&&(M=!![],J=N);}}else L=!![];return{'url':J,'inLocal':L,'inCache':M};}function v(J,K,L){L(null,J);}function w(J,K,L){t(J,v,K,K['onFileProgress'],L);}function x(J){var K=J['lastIndexOf']('.ttf');if(K===-0x1)return J;var L=J['lastIndexOf']('/'),M;return L===-0x1?M=J['substring'](0x0,K)+'_LABEL':M=J['substring'](L+0x1,K)+'_LABEL',M['indexOf']('\x20')!==-0x1&&(M='\x22'+M+'\x22'),M;}function y(J,K,L){f(J,L);}function z(J,K,L){h(J,L);}function A(J,K,L){t(J,y,K,K['onFileProgress'],L);}function B(J,K,L){g(J,L);}function C(J,K,L){t(J,z,K,K['onFileProgress'],L);}function D(J,K,L){let M=cc['path']['basename'](J);var N=K['version']||l['bundleVers'][M];let O;k['test'](J)||J['startsWith'](i())?(O=J,d['makeBundleFolder'](M)):l['remoteBundles']['indexOf'](M)!==-0x1?(O=l['remoteServerAddress']+'remote/'+M,d['makeBundleFolder'](M)):O='assets/'+M;var P=O+'/config.'+(N?N+'.':'')+'json';K['__cacheBundleRoot__']=M,C(P,K,function(Q,R){if(Q)return L(Q,null);let S=R;S&&(S['base']=O+'/');var T=O+'/index.'+(N?N+'.':'')+(S['encrypted']?'jsc':'js');s(T,K,function(U){if(U)return L(U,null);L(null,S);});});};function E(J,K,L){let M=x(J),N=new FontFace(M,'url(\x27'+J+'\x27)');document['fonts']['add'](N),N['load'](),N['loaded']['then'](function(){L(null,M);},function(){cc['warnID'](0x1345,M),L(null,M);});}const F=m['parsePlist'];let G=function(J,K,L){f(J,function(M,N){if(M)return L(M);F(N,K,L);});};m['parsePVRTex']=l['downloadDomImage'],m['parsePKMTex']=l['downloadDomImage'],m['parseASTCTex']=l['downloadDomImage'],m['parsePlist']=G,l['downloadScript']=s;function H(J,K,L){cc['AudioPlayer']['load'](J)['then'](M=>{const N={'url':J,'duration':M['duration'],'type':M['type']};M['destroy'](),L(null,N);})['catch'](M=>{L(M);});}l['register']({'.js':s,'.jsc':s,'.png':w,'.jpg':w,'.bmp':w,'.jpeg':w,'.gif':w,'.ico':w,'.tiff':w,'.webp':w,'.image':w,'.pvr':w,'.pkm':w,'.astc':w,'.mp3':w,'.ogg':w,'.wav':w,'.m4a':w,'.mp4':w,'.avi':w,'.mov':w,'.mpg':w,'.mpeg':w,'.rm':w,'.rmvb':w,'.txt':w,'.xml':w,'.vsh':w,'.fsh':w,'.atlas':w,'.tmx':w,'.tsx':w,'.fnt':w,'.plist':w,'.json':C,'.ExportJson':w,'.binary':w,'.bin':w,'.dbbin':w,'.skel':w,'.font':w,'.eot':w,'.ttf':w,'.woff':w,'.svg':w,'.ttc':w,'bundle':D,'default':A}),m['register']({'.png':l['downloadDomImage'],'.jpg':l['downloadDomImage'],'.bmp':l['downloadDomImage'],'.jpeg':l['downloadDomImage'],'.gif':l['downloadDomImage'],'.ico':l['downloadDomImage'],'.tiff':l['downloadDomImage'],'.webp':l['downloadDomImage'],'.image':l['downloadDomImage'],'.mp3':H,'.ogg':H,'.wav':H,'.m4a':H,'.pvr':l['downloadDomImage'],'.pkm':l['downloadDomImage'],'.astc':l['downloadDomImage'],'.binary':B,'.bin':B,'.dbbin':B,'.skel':B,'.txt':y,'.xml':y,'.vsh':y,'.fsh':y,'.atlas':y,'.tmx':y,'.tsx':y,'.fnt':y,'.plist':G,'.font':E,'.eot':E,'.ttf':E,'.woff':E,'.svg':E,'.ttc':E,'.ExportJson':z}),cc['assetManager']['transformPipeline']['append'](function(J){var K=J['output']=J['input'];for(var L=0x0,M=K['length'];L0x0?l['pop']():new n(i);S['colliderA']=L,S['colliderB']=M,S['impl']=O,S['index']=R,P['push'](S);}L['needCollisionEvent']&&(i['selfCollider']=L,i['otherCollider']=M,L['emit'](K,i)),M['needCollisionEvent']&&(i['selfCollider']=M,i['otherCollider']=L,M['emit'](K,i));}class p{get['impl'](){return this['_impl'];}constructor(){this['_impl']=new d['World']();}['setGravity'](K){this['_impl']['setGravity'](K['x'],K['y'],K['z']);}['setAllowSleep'](K){this['_impl']['setAllowSleep'](K);}['setDefaultMaterial'](K){}['step'](K,L,M){e['forEach'](N=>{N['syncToNativeTransform']();}),this['_impl']['step'](K);}['raycast'](K,L,M,N){g['origin']=K['o'],g['unitDir']=K['d'],g['mask']=L['mask']>>>0x0,g['distance']=L['maxDistance'],g['queryTrigger']=!!L['queryTrigger'];const O=this['_impl']['raycast'](g);if(O){const P=this['_impl']['raycastResult']();for(let Q=0x0;Q>>0x0,g['distance']=L['maxDistance'],g['queryTrigger']=!!L['queryTrigger'];const N=this['_impl']['raycastClosest'](g);if(N){const O=this['_impl']['raycastClosestResult']();M['_assign'](O['hitPoint'],O['distance'],f[O['shape']]['collider'],O['hitNormal']);}return N;}['emitEvents'](){this['emitTriggerEvent'](),this['emitCollisionEvent'](),this['_impl']['emitEvents']();}['syncSceneToPhysics'](){e['forEach'](K=>{K['updateWorldTransform']();}),this['_impl']['syncSceneToPhysics']();}['syncAfterEvents'](){e['forEach'](K=>{K['syncFromNativeTransform']();});}['destroy'](){this['_impl']['destroy']();}['emitTriggerEvent'](){const K=this['_impl']['getTriggerEventPairs'](),L=K['length']/0x3;for(let M=0x0;M0x0&&(M['updateArray']['forEach'](N=>{const O=''+(0x1<>>0x0);}['getMask'](){return this['_impl']['getMask']();}['addMask'](K){this['setMask'](this['getMask']()|K);}['removeMask'](K){this['setMask'](this['getMask']()&~K);}['setType'](K){this['_impl']['setType'](K);}['setMass'](K){this['_impl']['setMass'](K);}['setAllowSleep'](K){this['_impl']['setAllowSleep'](K);}['setLinearDamping'](K){this['_impl']['setLinearDamping'](K);}['setAngularDamping'](K){this['_impl']['setAngularDamping'](K);}['useGravity'](K){this['_impl']['useGravity'](K);}['setLinearFactor'](K){this['_impl']['setLinearFactor'](K['x'],K['y'],K['z']);}['setAngularFactor'](K){this['_impl']['setAngularFactor'](K['x'],K['y'],K['z']);}['wakeUp'](){this['_impl']['wakeUp']();}['sleep'](){this['_impl']['sleep']();}['clearState'](){this['_impl']['clearState']();}['clearForces'](){this['_impl']['clearForces']();}['clearVelocity'](){this['_impl']['clearVelocity']();}['setSleepThreshold'](K){this['_impl']['setSleepThreshold'](K);}['getSleepThreshold'](){return this['_impl']['getSleepThreshold']();}['getLinearVelocity'](K){K['set'](this['_impl']['getLinearVelocity']());}['setLinearVelocity'](K){this['_impl']['setLinearVelocity'](K['x'],K['y'],K['z']);}['getAngularVelocity'](K){K['set'](this['_impl']['getAngularVelocity']());}['setAngularVelocity'](K){this['_impl']['setAngularVelocity'](K['x'],K['y'],K['z']);}['applyForce'](K,L){L==null&&(L=cc['Vec3']['ZERO']),this['_impl']['applyForce'](K['x'],K['y'],K['z'],L['x'],L['y'],L['z']);}['applyLocalForce'](K,L){L==null&&(L=cc['Vec3']['ZERO']),this['_impl']['applyLocalForce'](K['x'],K['y'],K['z'],L['x'],L['y'],L['z']);}['applyImpulse'](K,L){L==null&&(L=cc['Vec3']['ZERO']),this['_impl']['applyImpulse'](K['x'],K['y'],K['z'],L['x'],L['y'],L['z']);}['applyLocalImpulse'](K,L){L==null&&(L=cc['Vec3']['ZERO']),this['_impl']['applyLocalImpulse'](K['x'],K['y'],K['z'],L['x'],L['y'],L['z']);}['applyTorque'](K){this['_impl']['applyTorque'](K['x'],K['y'],K['z']);}['applyLocalTorque'](K){this['_impl']['applyLocalTorque'](K['x'],K['y'],K['z']);}}const u={'NONE':0x0,'QUERY_FILTER':0x1<<0x0,'QUERY_SINGLE_HIT':0x1<<0x2,'DETECT_TRIGGER_EVENT':0x1<<0x3,'DETECT_CONTACT_EVENT':0x1<<0x4,'DETECT_CONTACT_POINT':0x1<<0x5,'DETECT_CONTACT_CCD':0x1<<0x6};class v{get['impl'](){return this['_impl'];}get['collider'](){return this['_com'];}get['attachedRigidBody'](){return this['_attachedRigidBody'];}constructor(){s();}['initialize'](K){K['node']['updateWorldTransform'](),this['_com']=K,this['_impl']['initialize'](K['node']['handle']),f[this['_impl']['getImpl']()]=this,q(K['node']);}['onLoad'](){this['setMaterial'](this['_com']['sharedMaterial']),this['setCenter'](this['_com']['center']),this['setAsTrigger'](this['_com']['isTrigger']);}['onEnable'](){this['_impl']['onEnable']();}['onDisable'](){this['_impl']['onDisable']();}['onDestroy'](){r(this['_com']['node']),f[this['_impl']['getImpl']()]=null,delete f[this['_impl']['getImpl']()],this['_impl']['onDestroy']();}['setMaterial'](K){const L=cc['PhysicsSystem']['instance'];if(!K)K=L['defaultMaterial'];!d['CACHE']['material'][K['id']]&&(d['CACHE']['material'][K['id']]=L['physicsWorld']['impl']['createMaterial'](K['id'],K['friction'],K['friction'],K['restitution'],0x2,0x2)),this['_impl']['setMaterial'](K['id'],K['friction'],K['friction'],K['restitution'],0x2,0x2);}['setAsTrigger'](K){this['_impl']['setAsTrigger'](K);}['setCenter'](K){this['_impl']['setCenter'](K['x'],K['y'],K['z']);}['getAABB'](K){}['getBoundingSphere'](K){}['updateEventListener'](){var K=0x0;K|=u['DETECT_CONTACT_CCD'];if(this['_com']['isTrigger'])K|=u['IS_TRIGGER'];if(this['_com']['needTriggerEvent']||this['_com']['needCollisionEvent'])K|=u['NEED_EVENT'];this['_impl']['updateEventListener'](K);}['setGroup'](K){this['_impl']['setGroup'](K);}['getGroup'](){return this['_impl']['getGroup']();}['addGroup'](K){this['setGroup'](this['getGroup']()|K);}['removeGroup'](K){this['setGroup'](this['getGroup']()&~K);}['setMask'](K){this['_impl']['setMask'](K>>>0x0);}['getMask'](){return this['_impl']['getMask']();}['addMask'](K){this['setMask'](this['getMask']()|K);}['removeMask'](K){this['setMask'](this['getMask']()&~K);}}class w extends v{constructor(){super(),this['_impl']=new d['SphereShape']();}['setRadius'](K){this['_impl']['setRadius'](K);}['onLoad'](){super['onLoad'](),this['setRadius'](this['_com']['radius']);}}class x extends v{constructor(){super(),this['_impl']=new d['BoxShape']();}['setSize'](K){this['_impl']['setSize'](K['x'],K['y'],K['z']);}['onLoad'](){super['onLoad'](),this['setSize'](this['_com']['size']);}}class y extends v{constructor(){super(),this['_impl']=new d['CapsuleShape']();}['setRadius'](K){this['_impl']['setRadius'](K);}['setDirection'](K){this['_impl']['setDirection'](K);}['setCylinderHeight'](K){this['_impl']['setCylinderHeight'](K);}['onLoad'](){super['onLoad'](),this['setRadius'](this['_com']['radius']),this['setDirection'](this['_com']['direction']),this['setCylinderHeight'](this['_com']['cylinderHeight']);}}class z extends v{constructor(){super(),this['_impl']=new d['PlaneShape']();}['setConstant'](K){this['_impl']['setConstant'](K);}['setNormal'](K){this['_impl']['setNormal'](K['x'],K['y'],K['z']);}['onLoad'](){super['onLoad'](),this['setNormal'](this['_com']['normal']),this['setConstant'](this['_com']['constant']);}}function A(K){if(!d['CACHE']['convex'][K['_uuid']]){const L=cc['physics']['utils']['shrinkPositions'](K['readAttribute'](0x0,'a_position')),M=cc['PhysicsSystem']['instance']['physicsWorld']['impl'],N={'positions':new Float32Array(L),'positionLength':L['length']/0x3};d['CACHE']['convex'][K['_uuid']]=M['createConvex'](N);}return d['CACHE']['convex'][K['_uuid']];}function B(K){if(!d['CACHE']['trimesh'][K['_uuid']]){const L=K['readIndices'](0x0),M=K['readAttribute'](0x0,'a_position'),N=cc['PhysicsSystem']['instance']['physicsWorld']['impl'],O={'positions':new Float32Array(M),'positionLength':M['length']/0x3,'triangles':new Uint16Array(L),'triangleLength':L['length']/0x3,'isU16':!![]};d['CACHE']['trimesh'][K['_uuid']]=N['createTrimesh'](O);}return d['CACHE']['trimesh'][K['_uuid']];}function C(K){if(!d['CACHE']['height'][K['_uuid']]){const L=K['getVertexCountI'](),M=K['getVertexCountJ'](),N=new Int16Array(L*M),O=d['CONFIG']['heightScale'];for(let R=0x0;R{this['updateArea']();},0xc8);}});}},{}],0xe:[function(a,b,c){'use strict';const d=a('./jsb-cache-manager');(function(){if(window['spine']===undefined||window['middleware']===undefined)return;middleware['generateGetSet'](spine),Object['defineProperty'](spine,'timeScale',{'get'(){return this['_timeScale'];},'set'(E){this['_timeScale']=E,spine['SkeletonAnimation']['setGlobalTimeScale'](E);},'configurable':!![]});let e=cc['color'](0x0,0x0,0xff,0xff),f=cc['color'](0xff,0x0,0x0,0xff),g=cc['color'](0xff,0xff,0x0,0xff),h=cc['color'](0x0,0xff,0x0,0xff),i=cc['internal']['SpineSkeletonData']['prototype'],j=0x1,k={},l=new WeakMap(),m=spine['SkeletonDataMgr']['getInstance']();spine['skeletonDataMgr']=m,m['setDestroyCallback'](function(E){if(!E)return;let F=k[E];F&&l['has'](F)&&(l['delete'](F),delete k[E]);});let n=spine['SkeletonCacheMgr']['getInstance']();spine['skeletonCacheMgr']=n,i['destroy']=function(){this['reset'](),n['removeSkeletonCache'](this['_uuid']),cc['Asset']['prototype']['destroy']['call'](this);},i['reset']=function(){this['_skeletonCache']&&(spine['disposeSkeletonData'](this['_uuid']),this['_jsbTextures']=null,this['_skeletonCache']=null),this['_atlasCache']=null;},i['getRuntimeData']=function(){return!this['_skeletonCache']&&this['init'](),this['_skeletonCache'];},i['init']=function(){if(this['_skeletonCache'])return;let E=this['_uuid'];if(!E){cc['errorID'](0x1d50);return;}let F=spine['retainSkeletonData'](E);if(F){this['_skeletonCache']=F,this['width']=this['_skeletonCache']['getWidth'](),this['height']=this['_skeletonCache']['getHeight']();return;}let G=this['atlasText'];if(!G){cc['errorID'](0x1d54,this['name']);return;}let H=this['textures'],I=this['textureNames'];if(!(H&&H['length']>0x0&&I&&I['length']>0x0)){cc['errorID'](0x1d53,this['name']);return;}let J={};for(let L=0x0;L0x0&&H&&H['length']>0x0)){cc['errorID'](0x1d53,E['name']);return;}this['_nativeSkeleton']&&(this['_nativeSkeleton']['stopSchedule'](),this['_nativeSkeleton']['_comp']=null,this['_nativeSkeleton']=null);let I=null;if(this['isAnimationCached']())I=new spine['SkeletonCacheAnimation'](F,this['_cacheMode']==q['SHARED_CACHE']);else{I=new spine['SkeletonAnimation']();try{spine['initSkeletonRenderer'](I,F);}catch(L){cc['_throw'](L);return;}I['setDebugSlotsEnabled'](this['debugSlots']),I['setDebugMeshEnabled'](this['debugMesh']),I['setDebugBonesEnabled'](this['debugBones']);}this['_nativeSkeleton']=I,I['_comp']=this,I['setUseTint'](this['useTint']),I['setOpacityModifyRGB'](this['premultipliedAlpha']),I['setTimeScale'](this['timeScale']),I['setBatchEnabled'](this['enableBatch']);let J=this['color'];I['setColor'](J['r'],J['g'],J['b'],J['a']),this['_skeleton']=I['getSkeleton'](),this['_startListener']&&this['setStartListener'](this['_startListener']),this['_endListener']&&this['setEndListener'](this['_endListener']),this['_completeListener']&&this['setCompleteListener'](this['_completeListener']),this['_eventListener']&&this['setEventListener'](this['_eventListener']),this['_interruptListener']&&this['setInterruptListener'](this['_interruptListener']),this['_disposeListener']&&this['setDisposeListener'](this['_disposeListener']),this['_sharedBufferOffset']=I['getSharedBufferOffset'](),this['_sharedBufferOffset'][0x0]=0x0,this['_useAttach']=![],this['_renderOrder']=-0x1,this['_paramsBuffer']=I['getParamsBuffer'](),this['syncTransform'](!![]),this['markForUpdateRenderData']();},p['_updateColor']=function(){if(this['_nativeSkeleton']){let E=this['color'];this['_nativeSkeleton']['setColor'](E['r'],E['g'],E['b'],E['a']);}},p['setAnimationStateData']=function(E){if(this['_nativeSkeleton']&&!this['isAnimationCached']())return this['_stateData']=E,this['_nativeSkeleton']['setAnimationStateData'](E);};let u=p['onEnable'];p['onEnable']=function(){u&&u['call'](this),this['_nativeSkeleton']&&this['_nativeSkeleton']['onEnable'](),this['syncTransform'](!![]),middleware['retain']();};let v=p['onDisable'];p['onDisable']=function(){v&&v['call'](this),this['_nativeSkeleton']&&this['_nativeSkeleton']['onDisable'](),middleware['release']();},p['setVertexEffectDelegate']=function(E){this['_nativeSkeleton']&&!this['isAnimationCached']()&&this['_nativeSkeleton']['setVertexEffectDelegate'](E);},p['syncTransform']=function(E){let F=this['node'];if(!F)return;let G=this['_paramsBuffer'];if(!G)return;if(E||F['hasChangedFlags']){F['updateWorldTransform']();let H=F['_mat'];G[0x1]=H['m00'],G[0x2]=H['m01'],G[0x3]=H['m02'],G[0x4]=H['m03'],G[0x5]=H['m04'],G[0x6]=H['m05'],G[0x7]=H['m06'],G[0x8]=H['m07'],G[0x9]=H['m08'],G[0xa]=H['m09'],G[0xb]=H['m10'],G[0xc]=H['m11'],G[0xd]=H['m12'],G[0xe]=H['m13'],G[0xf]=H['m14'],G[0x10]=H['m15'];}};let w=p['lateUpdate'];p['lateUpdate']=function(){if(w)w['call'](this);let E=this['_nativeSkeleton'];if(!E)return;let F=this['node'];if(!F)return;let G=this['_paramsBuffer'];this['_renderOrder']!=middleware['renderOrder']&&(G[0x0]=middleware['renderOrder'],this['_renderOrder']=middleware['renderOrder'],middleware['renderOrder']++);this['syncTransform']();if(this['__preColor__']===undefined||!this['color']['equals'](this['__preColor__'])){let I=this['color'];E['setColor'](I['r'],I['g'],I['b'],I['a']),this['__preColor__']=I;}const H=this['socketNodes'];!this['_useAttach']&&H['size']>0x0&&(this['_useAttach']=!![],E['setAttachEnabled'](!![]));if(!this['isAnimationCached']()&&(this['debugBones']||this['debugSlots']||this['debugMesh'])&&this['_debugRenderer']){let J=this['_debugRenderer'];J['clear'](),J['lineWidth']=0x5;let K=this['_debugData']||E['getDebugData']();if(!K)return;let L=0x0,M=0x0,N=0x0;while(!![]){M=K[L++];if(M==0x0)break;N=K[L++];switch(M){case 0x1:J['strokeColor']=e;for(let O=0x0;O0x0){let T=middleware['attachInfoMgr'],U=T['attachInfo'],V=H[0x1];H[0x1]=0x0;for(const W of J['keys']()){const X=J['get'](W);if(!X||!X['isValid']){J['delete'](W);continue;}let Y=y,Z=V+W*0x10;Y['m00']=U[Z],Y['m01']=U[Z+0x1],Y['m04']=U[Z+0x4],Y['m05']=U[Z+0x5],Y['m12']=U[Z+0xc],Y['m13']=U[Z+0xd],X['matrix']=Y,X['scale']=this['node']['scale'];}}let K=middleware['renderInfoMgr'],L=K['renderInfo'],M=0x0,N,O,P=L[I+M++];if(P!==0xffffffff)return;let Q=L[I+M++],R=this['useTint']||this['isAnimationCached'](),S=R?middleware['vfmtPosUvTwoColor']:middleware['vfmtPosUvColor'];z=S;if(Q==0x0)return;for(let a0=0x0;a0{this['_forceUpdate']=!![],this['dispatchEvent'](d['LOADED']);},l=()=>{this['dispatchEvent'](d['ERROR']);};this['webview']['setOnDidFinishLoading'](k),this['webview']['setOnDidFailLoading'](l),this['jsCallback']&&this['setOnJSCallback'](this['jsCallback']),this['interfaceSchema']&&this['setJavascriptInterfaceScheme'](this['interfaceSchema']),this['jsCallback']=null,this['interfaceSchema']=null;}['createWebView'](){if(!jsb['WebView']){console['warn']('jsb.WebView\x20is\x20null');return;}this['_webview']=jsb['WebView']['create'](),this['_bindEvent']();}['removeWebView'](){let k=this['webview'];k&&(this['webview']['destroy'](),this['reset']());}['disable'](){this['webview']&&this['webview']['setVisible'](![]);}['enable'](){this['webview']&&this['webview']['setVisible'](!![]);}['setOnJSCallback'](k){let l=this['webview'];l?l['setOnJSCallback'](k):this['jsCallback']=k;}['setJavascriptInterfaceScheme'](k){let l=this['webview'];l?l['setJavascriptInterfaceScheme'](k):this['interfaceSchema']=k;}['loadURL'](k){let l=this['webview'];l&&(l['src']=k,l['loadURL'](k),this['dispatchEvent'](d['LOADING']));}['evaluateJS'](k){let l=this['webview'];if(l)return l['evaluateJS'](k);}['syncMatrix'](){if(!this['_webview']||!this['_component']||!this['_uiTrans'])return;const k=this['UICamera'];if(!k)return;this['_component']['node']['getWorldMatrix'](g);const {width:l,height:m}=this['_uiTrans']['contentSize'];if(!this['_forceUpdate']&&k['matViewProj']['equals'](this['_matViewProj_temp'])&&this['_m00']===g['m00']&&this['_m01']===g['m01']&&this['_m04']===g['m04']&&this['_m05']===g['m05']&&this['_m12']===g['m12']&&this['_m13']===g['m13']&&this['_w']===l&&this['_h']===m)return;this['_matViewProj_temp']['set'](k['matViewProj']),this['_m00']=g['m00'],this['_m01']=g['m01'],this['_m04']=g['m04'],this['_m05']=g['m05'],this['_m12']=g['m12'],this['_m13']=g['m13'],this['_w']=l,this['_h']=m;let n=cc['game']['canvas']['width'],o=cc['game']['canvas']['height'],p=this['_uiTrans']['anchorPoint'];e['set'](h,-p['x']*this['_w'],(0x1-p['y'])*this['_h'],0x0),e['set'](i,(0x1-p['x'])*this['_w'],-p['y']*this['_h'],0x0),e['transformMat4'](h,h,g),e['transformMat4'](i,i,g),k['update'](),k['worldToScreen'](h,h),k['worldToScreen'](i,i);let q=i['x']-h['x'],r=h['y']-i['y'];this['_webview']['setFrame'](h['x'],o-h['y'],q,r),this['_forceUpdate']=![];}}}},{}]},{},[0x1])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/native/web-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/native/web-adapter.js +deleted file mode 100644 +index 0b2cc56..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/native/web-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x1)for(var u=0x1;u=0x0&&(l['_idleTimeoutId']=setTimeout(function n(){if(l['_onTimeout'])l['_onTimeout']();},m));},c['setImmediate']=typeof d==='function'?d:function(l){var m=j++,n=arguments['length']<0x2?![]:h['call'](arguments,0x1);return i[m]=!![],f(function o(){i[m]&&(n?l['apply'](null,n):l['call'](null),c['clearImmediate'](m));}),m;},c['clearImmediate']=typeof e==='function'?e:function(l){delete i[l];};}['call'](this));}['call'](this,a('timers')['setImmediate'],a('timers')['clearImmediate']));},{'process/browser.js':0x1,'timers':0x2}],0x3:[function(a,b,c){(function(d){(function(){'use strict';(function(e){(function(f){if(typeof define==='function'&&define['amd'])define(['exports'],f);else typeof c==='object'&&typeof c['nodeName']!=='string'?f(c):f(e);}(f=>{f['URL']=e['URL']||e['webkitURL'];if(e['Blob']&&e['URL'])try{new Blob();return;}catch(i){}const g=e['BlobBuilder']||e['WebKitBlobBuilder']||e['MozBlobBuilder']||(function(){const j=function(B){return Object['prototype']['toString']['call'](B)['match'](/^\[object\s(.*)\]$/)[0x1];},k=function B(){this['data']=[];},l=function C(D,E,F){this['data']=D,this['size']=D['length'],this['type']=E,this['encoding']=F;},m=k['prototype'],n=l['prototype'],o=e['FileReaderSync'],p=function(D){this['code']=this[this['name']=D];},q=('NOT_FOUND_ERR\x20SECURITY_ERR\x20ABORT_ERR\x20NOT_READABLE_ERR\x20ENCODING_ERR\x20'+'NO_MODIFICATION_ALLOWED_ERR\x20INVALID_STATE_ERR\x20SYNTAX_ERR')['split']('\x20');let r=q['length'];const s=e['URL']||e['webkitURL']||f,t=s['createObjectURL'],u=s['revokeObjectURL'];let v=s;const w=e['btoa'],x=e['atob'],y=e['ArrayBuffer'],z=e['Uint8Array'],A=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;l['fake']=n['fake']=!![];while(r--){p['prototype'][q[r]]=r+0x1;}return!s['createObjectURL']&&(v=f['URL']=function(D){const E=document['createElementNS']('http://www.w3.org/1999/xhtml','a');let F;return E['href']=D,!('origin'in E)&&(E['protocol']['toLowerCase']()==='data:'?E['origin']=null:(F=D['match'](A),E['origin']=F&&F[0x1])),E;}),v['createObjectURL']=function(D){let E=D['type'],F;E===null&&(E='application/octet-stream');if(D instanceof l){F='data:'+E;if(D['encoding']==='base64')return F+';base64,'+D['data'];else{if(D['encoding']==='URI')return F+','+decodeURIComponent(D['data']);}return w?F+';base64,'+w(D['data']):F+','+encodeURIComponent(D['data']);}else{if(t)return t['call'](s,D);}},v['revokeObjectURL']=function(D){D['substring'](0x0,0x5)!=='data:'&&u&&u['call'](s,D);},m['append']=function(D){const E=this['data'];if(z&&(D instanceof y||D instanceof z)){let F='';const G=new z(D);let H=0x0;const I=G['length'];for(;H0x1?E:this['data']['length']),F,this['encoding']);},n['toString']=function(){return'[object\x20Blob]';},n['close']=function(){this['size']=0x0,delete this['data'];},k;}());f['Blob']=function(j,k){const l=k?k['type']||'':'',m=new g();if(j)for(let o=0x0,p=j['length'];o>0x8-m%0x1*0x8)){if(k=l['charCodeAt'](m+=0.75),k>0xff)throw new d('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');j=j<<0x8|k;}return q;}),f['atob']||(f['atob']=function(h){var j=String(h)['replace'](/[=]+$/,'');if(j['length']%0x4==0x1)throw new d('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var k,l,m=0x0,p=0x0,q='';l=j['charAt'](p++);~l&&(k=m%0x4?0x40*k+l:l,m++%0x4)?q+=String['fromCharCode'](0xff&k>>(-0x2*m&0x6)):0x0)l=g['indexOf'](l);return q;});}());},{}],0x5:[function(a,b,c){'use strict';globalThis['__EDITOR__']=globalThis['process']&&'electron'in globalThis['process']['versions'],a('./wasm');const d=a('../jsbWindow');jsb['device']=jsb['Device'];const {btoa:e,atob:f}=a('./base64/base64.min');d['btoa']=e,d['atob']=f;const {Blob:g,URL:h}=a('./Blob');d['Blob']=g,d['URL']=h,d['DOMParser']=a('./xmldom/dom-parser')['DOMParser'],d['XMLHttpRequest']=jsb['XMLHttpRequest'],d['SocketIO']=jsb['SocketIO'],d['WebSocket']=jsb['WebSocket'],a('./jsb_prepare'),a('./jsb-adapter'),a('./jsb_audioengine'),a('./jsb_input');let i=null,j=0x0;const k={};let l=!![];d['requestAnimationFrame']=function(s){const t=++j;return k[t]=s,t;},d['cancelAnimationFrame']=function(s){delete k[s];};function m(s){if(l){l=![];if(d['onload']){const t=new Event('load');t['_target']=globalThis,d['onload'](t);}}q(s);for(const u in k){i=k[u],i&&(delete k[u],i(s));}}let n=0x0;class o{constructor(s,t,u,v,w){this['cb']=s,this['id']=++n,this['start']=performance['now'](),this['delay']=t,this['isRepeat']=u,this['target']=v,this['args']=w;}}const p={};function q(s){let t;for(const u in p){t=p[u];if(t&&t['cb']){if(s-t['start']>=t['delay']){t['isRepeat']?t['start']=s:delete p[u];if(typeof t['cb']==='string')Function(t['cb'])();else typeof t['cb']==='function'&&t['cb']['apply'](t['target'],t['args']);}}}}function r(s,t){const u=s[0x0];if(!u)return console['error']('createTimeoutInfo\x20doesn\x27t\x20pass\x20a\x20callback\x20...'),0x0;const v=s['length']>0x1?s[0x1]:0x0;let w;s['length']>0x2&&(w=Array['prototype']['slice']['call'](s,0x2));const x=new o(u,v,t,this,w);return p[x['id']]=x,x['id'];}window['oh']&&window['scriptEngineType']==='napi'?console['log']('Openharmony\x20with\x20napi\x20has\x20alreay\x20implemented\x20setTimeout/setInterval'):(d['setTimeout']=function(s){return r(arguments,![]);},d['clearTimeout']=function(s){delete p[s];},d['setInterval']=function(s){return r(arguments,!![]);},d['clearInterval']=d['clearTimeout']);d['alert']=console['error']['bind'](console);typeof jsb['FileUtils']!=='undefined'&&(jsb['fileUtils']=jsb['FileUtils']['getInstance'](),delete jsb['FileUtils']);d['XMLHttpRequest']['prototype']['addEventListener']=function(s,t,u){this['on'+s]=t;},d['XMLHttpRequest']['prototype']['removeEventListener']=function(s,t,u){this['on'+s]=null;};d['SocketIO']&&(d['io']=d['SocketIO'],d['SocketIO']['prototype']['_Emit']=d['SocketIO']['prototype']['emit'],d['SocketIO']['prototype']['emit']=function(s,t){typeof t==='object'&&(t=JSON['stringify'](t)),this['_Emit'](s,t);});d['gameTick']=m,jsb['generateGetSet']=function(s){for(const t in s){const u=s[t]&&s[t]['prototype'];if(!u)continue;for(const v in u){const w=v['search'](/^get/);if(w==-0x1)continue;let x=v['replace'](/^get/,'');const y=x['split'](''),z=y[0x0]['toLowerCase'](),A=y[0x0]['toUpperCase']();y['splice'](0x0,0x1);const B=y['join']('');x=z+B;const C='set'+A+B;if(u['hasOwnProperty'](x))continue;const D=u[C],E=typeof D==='function';E?Object['defineProperty'](u,x,{'get'(){return this[v]();},'set'(F){this[C](F);},'configurable':!![]}):Object['defineProperty'](u,x,{'get'(){return this[v]();},'configurable':!![]});}}};for(const s in d){globalThis[s]===undefined&&(globalThis[s]=d[s]);}typeof globalThis['window']==='undefined'&&(globalThis['window']=globalThis),a('./promise.min');},{'../jsbWindow':0x2c,'./Blob':0x3,'./base64/base64.min':0x4,'./jsb-adapter':0x1e,'./jsb_audioengine':0x23,'./jsb_input':0x24,'./jsb_prepare':0x25,'./promise.min':0x26,'./wasm':0x27,'./xmldom/dom-parser':0x28}],0x6:[function(a,b,c){'use strict';const d=a('./ImageData');class e{constructor(){this['lineWidth']=undefined,this['lineJoin']=undefined,this['fillStyle']=undefined,this['font']=undefined,this['lineCap']=undefined,this['textAlign']=undefined,this['textBaseline']=undefined,this['strokeStyle']=undefined,this['globalCompositeOperation']=undefined,this['shadowBlur']=undefined,this['shadowColor']=undefined,this['shadowOffsetX']=undefined,this['shadowOffsetY']=undefined;}}jsb['CanvasRenderingContext2D']['prototype']['_ctor']=function(){this['__nativeRefs']={};};class f{constructor(g,h){this['_nativeObj']=new jsb['CanvasRenderingContext2D'](g,h),this['_attris']=new e();}get['width'](){return this['_nativeObj']['width'];}set['width'](g){this['_nativeObj']['width']=g;}get['height'](){return this['_nativeObj']['height'];}set['height'](g){this['_nativeObj']['height']=g;}get['lineWidth'](){return this['_attris']['lineWidth'];}set['lineWidth'](g){this['_attris']['lineWidth']=g;}get['lineJoin'](){return this['_attris']['lineJoin'];}set['lineJoin'](g){this['_attris']['lineJoin']=g;}get['fillStyle'](){return this['_attris']['fillStyle'];}set['fillStyle'](g){this['_attris']['fillStyle']=g;}get['font'](){return this['_attris']['font'];}set['font'](g){this['_attris']['font']=g;}get['lineCap'](){return this['_attris']['lineCap'];}set['lineCap'](g){this['_attris']['lineCap']=g;}get['textAlign'](){return this['_attris']['textAlign'];}set['textAlign'](g){this['_attris']['textAlign']=g;}get['textBaseline'](){return this['_attris']['textBaseline'];}set['textBaseline'](g){this['_attris']['textBaseline']=g;}get['strokeStyle'](){return this['_attris']['strokeStyle'];}set['strokeStyle'](g){this['_attris']['strokeStyle']=g;}get['globalCompositeOperation'](){return this['_attris']['globalCompositeOperation'];}set['globalCompositeOperation'](g){this['_attris']['globalCompositeOperation']=g;}get['shadowBlur'](){return this['_attris']['shadowBlur'];}set['shadowBlur'](g){this['_attris']['shadowBlur']=g;}get['shadowColor'](){return this['_attris']['shadowColor'];}set['shadowColor'](g){this['_attris']['shadowColor']=g;}get['shadowOffsetX'](){return this['_attris']['shadowOffsetX'];}set['shadowOffsetX'](g){this['_attris']['shadowOffsetX']=g;}get['shadowOffsetY'](){return this['_attris']['shadowOffsetY'];}set['shadowOffsetY'](g){this['_attris']['shadowOffsetY']=g;}['restore'](){this['_nativeObj']['restore']();}['moveTo'](g,h){this['_nativeObj']['moveTo'](g,h);}['lineTo'](g,h){this['_nativeObj']['lineTo'](g,h);}['setTransform'](g,h,i,j,k,l){this['_nativeObj']['setTransform'](g,h,i,j,k,l);}['stroke'](){this['_canvas']['_dataInner']=null,this['_nativeObj']['stroke']();}['measureText'](g){return this['_nativeObj']['measureText'](g,this['_attris']);}['fill'](){this['_canvas']['_dataInner']=null,this['_nativeObj']['fill']();}['_fillImageData'](g,h,i,j,k){this['_canvas']['_dataInner']=null,this['_nativeObj']['_fillImageData'](g,h,i,j,k);}['scale'](g,h){this['_nativeObj']['scale'](g,h);}['clearRect'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['clearRect'](g,h,i,j);}['transform'](g,h,i,j,k,l){this['_nativeObj']['transform'](g,h,i,j,k,l);}['fillText'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['fillText'](g,h,i,j,this['_attris']);}['strokeText'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['strokeText'](g,h,i,j,this['_attris']);}['save'](){this['_nativeObj']['save']();}['fillRect'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['fillRect'](g,h,i,j,this['_attris']);}['fetchData'](){typeof this['_nativeObj']['fetchData']!=='undefined'&&this['_nativeObj']['fetchData']();}['rotate'](g){this['_nativeObj']['rotate'](g);}['beginPath'](){this['_nativeObj']['beginPath']();}['rect'](g,h,i,j){this['_nativeObj']['rect'](g,h,i,j);}['translate'](g,h){this['_nativeObj']['translate'](g,h);}['createLinearGradient'](g,h,i,j){return this['_nativeObj']['createLinearGradient'](g,h,i,j);}['closePath'](){this['_nativeObj']['closePath']();}['putImageData'](g,h,i,j,k,l,m){this['_canvas']['_data']=g;}['createImageData'](g,h){if(typeof g==='number'&&typeof h==='number')return new d(g,h);else{if(g instanceof d)return new d(g['data'],g['width'],g['height']);}}['_setCanvasBufferUpdatedCallback'](g){this['_nativeObj']['_setCanvasBufferUpdatedCallback'](g);}}b['exports']=f;},{'./ImageData':0x16}],0x7:[function(a,b,c){'use strict';class d{constructor(e,f,g,h){this['x']=e?e:0x0,this['y']=f?f:0x0,this['width']=g?g:0x0,this['height']=h?h:0x0,this['left']=this['x'],this['top']=this['y'],this['right']=this['x']+this['width'],this['bottom']=this['y']+this['height'];}}b['exports']=d;},{}],0x8:[function(a,b,c){'use strict';const d=a('./Event');class e extends d{constructor(f){super('devicemotion'),f?(this['_acceleration']=f['acceleration']?f['acceleration']:{'x':0x0,'y':0x0,'z':0x0},this['_accelerationIncludingGravity']=f['accelerationIncludingGravity']?f['accelerationIncludingGravity']:{'x':0x0,'y':0x0,'z':0x0},this['_rotationRate']=f['rotationRate']?f['rotationRate']:{'alpha':0x0,'beta':0x0,'gamma':0x0},this['_interval']=f['interval']):(this['_acceleration']={'x':0x0,'y':0x0,'z':0x0},this['_accelerationIncludingGravity']={'x':0x0,'y':0x0,'z':0x0},this['_rotationRate']={'alpha':0x0,'beta':0x0,'gamma':0x0},this['_interval']=0x0);}get['acceleration'](){return this['_acceleration'];}get['accelerationIncludingGravity'](){return this['_accelerationIncludingGravity'];}get['rotationRate'](){return this['_rotationRate'];}get['interval'](){return this['_interval'];}}b['exports']=e;},{'./Event':0xa}],0x9:[function(a,b,c){'use strict';const d=a('./Node'),e=a('./DOMRect'),f=a('../../jsbWindow');class g extends d{constructor(){super(),this['className']='',this['children']=[],this['clientLeft']=0x0,this['clientTop']=0x0,this['scrollLeft']=0x0,this['scrollTop']=0x0;}get['clientWidth'](){return 0x0;}get['clientHeight'](){return 0x0;}['getBoundingClientRect'](){return new e(0x0,0x0,f['innerWidth'],f['innerHeight']);}['removeAttribute'](h){}}b['exports']=g;},{'../../jsbWindow':0x2c,'./DOMRect':0x7,'./Node':0x1a}],0xa:[function(a,b,c){'use strict';class d{constructor(e,f){this['_type']=e,this['_target']=null,this['_eventPhase']=0x2,this['_currentTarget']=null,this['_canceled']=![],this['_stopped']=![],this['_passiveListener']=null,this['_timeStamp']=Date['now']();}get['type'](){return this['_type'];}get['target'](){return this['_target'];}get['currentTarget'](){return this['_currentTarget'];}get['isTrusted'](){return![];}get['timeStamp'](){return this['_timeStamp'];}['composedPath'](){const e=this['_currentTarget'];if(e===null)return[];return[e];}get['eventPhase'](){return this['_eventPhase'];}['stopPropagation'](){}['stopImmediatePropagation'](){this['_stopped']=!![];}get['bubbles'](){return![];}get['cancelable'](){return!![];}['preventDefault'](){if(this['_passiveListener']!==null){console['warn']('Event#preventDefault()\x20was\x20called\x20from\x20a\x20passive\x20listener:',this['_passiveListener']);return;}if(!this['cancelable'])return;this['_canceled']=!![];}get['defaultPrevented'](){return this['_canceled'];}get['composed'](){return![];}get['timeStamp'](){return this['_timeStamp'];}}d['NONE']=0x0,d['CAPTURING_PHASE']=0x1,d['AT_TARGET']=0x2,d['BUBBLING_PHASE']=0x3,b['exports']=d;},{}],0xb:[function(a,b,c){'use strict';var d=0x0,e={'touch':{},'mouse':{},'keyboard':{},'devicemotion':{}},f={'touch':0x0,'mouse':0x0,'keyboard':0x0,'devicemotion':0x0},g={'touch':null,'mouse':null,'keyboard':null,'devicemotion':null},h={'touch':null,'mouse':null,'keyboard':null,'devicemotion':null};const i={'touch':['touchstart','touchmove','touchend','touchcancel'],'mouse':['mousedown','mousemove','mouseup','mousewheel'],'keyboard':['keydown','keyup','keypress'],'devicemotion':['devicemotion']},j=0x1,k=0x2,l=0x3;function m(o){return o&&typeof o==='object';}class n{constructor(){this['_targetID']=++d,this['_listenerCount']={'touch':0x0,'mouse':0x0,'keyboard':0x0,'devicemotion':0x0},this['_listeners']=new Map();}['_associateSystemEventListener'](o){var p;for(var q in i){p=i[q];if(p['indexOf'](o)>-0x1){g[q]&&f[q]===0x0&&g[q]();if(this['_listenerCount'][q]===0x0)e[q][this['_targetID']]=this;++this['_listenerCount'][q],++f[q];break;}}}['_dissociateSystemEventListener'](o){var p;for(var q in i){p=i[q];if(p['indexOf'](o)>-0x1){if(this['_listenerCount'][q]<=0x0)delete e[q][this['_targetID']];--f[q];h[q]&&f[q]===0x0&&h[q]();break;}}}['addEventListener'](o,p,q){if(!p)return![];if(typeof p!=='function'&&!m(p))throw new TypeError('\x27listener\x27\x20should\x20be\x20a\x20function\x20or\x20an\x20object.');const r=this['_listeners'],s=m(q),t=s?Boolean(q['capture']):Boolean(q),u=t?j:k,v={'listener':p,'listenerType':u,'passive':s&&Boolean(q['passive']),'once':s&&Boolean(q['once']),'next':null};let w=r['get'](o);if(w===undefined)return r['set'](o,v),this['_associateSystemEventListener'](o),!![];let x=null;while(w){if(w['listener']===p&&w['listenerType']===u)return![];x=w,w=w['next'];}return x['next']=v,this['_associateSystemEventListener'](o),!![];}['removeEventListener'](o,p,q){if(!p)return![];const r=this['_listeners'],s=m(q)?Boolean(q['capture']):Boolean(q),t=s?j:k;let u=null,v=r['get'](o);while(v){if(v['listener']===p&&v['listenerType']===t){if(u)u['next']=v['next'];else v['next']?r['set'](o,v['next']):r['delete'](o);return this['_dissociateSystemEventListener'](o),!![];}u=v,v=v['next'];}return![];}['dispatchEvent'](o){if(!o||typeof o['type']!=='string')throw new TypeError('\x22event.type\x22\x20should\x20be\x20a\x20string.');const p=o['type'];var q=this['on'+p];if(q&&typeof q==='function'){o['_target']=o['_currentTarget']=this,q['call'](this,o),o['_target']=o['_currentTarget']=null,o['_eventPhase']=0x0,o['_passiveListener']=null;if(o['defaultPrevented'])return![];}const r=this['_listeners'];let s=r['get'](p);if(!s)return!![];o['_target']=o['_currentTarget']=this;let t=null;while(s){if(s['once']){if(t)t['next']=s['next'];else s['next']?r['set'](p,s['next']):r['delete'](p);}else t=s;o['_passiveListener']=s['passive']?s['listener']:null;typeof s['listener']==='function'&&s['listener']['call'](this,o);if(o['_stopped'])break;s=s['next'];}return o['_target']=o['_currentTarget']=null,o['_eventPhase']=0x0,o['_passiveListener']=null,!o['defaultPrevented'];}}b['exports']=n;},{}],0xc:[function(a,b,c){'use strict';const d=a('./EventTarget'),e=a('./Event'),f=a('../../jsbWindow');class g extends d{['construct'](){this['result']=null;}['abort'](){}['readAsArrayBuffer'](){}['readAsDataURL'](h){this['result']='data:image/png;base64,'+f['btoa'](h);const i=new e('load');this['dispatchEvent'](i);}['readAsText'](){}}b['exports']=g;},{'../../jsbWindow':0x2c,'./Event':0xa,'./EventTarget':0xb}],0xd:[function(a,b,c){'use strict';class d{constructor(e,f,g){this['family']=e,this['source']=f,this['descriptors']=g,this['_status']='unloaded',this['_loaded']=new Promise((h,i)=>{this['_resolveCB']=h,this['_rejectCB']=i;});}['load'](){}get['status'](){return this['_status'];}get['loaded'](){return this['_loaded'];}}b['exports']=d;},{}],0xe:[function(a,b,c){'use strict';const d=a('./EventTarget'),e=a('./Event');class f extends d{constructor(){super(),this['_status']='loading';}get['status'](){return this['_status'];}set['onloading'](g){this['addEventListener']('loading',g);}set['onloadingdone'](g){this['addEventListener']('loadingdone',g);}set['onloadingerror'](g){this['addEventListener']('loadingerror',g);}['add'](g){this['_status']=g['_status']='loading',this['dispatchEvent'](new e('loading'));let h=jsb['loadFont'](g['family'],g['source']);setTimeout(()=>{h?(g['_status']=this['_status']='loaded',g['_resolveCB'](),this['dispatchEvent'](new e('loadingdone'))):(g['_status']=this['_status']='error',g['_rejectCB'](),this['dispatchEvent'](new e('loadingerror')));},0x0);}['clear'](){}['delete'](){}['load'](){}['ready'](){}}b['exports']=f;},{'./Event':0xa,'./EventTarget':0xb}],0xf:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./ImageData'),f=a('./DOMRect'),g=a('./CanvasRenderingContext2D'),h=a('../../jsbWindow'),i=function(m){return m=Math['round'](m),m<0x0?0x0:m<0xff?m:0xff;};class j{constructor(){console['log']('==>\x20CanvasGradient\x20constructor');}['addColorStop'](m,n){console['log']('==>\x20CanvasGradient\x20addColorStop');}}class k{constructor(m){this['_width']=m;}get['width'](){return this['_width'];}}class l extends d{constructor(m,n){super('canvas'),this['id']='glcanvas',this['type']='canvas',this['top']=0x0,this['left']=0x0,this['_width']=m?Math['ceil'](m):0x0,this['_height']=n?Math['ceil'](n):0x0,this['_context2D']=null,this['_dataInner']=null;}['getContext'](m,n){const o=this;if(m==='2d')return!this['_context2D']&&(this['_context2D']=new g(this['_width'],this['_height']),this['_context2D']['_canvas']=this,this['_context2D']['_setCanvasBufferUpdatedCallback'](p=>{o['_dataInner']=new e(p,o['_width'],o['_height']);})),this['_context2D'];return null;}get['_data'](){if(this['_context2D']===null)return null;return!this['_dataInner']&&this['_context2D']['fetchData'](),this['_dataInner'];}set['_data'](m){this['_dataInner']=m;}set['width'](m){m=Math['ceil'](m),this['_width']!==m&&(this['_dataInner']=null,this['_width']=m,this['_context2D']&&(this['_context2D']['width']=m));}get['width'](){return this['_width'];}set['height'](m){m=Math['ceil'](m),this['_height']!==m&&(this['_dataInner']=null,this['_height']=m,this['_context2D']&&(this['_context2D']['height']=m));}get['height'](){return this['_height'];}get['clientWidth'](){return h['innerWidth'];}get['clientHeight'](){return h['innerHeight'];}get['data'](){if(this['_data'])return this['_data']['data'];return null;}['getBoundingClientRect'](){return new f(0x0,0x0,h['innerWidth'],h['innerHeight']);}['requestPointerLock'](){jsb['setCursorEnabled'](![]);}['_destroy'](){this['_context2D']&&(this['_context2D']['_setCanvasBufferUpdatedCallback'](null),this['_context2D']=null);}}b['exports']=l;},{'../../jsbWindow':0x2c,'./CanvasRenderingContext2D':0x6,'./DOMRect':0x7,'./HTMLElement':0x10,'./ImageData':0x16}],0x10:[function(a,b,c){'use strict';const d=a('./Element'),{noop:e}=a('./util'),f=a('../../jsbWindow');class g extends d{constructor(h=''){super(),this['tagName']=h['toUpperCase'](),this['className']='',this['children']=[],this['style']={'width':f['innerWidth']+'px','height':f['innerHeight']+'px'},this['innerHTML']='',this['parentElement']=f['__canvas'];}['setAttribute'](h,i){this[h]=i;}['getAttribute'](h){return this[h];}['focus'](){}}b['exports']=g;},{'../../jsbWindow':0x2c,'./Element':0x9,'./util':0x21}],0x11:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./Event');class f extends d{constructor(g,h,i){if(!i)throw new TypeError('Illegal\x20constructor,\x20use\x20\x27new\x20Image(w,\x20h);\x20instead!\x27');super('img'),this['width']=g?g:0x0,this['height']=h?h:0x0,this['_data']=null,this['_src']=null,this['complete']=![],this['crossOrigin']=null,this['_mipmapLevelDataSize']=[];}['destroy'](){this['_data']&&(jsb['destroyImage'](this['_data']),this['_data']=null),this['_src']=null;}set['src'](g){this['_src']=g;if(g==='')return;jsb['loadImage'](g,h=>{if(!h){this['_data']=null;var i=new e('error');this['dispatchEvent'](i);return;}this['width']=this['naturalWidth']=h['width'],this['height']=this['naturalHeight']=h['height'],this['_data']=h['data'],this['format']=h['format'],this['complete']=!![],this['_mipmapLevelDataSize']=h['mipmapLevelDataSize'];var i=new e('load');this['dispatchEvent'](i);});}get['src'](){return this['_src'];}get['clientWidth'](){return this['width'];}get['clientHeight'](){return this['height'];}['getBoundingClientRect'](){return new DOMRect(0x0,0x0,this['width'],this['height']);}}b['exports']=f;},{'./Event':0xa,'./HTMLElement':0x10}],0x12:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./MediaError'),f=0x0,g=0x1,h=0x2,i=0x3,j=0x4;class k extends d{constructor(l){super(l),this['_volume']=0x1,this['_duration']=0x0,this['_isEnded']=![],this['_isMute']=![],this['_readyState']=f,this['_error']=new e();}['addTextTrack'](){}['captureStream'](){}['fastSeek'](){}['load'](){}['pause'](){}['play'](){}['canPlayType'](l){return'';}set['volume'](l){this['_volume']=l;}get['volume'](){return this['_volume'];}get['duration'](){return this['_duration'];}get['ended'](){return this['_isEnded'];}get['muted'](){return this['_isMute'];}get['readyState'](){return this['_readyState'];}get['error'](){return this['_error'];}get['currentTime'](){return 0x0;}}b['exports']=k;},{'./HTMLElement':0x10,'./MediaError':0x18}],0x13:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./Event'),f=[];class g extends d{constructor(h,i){super('script');}set['type'](h){h==='systemjs-importmap'&&(f['indexOf'](this)===-0x1&&f['push'](this));}set['src'](h){setTimeout(()=>{a(h),this['dispatchEvent'](new e('load'));},0x0);}}g['_getAllScriptElementsSystemJSImportType']=function(){return f;},b['exports']=g;},{'./Event':0xa,'./HTMLElement':0x10}],0x14:[function(a,b,c){'use strict';const d=a('./HTMLMediaElement');class e extends d{constructor(){super('video');}['canPlayType'](f){if(f==='video/mp4')return!![];return![];}}b['exports']=e;},{'./HTMLMediaElement':0x12}],0x15:[function(a,b,c){'use strict';let d=a('./HTMLImageElement');class e extends d{constructor(f,g){super(f,g,!![]);}}b['exports']=e;},{'./HTMLImageElement':0x11}],0x16:[function(a,b,c){'use strict';class d{constructor(e,f,g){typeof e==='number'&&typeof f=='number'&&(g=f,f=e,e=null),e===null?this['_data']=new Uint8ClampedArray(f*g*0x4):this['_data']=e,this['_width']=f,this['_height']=g;}get['data'](){return this['_data'];}get['width'](){return this['_width'];}get['height'](){return this['_height'];}}b['exports']=d;},{}],0x17:[function(a,b,c){'use strict';const d=a('./Event'),e={'48':')','49':'!','50':'@','51':'#','52':'$','53':'%','54':'^','55':'&','56':'*','57':'('};var f=![];class g extends d{constructor(h,i){super(h);typeof i==='object'?(this['_altKeyActive']=i['altKey']?i['altKey']:![],this['_ctrlKeyActive']=i['ctrlKey']?i['ctrlKey']:![],this['_metaKeyActive']=i['metaKey']?i['metaKey']:![],this['_shiftKeyActive']=i['shiftKey']?i['shiftKey']:![],this['_keyCode']=i['keyCode']?i['keyCode']:-0x1,this['_repeat']=i['repeat']?i['repeat']:![]):(this['_altKeyActive']=![],this['_ctrlKeyActive']=![],this['_metaKeyActive']=![],this['_shiftKeyActive']=![],this['_keyCode']=-0x1,this['_repeat']=![]);var j=this['_keyCode'];if(j>=0x30&&j<=0x39){var k=j-0x30;this['_code']='Digit'+k,this['_key']=this['_shiftKeyActive']?e[j]:''+k;}else{if(j>=0x2740&&j<=0x2749){j=this['_keyCode']=j-0x2710;var k=j-0x30;this['_code']='Numpad'+k,this['_key']=''+k;}else{if(j>=0x41&&j<=0x5a){var l=String['fromCharCode'](j);this['_code']='Key'+l,this['_key']=this['_shiftKeyActive']^f?l:l['toLowerCase']();}else{if(j>=0x61&&j<=0x7a){var l=String['fromCharCode'](j);this['_keyCode']=j-(0x61-0x41),this['_code']='Key'+l,this['_key']=this['_shiftKeyActive']^f?l['toUpperCase']():l;}else{if(j>=0x70&&j<=0x7b)this['_code']=this['_key']='F'+(j-0x6f);else{if(j===0x1b)this['_code']=this['_key']='Escape';else{if(j===0xbd)this['_code']='Minus',this['_key']=this['_shiftKeyActive']?'_':'-';else{if(j===0xbb)this['_code']='Equal',this['_key']=this['_shiftKeyActive']?'+':'=';else{if(j===0xdc)this['_code']='Backslash',this['_key']=this['_shiftKeyActive']?'|':'\x5c';else{if(j===0xc0)this['_code']='Backquote',this['_key']=this['_shiftKeyActive']?'~':'`';else{if(j===0x8)this['_code']=this['_key']='Backspace';else{if(j===0xd)this['_code']=this['_key']='Enter';else{if(j===0xdb)this['_code']='BracketLeft',this['_key']=this['_shiftKeyActive']?'{':'[';else{if(j===0xdd)this['_code']='BracketRight',this['_key']=this['_shiftKeyActive']?'}':']';else{if(j===0xba)this['_code']='Semicolon',this['_key']=this['_shiftKeyActive']?':':';';else{if(j===0xde)this['_code']='Quote',this['_key']=this['_shiftKeyActive']?'\x22':'\x27';else{if(j===0x9)this['_code']=this['_key']='Tab';else{if(j===0x11)this['_code']='ControlLeft',this['_key']='Control';else{if(j===0x4e31)this['_keyCode']=0x11,this['_code']='ControlRight',this['_key']='Control';else{if(j===0x10)this['_code']='ShiftLeft',this['_key']='Shift';else{if(j===0x4e30)this['_keyCode']=0x10,this['_code']='ShiftRight',this['_key']='Shift';else{if(j===0x12)this['_code']='AltLeft',this['_key']='Alt';else{if(j===0x4e32)this['_keyCode']=0x12,this['_code']='AltRight',this['_key']='Alt';else{if(j===0x5b)this['_code']='MetaLeft',this['_key']='Meta';else{if(j===0x5d)this['_code']='MetaRight',this['_key']='Meta';else{if(j===0x25)this['_code']=this['_key']='ArrowLeft';else{if(j===0x26)this['_code']=this['_key']='ArrowUp';else{if(j===0x27)this['_code']=this['_key']='ArrowRight';else{if(j===0x28)this['_code']=this['_key']='ArrowDown';else{if(j===0x4e7d)this['_keyCode']=0x5d,this['_code']=this['_key']='ContextMenu';else{if(j===0x4e2d)this['_keyCode']=0xd,this['_code']='NumpadEnter',this['_key']='Enter';else{if(j===0x6b)this['_code']='NumpadAdd',this['_key']='+';else{if(j===0x6d)this['_code']='NumpadSubtract',this['_key']='-';else{if(j===0x6a)this['_code']='NumpadMultiply',this['_key']='*';else{if(j===0x6f)this['_code']='NumpadDivide',this['_key']='/';else{if(j===0xc)this['_code']='NumLock',this['_key']='Clear';else{if(j===0x7c)this['_code']=this['_key']='F13';else{if(j===0x24)this['_code']=this['_key']='Home';else{if(j===0x21)this['_code']=this['_key']='PageUp';else{if(j===0x22)this['_code']=this['_key']='PageDown';else{if(j===0x23)this['_code']=this['_key']='End';else{if(j===0xbc)this['_code']='Comma',this['_key']=this['_shiftKeyActive']?'<':',';else{if(j===0xbe)this['_code']='Period',this['_key']=this['_shiftKeyActive']?'>':'.';else{if(j===0xbf)this['_code']='Slash',this['_key']=this['_shiftKeyActive']?'?':'/';else{if(j===0x20)this['_code']='Space',this['_key']='\x20';else{if(j===0x2e)this['_code']=this['_key']='Delete';else{if(j===0x6e)this['_code']='NumpadDecimal',this['_key']='.';else j===0x14?(this['_code']=this['_key']='CapsLock',h==='keyup'&&(f=!f)):console['log']('Unknown\x20keyCode:\x20'+this['_keyCode']);}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}['getModifierState'](){return![];}get['altKey'](){return this['_altKeyActive'];}get['code'](){return this['_code'];}get['ctrlKey'](){return this['_ctrlKeyActive'];}get['isComposing'](){return![];}get['key'](){return this['_key'];}get['keyCode'](){return this['_keyCode'];}get['location'](){return 0x0;}get['metaKey'](){return this['_metaKeyActive'];}get['repeat'](){return this['_repeat'];}get['shiftKey'](){return this['_shiftKeyActive'];}}b['exports']=g;},{'./Event':0xa}],0x18:[function(a,b,c){'use strict';const d=0x1,e=0x2,f=0x3,g=0x4;class h{constructor(){}get['code'](){return d;}get['message'](){return'';}}b['exports']=h;},{}],0x19:[function(a,b,c){'use strict';const d=a('./Event');class e extends d{constructor(f,g){super(f),this['_button']=g['button'],this['_which']=g['which'],this['_wheelDelta']=g['wheelDelta'],this['_clientX']=g['clientX'],this['_clientY']=g['clientY'],this['_screenX']=g['screenX'],this['_screenY']=g['screenY'],this['_pageX']=g['pageX'],this['_pageY']=g['pageY'];}get['button'](){return this['_button'];}get['which'](){return this['_which'];}get['wheelDelta'](){return this['_wheelDelta'];}get['clientX'](){return this['_clientX'];}get['clientY'](){return this['_clientY'];}get['screenX'](){return this['_screenX'];}get['screenY'](){return this['_screenY'];}get['pageX'](){return this['_pageX'];}get['pageY'](){return this['_pageY'];}}b['exports']=e;},{'./Event':0xa}],0x1a:[function(a,b,c){'use strict';const d=a('./EventTarget'),e=a('../../jsbWindow');class f extends d{constructor(){super(),this['childNodes']=[],this['parentNode']=e['__canvas'];}['appendChild'](g){if(g instanceof f)this['childNodes']['push'](g);else throw new TypeError('Failed\x20to\x20executed\x20\x27appendChild\x27\x20on\x20\x27Node\x27:\x20parameter\x201\x20is\x20not\x20of\x20type\x20\x27Node\x27.');}['insertBefore'](g,h){return g;}['replaceChild'](g,h){return h;}['cloneNode'](){const g=Object['create'](this);return Object['assign'](g,this),g;}['removeChild'](g){const h=this['childNodes']['findIndex'](i=>i===g);if(h>-0x1)return this['childNodes']['splice'](h,0x1);return null;}['contains'](g){return this['childNodes']['indexOf'](g)>-0x1;}}b['exports']=f;},{'../../jsbWindow':0x2c,'./EventTarget':0xb}],0x1b:[function(a,b,c){'use strict';const d=a('./Event');class e extends d{constructor(f,g){super(f),this['touches']=[],this['targetTouches']=[],this['changedTouches']=[];}}b['exports']=e;},{'./Event':0xa}],0x1c:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./Image'),f=a('./HTMLCanvasElement'),g=a('./HTMLVideoElement'),h=a('./HTMLScriptElement'),i=a('./Node'),j=a('./FontFaceSet'),k=a('../../jsbWindow');class l extends i{constructor(){super(),this['readyState']='complete',this['visibilityState']='visible',this['documentElement']=globalThis,this['hidden']=![],this['style']={},this['location']=a('./location'),this['head']=new d('head'),this['body']=new d('body'),this['fonts']=new j(),this['scripts']=[];}['createElementNS'](m,n,o){return this['createElement'](n);}['createElement'](m){if(m==='canvas')return new f(0x1,0x1);else{if(m==='img')return new e();else{if(m==='video')return new g();else{if(m==='script')return new h();}}}return new d(m);}['getElementById'](m){if(m===k['__canvas']['id']||m==='canvas')return k['__canvas'];return new d(m);}['getElementsByTagName'](m){if(m==='head')return[document['head']];else{if(m==='body')return[document['body']];else{if(m==='canvas')return[k['__canvas']];}}return[new d(m)];}['getElementsByName'](m){if(m==='head')return[document['head']];else{if(m==='body')return[document['body']];else{if(m==='canvas')return[k['__canvas']];}}return[new d(m)];}['querySelector'](m){if(m==='head')return document['head'];else{if(m==='body')return document['body'];else{if(m==='canvas')return k['__canvas'];else{if(m==='#'+k['__canvas']['id'])return k['__canvas'];}}}return new d(m);}['querySelectorAll'](m){if(m==='head')return[document['head']];else{if(m==='body')return[document['body']];else{if(m==='canvas')return[k['__canvas']];else{if(m['startsWith']('script[type=\x22systemjs-importmap\x22]'))return h['_getAllScriptElementsSystemJSImportType']();}}}return[new d(m)];}['createTextNode'](){return new d('text');}['elementFromPoint'](){return k['canvas'];}['createEvent'](m){if(k[m])return new k[m]();return null;}['exitPointerLock'](){jsb['setCursorEnabled'](!![]);}}let document=new l();b['exports']=document;},{'../../jsbWindow':0x2c,'./FontFaceSet':0xe,'./HTMLCanvasElement':0xf,'./HTMLElement':0x10,'./HTMLScriptElement':0x13,'./HTMLVideoElement':0x14,'./Image':0x15,'./Node':0x1a,'./location':0x1f}],0x1d:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['DOMException']=void 0x0,c['Headers']=k,c['Request']=u,c['Response']=x,c['fetch']=A;const d=globalThis,e={'searchParams':'URLSearchParams'in d,'iterable':'Symbol'in d&&'iterator'in Symbol,'blob':![],'formData':'FormData'in d,'arrayBuffer':'ArrayBuffer'in d};function f(B){return B&&DataView['prototype']['isPrototypeOf'](B);}if(e['arrayBuffer']){const B=['[object\x20Int8Array]','[object\x20Uint8Array]','[object\x20Uint8ClampedArray]','[object\x20Int16Array]','[object\x20Uint16Array]','[object\x20Int32Array]','[object\x20Uint32Array]','[object\x20Float32Array]','[object\x20Float64Array]'];var g=ArrayBuffer['isView']||function(C){return C&&B['indexOf'](Object['prototype']['toString']['call'](C))>-0x1;};}function h(C){typeof C!=='string'&&(C=String(C));if(/[^a-z0-9\-#$%&'*+.^_`|~]/i['test'](C)||C==='')throw new TypeError('Invalid\x20character\x20in\x20header\x20field\x20name');return C['toLowerCase']();}function i(C){return typeof C!=='string'&&(C=String(C)),C;}function j(C){const D={'next'(){const E=C['shift']();return{'done':E===undefined,'value':E};}};return e['iterable']&&(D[Symbol['iterator']]=function(){return D;}),D;}function k(C){this['map']={};if(C instanceof k)C['forEach'](function(D,E){this['append'](E,D);},this);else{if(Array['isArray'](C))C['forEach'](function(D){this['append'](D[0x0],D[0x1]);},this);else C&&Object['getOwnPropertyNames'](C)['forEach'](function(D){this['append'](D,C[D]);},this);}}k['prototype']['append']=function(C,D){C=h(C),D=i(D);const E=this['map'][C];this['map'][C]=E?E+',\x20'+D:D;},k['prototype']['delete']=function(C){delete this['map'][h(C)];},k['prototype']['get']=function(C){return C=h(C),this['has'](C)?this['map'][C]:null;},k['prototype']['has']=function(C){return this['map']['hasOwnProperty'](h(C));},k['prototype']['set']=function(C,D){this['map'][h(C)]=i(D);},k['prototype']['forEach']=function(C,D){for(const E in this['map']){this['map']['hasOwnProperty'](E)&&C['call'](D,this['map'][E],E,this);}},k['prototype']['keys']=function(){const C=[];return this['forEach']((D,E)=>{C['push'](E);}),j(C);},k['prototype']['values']=function(){const C=[];return this['forEach'](D=>{C['push'](D);}),j(C);},k['prototype']['entries']=function(){const C=[];return this['forEach']((D,E)=>{C['push']([E,D]);}),j(C);};e['iterable']&&(k['prototype'][Symbol['iterator']]=k['prototype']['entries']);function l(C){if(C['bodyUsed'])return Promise['reject'](new TypeError('Already\x20read'));C['bodyUsed']=!![];}function m(C){return new Promise((D,E)=>{C['onload']=function(){D(C['result']);},C['onerror']=function(){E(C['error']);};});}function n(C){const D=new FileReader(),E=m(D);return D['readAsArrayBuffer'](C),E;}function o(C){const D=new FileReader(),E=m(D);return D['readAsText'](C),E;}function p(C){const D=new Uint8Array(C),E=new Array(D['length']);for(let F=0x0;F-0x1?D:C;}function u(C,D){D=D||{};let E=D['body'];if(C instanceof u){if(C['bodyUsed'])throw new TypeError('Already\x20read');this['url']=C['url'],this['credentials']=C['credentials'],!D['headers']&&(this['headers']=new k(C['headers'])),this['method']=C['method'],this['mode']=C['mode'],this['signal']=C['signal'],!E&&C['_bodyInit']!=null&&(E=C['_bodyInit'],C['bodyUsed']=!![]);}else this['url']=String(C);this['credentials']=D['credentials']||this['credentials']||'same-origin';(D['headers']||!this['headers'])&&(this['headers']=new k(D['headers']));this['method']=t(D['method']||this['method']||'GET'),this['mode']=D['mode']||this['mode']||null,this['signal']=D['signal']||this['signal'],this['referrer']=null;if((this['method']==='GET'||this['method']==='HEAD')&&E)throw new TypeError('Body\x20not\x20allowed\x20for\x20GET\x20or\x20HEAD\x20requests');this['_initBody'](E);}u['prototype']['clone']=function(){return new u(this,{'body':this['_bodyInit']});};function v(C){const D=new FormData();return C['trim']()['split']('&')['forEach'](E=>{if(E){const F=E['split']('='),G=F['shift']()['replace'](/\+/g,'\x20'),H=F['join']('=')['replace'](/\+/g,'\x20');D['append'](decodeURIComponent(G),decodeURIComponent(H));}}),D;}function w(C){const D=new k(),E=C['replace'](/\r?\n[\t ]+/g,'\x20');return E['split'](/\r?\n/)['forEach'](F=>{const G=F['split'](':'),H=G['shift']()['trim']();if(H){const I=G['join'](':')['trim']();D['append'](H,I);}}),D;}r['call'](u['prototype']);function x(C,D){!D&&(D={}),this['type']='default',this['status']=D['status']===undefined?0xc8:D['status'],this['ok']=this['status']>=0xc8&&this['status']<0x12c,this['statusText']='statusText'in D?D['statusText']:'OK',this['headers']=new k(D['headers']),this['url']=D['url']||'',this['_initBody'](C);}r['call'](x['prototype']),x['prototype']['clone']=function(){return new x(this['_bodyInit'],{'status':this['status'],'statusText':this['statusText'],'headers':new k(this['headers']),'url':this['url']});},x['error']=function(){const C=new x(null,{'status':0x0,'statusText':''});return C['type']='error',C;};const y=[0x12d,0x12e,0x12f,0x133,0x134];x['redirect']=function(C,D){if(y['indexOf'](D)===-0x1)throw new RangeError('Invalid\x20status\x20code');return new x(null,{'status':D,'headers':{'location':C}});};var z=c['DOMException']=d['DOMException'];try{new z();}catch(C){c['DOMException']=z=function(D,E){this['message']=D,this['name']=E;const F=Error(D);this['stack']=F['stack'];},z['prototype']=Object['create'](Error['prototype']),z['prototype']['constructor']=z;}function A(D,E){return new Promise((F,G)=>{const H=new u(D,E);if(H['signal']&&H['signal']['aborted'])return G(new z('Aborted','AbortError'));const I=new XMLHttpRequest();function J(){I['abort']();}I['onload']=function(){const K={'status':I['status'],'statusText':I['statusText'],'headers':w(I['getAllResponseHeaders']()||'')};K['url']='responseURL'in I?I['responseURL']:K['headers']['get']('X-Request-URL');const L='response'in I?I['response']:I['responseText'];F(new x(L,K));},I['onerror']=function(){G(new TypeError('Network\x20request\x20failed'));},I['ontimeout']=function(){G(new TypeError('Network\x20request\x20failed'));},I['onabort']=function(){G(new z('Aborted','AbortError'));},I['open'](H['method'],H['url'],!![]);if(H['credentials']==='include')I['withCredentials']=!![];else H['credentials']==='omit'&&(I['withCredentials']=![]);'responseType'in I&&e['blob']&&(I['responseType']='blob'),H['headers']['forEach']((K,L)=>{I['setRequestHeader'](L,K);}),H['signal']&&(H['signal']['addEventListener']('abort',J),I['onreadystatechange']=function(){I['readyState']===0x4&&H['signal']['removeEventListener']('abort',J);}),I['send'](typeof H['_bodyInit']==='undefined'?null:H['_bodyInit']);});}A['polyfill']=!![];},{}],0x1e:[function(a,b,c){'use strict';a('./window');},{'./window':0x22}],0x1f:[function(a,b,c){'use strict';const d={'href':'game.js','pathname':'game.js','search':'','hash':'','protocol':'','reload'(){}};b['exports']=d;},{}],0x20:[function(a,b,c){'use strict';let {noop:d}=a('./util');const navigator={'platform':__getOS(),'language':__getCurrentLanguage(),'appVersion':'5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x209_1\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1','userAgent':'Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2010_3_1\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20NetType/WIFI\x20Language/zh_CN','onLine':!![],'geolocation':{'getCurrentPosition':d,'watchPosition':d,'clearWatch':d},'maxTouchPoints':0xa};b['exports']=navigator;},{'./util':0x21}],0x21:[function(a,b,c){'use strict';function d(){}b['exports']=d;},{}],0x22:[function(a,b,c){'use strict';const d=a('../../jsbWindow');function e(){d['ontouchstart']=null,d['ontouchmove']=null,d['ontouchend']=null,d['ontouchcancel']=null,d['pageXOffset']=d['pageYOffset']=d['clientTop']=d['clientLeft']=0x0,d['outerWidth']=d['innerWidth'],d['outerHeight']=d['innerHeight'],d['clientWidth']=d['innerWidth'],d['clientHeight']=d['innerHeight'],d['top']=d['parent']=d,d['location']=a('./location'),d['document']=a('./document'),d['navigator']=a('./navigator'),d['CanvasRenderingContext2D']=a('./CanvasRenderingContext2D'),d['Element']=a('./Element'),d['HTMLElement']=a('./HTMLElement'),d['HTMLCanvasElement']=a('./HTMLCanvasElement'),d['HTMLImageElement']=a('./HTMLImageElement'),d['HTMLMediaElement']=a('./HTMLMediaElement'),d['HTMLVideoElement']=a('./HTMLVideoElement'),d['HTMLScriptElement']=a('./HTMLScriptElement'),d['__canvas']=new d['HTMLCanvasElement'](),d['__canvas']['_width']=d['innerWidth'],d['__canvas']['_height']=d['innerHeight'],d['Image']=a('./Image'),d['FileReader']=a('./FileReader'),d['FontFace']=a('./FontFace'),d['FontFaceSet']=a('./FontFaceSet'),d['EventTarget']=a('./EventTarget'),d['Event']=d['Event']||a('./Event'),d['TouchEvent']=a('./TouchEvent'),d['MouseEvent']=a('./MouseEvent'),d['KeyboardEvent']=a('./KeyboardEvent'),d['DeviceMotionEvent']=a('./DeviceMotionEvent');const f=a('./fetch');d['fetch']=f['fetch'],d['Headers']=f['Headers'],d['Request']=f['Request'],d['Response']=f['Response'],d['orientation']=jsb['device']['getDeviceOrientation'](),!__EDITOR__&&Object['defineProperty'](d,'devicePixelRatio',{'get'(){return jsb['device']['getDevicePixelRatio']?jsb['device']['getDevicePixelRatio']():0x1;},'set'(g){},'enumerable':!![],'configurable':!![]}),d['screen']={'availTop':0x0,'availLeft':0x0,'availHeight':d['innerWidth'],'availWidth':d['innerHeight'],'colorDepth':0x8,'pixelDepth':0x8,'left':0x0,'top':0x0,'width':d['innerWidth'],'height':d['innerHeight'],'orientation':{'type':'portrait-primary'},'onorientationchange'(g){}},d['addEventListener']=function(g,h,i){d['__canvas']['addEventListener'](g,h,i);},d['removeEventListener']=function(g,h,i){d['__canvas']['removeEventListener'](g,h,i);},d['dispatchEvent']=function(g){d['__canvas']['dispatchEvent'](g);},d['getComputedStyle']=function(g){return{'position':'absolute','left':'0px','top':'0px','height':'0px'};},d['resize']=function(g,h){d['innerWidth']=g,d['innerHeight']=h,d['outerWidth']=d['innerWidth'],d['outerHeight']=d['innerHeight'],d['__canvas']['_width']=d['innerWidth'],d['__canvas']['_height']=d['innerHeight'],d['screen']['availWidth']=d['innerWidth'],d['screen']['availHeight']=d['innerHeight'],d['screen']['width']=d['innerWidth'],d['screen']['height']=d['innerHeight'],d['clientWidth']=d['innerWidth'],d['clientHeight']=d['innerHeight'];const i=new d['Event']('resize');i['_target']=d,d['dispatchEvent'](i);},d['focus']=function(){},d['scroll']=function(){},d['_isInjected']=!![];}!d['_isInjected']&&e(),!__EDITOR__&&(d['localStorage']=sys['localStorage']);},{'../../jsbWindow':0x2c,'./CanvasRenderingContext2D':0x6,'./DeviceMotionEvent':0x8,'./Element':0x9,'./Event':0xa,'./EventTarget':0xb,'./FileReader':0xc,'./FontFace':0xd,'./FontFaceSet':0xe,'./HTMLCanvasElement':0xf,'./HTMLElement':0x10,'./HTMLImageElement':0x11,'./HTMLMediaElement':0x12,'./HTMLScriptElement':0x13,'./HTMLVideoElement':0x14,'./Image':0x15,'./KeyboardEvent':0x17,'./MouseEvent':0x19,'./TouchEvent':0x1b,'./document':0x1c,'./fetch':0x1d,'./location':0x1f,'./navigator':0x20}],0x23:[function(a,b,c){'use strict';(function(jsb){if(!jsb||!jsb['AudioEngine'])return;jsb['AudioEngine']['AudioState']={'ERROR':-0x1,'INITIALZING':0x0,'PLAYING':0x1,'PAUSED':0x2,'STOPPED':0x3},jsb['AudioEngine']['INVALID_AUDIO_ID']=-0x1,jsb['AudioEngine']['TIME_UNKNOWN']=-0x1,jsb['AudioEngine']['play']=jsb['AudioEngine']['play2d'],jsb['AudioEngine']['setErrorCallback']=()=>{};}(jsb));},{}],0x24:[function(a,b,c){'use strict';const d=a('./jsb-adapter/EventTarget'),e=a('./jsb-adapter/Event'),f=new d(),g={},h={};let i=0x1;const j=function(n){if(!n)return null;const o=function(p){n({'value':p['text']});};return n['___index']=i++,g[n['___index']]=o,o;},k=function(n){if(n&&n['___index']){const o=g[n['___index']];return delete g[n['___index']],o;}else return null;},l=function(n,o){if(o)f['removeEventListener'](n,k(o));else{const p=h[n];if(!p)return;for(let q=0x0,r=p['length'];q{function g(x){const y=this['constructor'];return this['then'](z=>y['resolve'](x())['then'](()=>z),z=>y['resolve'](x())['then'](()=>y['reject'](z)));}function h(){}function j(x){if(!(this instanceof j))throw new TypeError('Promises\x20must\x20be\x20constructed\x20via\x20new');if(typeof x!=='function')throw new TypeError('not\x20a\x20function');this['_state']=0x0,this['_handled']=!0x1,this['_value']=undefined,this['_deferreds']=[],s(x,this);}function k(x,y){for(;x['_state']===0x3;)x=x['_value'];x['_state']!==0x0?(x['_handled']=!0x0,j['_immediateFn'](()=>{const z=x['_state']===0x1?y['onFulfilled']:y['onRejected'];if(z!==null){let A;try{A=z(x['_value']);}catch(B){return void p(y['promise'],B);}m(y['promise'],A);}else(x['_state']===0x1?m:p)(y['promise'],x['_value']);})):x['_deferreds']['push'](y);}function m(x,y){try{if(y===x)throw new TypeError('A\x20promise\x20cannot\x20be\x20resolved\x20with\x20itself.');if(y&&(typeof y==='object'||typeof y==='function')){const z=y['then'];if(y instanceof j)return x['_state']=0x3,x['_value']=y,void q(x);if(typeof z==='function')return void s(function(A,B){return function(){A['apply'](B,arguments);};}(z,y),x);}x['_state']=0x1,x['_value']=y,q(x);}catch(A){p(x,A);}}function p(x,y){x['_state']=0x2,x['_value']=y,q(x);}function q(x){x['_state']===0x2&&x['_deferreds']['length']===0x0&&j['_immediateFn'](()=>{x['_handled']||j['_unhandledRejectionFn'](x['_value']);});for(let y=0x0,z=x['_deferreds']['length'];z>y;y++)k(x,x['_deferreds'][y]);x['_deferreds']=null;}function s(x,y){let z=!0x1;try{x(A=>{z||(z=!0x0,m(y,A));},A=>{z||(z=!0x0,p(y,A));});}catch(A){if(z)return;z=!0x0,p(y,A);}}const v=setTimeout;j['prototype']['catch']=function(x){return this['then'](null,x);},j['prototype']['then']=function(x,y){const z=new this['constructor'](h);return k(this,new function(A,B,C){this['onFulfilled']=typeof A==='function'?A:null,this['onRejected']=typeof B==='function'?B:null,this['promise']=C;}(x,y,z)),z;},j['prototype']['finally']=g,j['all']=function(x){return new j((y,z)=>{function A(E,F){try{if(F&&(typeof F==='object'||typeof F==='function')){const G=F['then'];if(typeof G==='function')return void G['call'](F,H=>{A(E,H);},z);}B[E]=F,--C==0x0&&y(B);}catch(H){z(H);}}if(!x||typeof x['length']==='undefined')throw new TypeError('Promise.all\x20accepts\x20an\x20array');var B=Array['prototype']['slice']['call'](x);if(B['length']===0x0)return y([]);for(var C=B['length'],D=0x0;B['length']>D;D++)A(D,B[D]);});},j['resolve']=function(x){return x&&typeof x==='object'&&x['constructor']===j?x:new j(y=>{y(x);});},j['reject']=function(x){return new j((y,z)=>{z(x);});},j['race']=function(x){return new j((y,z)=>{for(let A=0x0,B=x['length'];B>A;A++)x[A]['then'](y,z);});},j['_immediateFn']=typeof e==='function'&&function(x){e(x);}||function(x){v(x,0x0);},j['_unhandledRejectionFn']=function(x){void 0x0!==console&&console&&console['warn']('Possible\x20Unhandled\x20Promise\x20Rejection:',x);};const w=(function(){if(typeof self!=='undefined')return self;if(typeof window!=='undefined')return window;if(typeof d!=='undefined')return d;throw Error('unable\x20to\x20locate\x20global\x20object');}());'Promise'in w?w['Promise']['prototype']['finally']||(w['Promise']['prototype']['finally']=g):w['Promise']=j;});}['call'](this));}['call'](this,typeof global!=='undefined'?global:typeof self!=='undefined'?self:typeof window!=='undefined'?window:{},a('timers')['setImmediate']));},{'timers':0x2}],0x27:[function(a,b,c){'use strict';(function d(){if(!globalThis['WebAssembly']){console['warn']('WebAssembly\x20is\x20not\x20supported!');return;}console['info']('injectWebAssembly\x20...');const e=WebAssembly['instantiate'],f=WebAssembly['compile'];WebAssembly['compile']=function(g){return new Promise((h,i)=>{if(!g)i('WebAssembly.compile:\x20Invalid\x20buffer\x20source!');else CC_EDITOR?h(f['call'](WebAssembly,g)):h(new WebAssembly['Module'](g));});},WebAssembly['instantiate']=function(g,h){let i;return g instanceof WebAssembly['Module']?i=e(g,h):i=new Promise((j,k)=>{WebAssembly['compile'](g)['then'](l=>{e(l,h)['then'](m=>{j({'instance':m,'module':l});})['catch'](k);})['catch'](k);}),i;};}());},{}],0x28:[function(a,b,c){'use strict';function d(n){this['options']=n||{'locator':{}};}d['prototype']['parseFromString']=function(n,o){var p=this['options'],q=new l(),r=p['domBuilder']||new f(),s=p['errorHandler'],t=p['locator'],u=p['xmlns']||{},v=/\/x?html?$/['test'](o),w=v?k['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(n,o,p,q){var r=this['doc'],s=r['createElementNS'](n,p||o),t=q['length'];j(this,s),this['currentElement']=s,this['locator']&&g(this['locator'],s);for(var u=0x0;u=o+p||o)return new java['lang']['String'](n,o,p)+'';return n;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(n){f['prototype'][n]=function(){return null;};});function j(n,o){!n['currentElement']?n['doc']['appendChild'](o):n['currentElement']['appendChild'](o);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d;},{'./dom':0x29,'./entities':0x2a,'./sax':0x2b}],0x29:[function(a,b,c){'use strict';function d(an,ao){for(var ap in an){ao[ap]=an[ap];}}function f(an,ao){var ap=an['prototype'];if(!(ap instanceof ao)){function aq(){};aq['prototype']=ao['prototype'],aq=new aq(),d(ap,aq),an['prototype']=ap=aq;}ap['constructor']!=an&&(typeof an!='function'&&console['error']('unknow\x20Class:'+an),ap['constructor']=an);}var g='http://www.w3.org/1999/xhtml',h={},i=h['ELEMENT_NODE']=0x1,j=h['ATTRIBUTE_NODE']=0x2,k=h['TEXT_NODE']=0x3,l=h['CDATA_SECTION_NODE']=0x4,m=h['ENTITY_REFERENCE_NODE']=0x5,n=h['ENTITY_NODE']=0x6,o=h['PROCESSING_INSTRUCTION_NODE']=0x7,p=h['COMMENT_NODE']=0x8,q=h['DOCUMENT_NODE']=0x9,r=h['DOCUMENT_TYPE_NODE']=0xa,s=h['DOCUMENT_FRAGMENT_NODE']=0xb,t=h['NOTATION_NODE']=0xc,u={},v={},w=u['INDEX_SIZE_ERR']=(v[0x1]='Index\x20size\x20error',0x1),x=u['DOMSTRING_SIZE_ERR']=(v[0x2]='DOMString\x20size\x20error',0x2),y=u['HIERARCHY_REQUEST_ERR']=(v[0x3]='Hierarchy\x20request\x20error',0x3),z=u['WRONG_DOCUMENT_ERR']=(v[0x4]='Wrong\x20document',0x4),A=u['INVALID_CHARACTER_ERR']=(v[0x5]='Invalid\x20character',0x5),B=u['NO_DATA_ALLOWED_ERR']=(v[0x6]='No\x20data\x20allowed',0x6),C=u['NO_MODIFICATION_ALLOWED_ERR']=(v[0x7]='No\x20modification\x20allowed',0x7),D=u['NOT_FOUND_ERR']=(v[0x8]='Not\x20found',0x8),E=u['NOT_SUPPORTED_ERR']=(v[0x9]='Not\x20supported',0x9),F=u['INUSE_ATTRIBUTE_ERR']=(v[0xa]='Attribute\x20in\x20use',0xa),G=u['INVALID_STATE_ERR']=(v[0xb]='Invalid\x20state',0xb),H=u['SYNTAX_ERR']=(v[0xc]='Syntax\x20error',0xc),I=u['INVALID_MODIFICATION_ERR']=(v[0xd]='Invalid\x20modification',0xd),J=u['NAMESPACE_ERR']=(v[0xe]='Invalid\x20namespace',0xe),K=u['INVALID_ACCESS_ERR']=(v[0xf]='Invalid\x20access',0xf);function L(an,ao){if(ao instanceof Error)var ap=ao;else{ap=this,Error['call'](this,v[an]),this['message']=v[an];if(Error['captureStackTrace'])Error['captureStackTrace'](this,L);}ap['code']=an;if(ao)this['message']=this['message']+':\x20'+ao;return ap;};L['prototype']=Error['prototype'],d(u,L);function M(){};M['prototype']={'length':0x0,'item':function(an){return this[an]||null;},'toString':function(an,ao){for(var ap=[],aq=0x0;aq=0x0){var ar=ao['length']-0x1;while(aq0x0;},'lookupPrefix':function(an){var ao=this;while(ao){var ap=ao['_nsMap'];if(ap)for(var aq in ap){if(ap[aq]==an)return aq;}ao=ao['nodeType']==j?ao['ownerDocument']:ao['parentNode'];}return null;},'lookupNamespaceURI':function(an){var ao=this;while(ao){var ap=ao['_nsMap'];if(ap){if(an in ap)return ap[an];}ao=ao['nodeType']==j?ao['ownerDocument']:ao['parentNode'];}return null;},'isDefaultNamespace':function(an){var ao=this['lookupPrefix'](an);return ao==null;}};function V(an){return an=='<'&&'<'||an=='>'&&'>'||an=='&'&&'&'||an=='\x22'&&'"'||'&#'+an['charCodeAt']()+';';}d(h,U),d(h,U['prototype']);function W(an,ao){if(ao(an))return!![];if(an=an['firstChild'])do{if(W(an,ao))return!![];}while(an=an['nextSibling']);}function X(){}function Y(an,ao,ap){an&&an['_inc']++;var aq=ap['namespaceURI'];aq=='http://www.w3.org/2000/xmlns/'&&(ao['_nsMap'][ap['prefix']?ap['localName']:'']=ap['value']);}function Z(an,ao,ap,aq){an&&an['_inc']++;var ar=ap['namespaceURI'];ar=='http://www.w3.org/2000/xmlns/'&&delete ao['_nsMap'][ap['prefix']?ap['localName']:''];}function a0(an,ao,ap){if(an&&an['_inc']){an['_inc']++;var aq=ao['childNodes'];if(ap)aq[aq['length']++]=ap;else{var ar=ao['firstChild'],as=0x0;while(ar){aq[as++]=ar,ar=ar['nextSibling'];}aq['length']=as;}}}function a1(an,ao){var ap=ao['previousSibling'],aq=ao['nextSibling'];return ap?ap['nextSibling']=aq:an['firstChild']=aq,aq?aq['previousSibling']=ap:an['lastChild']=ap,a0(an['ownerDocument'],an),ao;}function a2(an,ao,ap){var aq=ao['parentNode'];aq&&aq['removeChild'](ao);if(ao['nodeType']===s){var ar=ao['firstChild'];if(ar==null)return ao;var as=ao['lastChild'];}else ar=as=ao;var at=ap?ap['previousSibling']:an['lastChild'];ar['previousSibling']=at,as['nextSibling']=ap;at?at['nextSibling']=ar:an['firstChild']=ar;ap==null?an['lastChild']=as:ap['previousSibling']=as;do{ar['parentNode']=an;}while(ar!==as&&(ar=ar['nextSibling']));return a0(an['ownerDocument']||an,an),ao['nodeType']==s&&(ao['firstChild']=ao['lastChild']=null),ao;}function a3(an,ao){var ap=ao['parentNode'];if(ap){var aq=an['lastChild'];ap['removeChild'](ao);var aq=an['lastChild'];}var aq=an['lastChild'];return ao['parentNode']=an,ao['previousSibling']=aq,ao['nextSibling']=null,aq?aq['nextSibling']=ao:an['firstChild']=ao,an['lastChild']=ao,a0(an['ownerDocument'],an,ao),ao;}X['prototype']={'nodeName':'#document','nodeType':q,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function(an,ao){if(an['nodeType']==s){var ap=an['firstChild'];while(ap){var aq=ap['nextSibling'];this['insertBefore'](ap,ao),ap=aq;}return an;}return this['documentElement']==null&&an['nodeType']==i&&(this['documentElement']=an),(a2(this,an,ao),an['ownerDocument']=this,an);},'removeChild':function(an){return this['documentElement']==an&&(this['documentElement']=null),a1(this,an);},'importNode':function(an,ao){return ak(this,an,ao);},'getElementById':function(an){var ao=null;return W(this['documentElement'],function(ap){if(ap['nodeType']==i){if(ap['getAttribute']('id')==an)return ao=ap,!![];}}),ao;},'createElement':function(an){var ao=new a4();ao['ownerDocument']=this,ao['nodeName']=an,ao['tagName']=an,ao['childNodes']=new M();var ap=ao['attributes']=new P();return ap['_ownerElement']=ao,ao;},'createDocumentFragment':function(){var an=new ae();return an['ownerDocument']=this,an['childNodes']=new M(),an;},'createTextNode':function(an){var ao=new a7();return ao['ownerDocument']=this,ao['appendData'](an),ao;},'createComment':function(an){var ao=new a8();return ao['ownerDocument']=this,ao['appendData'](an),ao;},'createCDATASection':function(an){var ao=new a9();return ao['ownerDocument']=this,ao['appendData'](an),ao;},'createProcessingInstruction':function(an,ao){var ap=new af();return ap['ownerDocument']=this,ap['tagName']=ap['target']=an,ap['nodeValue']=ap['data']=ao,ap;},'createAttribute':function(an){var ao=new a5();return ao['ownerDocument']=this,ao['name']=an,ao['nodeName']=an,ao['localName']=an,ao['specified']=!![],ao;},'createEntityReference':function(an){var ao=new ad();return ao['ownerDocument']=this,ao['nodeName']=an,ao;},'createElementNS':function(an,ao){var ap=new a4(),aq=ao['split'](':'),ar=ap['attributes']=new P();return ap['childNodes']=new M(),ap['ownerDocument']=this,ap['nodeName']=ao,ap['tagName']=ao,ap['namespaceURI']=an,aq['length']==0x2?(ap['prefix']=aq[0x0],ap['localName']=aq[0x1]):ap['localName']=ao,ar['_ownerElement']=ap,ap;},'createAttributeNS':function(an,ao){var ap=new a5(),aq=ao['split'](':');return ap['ownerDocument']=this,ap['nodeName']=ao,ap['name']=ao,ap['namespaceURI']=an,ap['specified']=!![],aq['length']==0x2?(ap['prefix']=aq[0x0],ap['localName']=aq[0x1]):ap['localName']=ao,ap;}},f(X,U);function a4(){this['_nsMap']={};};a4['prototype']={'nodeType':i,'hasAttribute':function(an){return this['getAttributeNode'](an)!=null;},'getAttribute':function(an){var ao=this['getAttributeNode'](an);return ao&&ao['value']||'';},'getAttributeNode':function(an){return this['attributes']['getNamedItem'](an);},'setAttribute':function(an,ao){var ap=this['ownerDocument']['createAttribute'](an);ap['value']=ap['nodeValue']=''+ao,this['setAttributeNode'](ap);},'removeAttribute':function(an){var ao=this['getAttributeNode'](an);ao&&this['removeAttributeNode'](ao);},'appendChild':function(an){return an['nodeType']===s?this['insertBefore'](an,null):a3(this,an);},'setAttributeNode':function(an){return this['attributes']['setNamedItem'](an);},'setAttributeNodeNS':function(an){return this['attributes']['setNamedItemNS'](an);},'removeAttributeNode':function(an){return this['attributes']['removeNamedItem'](an['nodeName']);},'removeAttributeNS':function(an,ao){var ap=this['getAttributeNodeNS'](an,ao);ap&&this['removeAttributeNode'](ap);},'hasAttributeNS':function(an,ao){return this['getAttributeNodeNS'](an,ao)!=null;},'getAttributeNS':function(an,ao){var ap=this['getAttributeNodeNS'](an,ao);return ap&&ap['value']||'';},'setAttributeNS':function(an,ao,ap){var aq=this['ownerDocument']['createAttributeNS'](an,ao);aq['value']=aq['nodeValue']=''+ap,this['setAttributeNode'](aq);},'getAttributeNodeNS':function(an,ao){return this['attributes']['getNamedItemNS'](an,ao);},'getElementsByTagName':function(an){return new N(this,function(ao){var ap=[];return W(ao,function(aq){aq!==ao&&aq['nodeType']==i&&(an==='*'||aq['tagName']==an)&&ap['push'](aq);}),ap;});},'getElementsByTagNameNS':function(an,ao){return new N(this,function(ap){var aq=[];return W(ap,function(ar){ar!==ap&&ar['nodeType']===i&&(an==='*'||ar['namespaceURI']===an)&&(ao==='*'||ar['localName']==ao)&&aq['push'](ar);}),aq;});}},X['prototype']['getElementsByTagName']=a4['prototype']['getElementsByTagName'],X['prototype']['getElementsByTagNameNS']=a4['prototype']['getElementsByTagNameNS'],f(a4,U);function a5(){};a5['prototype']['nodeType']=j,f(a5,U);function a6(){};a6['prototype']={'data':'','substringData':function(an,ao){return this['data']['substring'](an,an+ao);},'appendData':function(an){an=this['data']+an,this['nodeValue']=this['data']=an,this['length']=an['length'];},'insertData':function(an,ao){this['replaceData'](an,0x0,ao);},'appendChild':function(an){throw new Error(v[y]);},'deleteData':function(an,ao){this['replaceData'](an,ao,'');},'replaceData':function(an,ao,ap){var aq=this['data']['substring'](0x0,an),ar=this['data']['substring'](an+ao);ap=aq+ap+ar,this['nodeValue']=this['data']=ap,this['length']=ap['length'];}},f(a6,U);function a7(){};a7['prototype']={'nodeName':'#text','nodeType':k,'splitText':function(an){var ao=this['data'],ap=ao['substring'](an);ao=ao['substring'](0x0,an),this['data']=this['nodeValue']=ao,this['length']=ao['length'];var aq=this['ownerDocument']['createTextNode'](ap);return this['parentNode']&&this['parentNode']['insertBefore'](aq,this['nextSibling']),aq;}},f(a7,a6);function a8(){};a8['prototype']={'nodeName':'#comment','nodeType':p},f(a8,a6);function a9(){};a9['prototype']={'nodeName':'#cdata-section','nodeType':l},f(a9,a6);function aa(){};aa['prototype']['nodeType']=r,f(aa,U);function ab(){};ab['prototype']['nodeType']=t,f(ab,U);function ac(){};ac['prototype']['nodeType']=n,f(ac,U);function ad(){};ad['prototype']['nodeType']=m,f(ad,U);function ae(){};ae['prototype']['nodeName']='#document-fragment',ae['prototype']['nodeType']=s,f(ae,U);function af(){}af['prototype']['nodeType']=o,f(af,U);function ag(){}ag['prototype']['serializeToString']=function(an,ao,ap){return ah['call'](an,ao,ap);},U['prototype']['toString']=ah;function ah(an,ao){var ap=[],aq=this['nodeType']==0x9&&this['documentElement']||this,ar=aq['prefix'],as=aq['namespaceURI'];if(as&&ar==null){var ar=aq['lookupPrefix'](as);if(ar==null)var at=[{'namespace':as,'prefix':null}];}return aj(this,ap,an,ao,at),ap['join']('');}function ai(an,ao,ap){var aq=an['prefix']||'',ar=an['namespaceURI'];if(!aq&&!ar)return![];if(aq==='xml'&&ar==='http://www.w3.org/XML/1998/namespace'||ar=='http://www.w3.org/2000/xmlns/')return![];var as=ap['length'];while(as--){var at=ap[as];if(at['prefix']==aq)return at['namespace']!=ar;}return!![];}function aj(an,ao,ap,aq,ar){if(aq){an=aq(an);if(an){if(typeof an=='string'){ao['push'](an);return;}}else return;}switch(an['nodeType']){case i:if(!ar)ar=[];var as=ar['length'],at=an['attributes'],au=at['length'],av=an['firstChild'],aw=an['tagName'];ap=g===an['namespaceURI']||ap,ao['push']('<',aw);for(var ax=0x0;ax');if(ap&&/^script$/i['test'](aw))while(av){av['data']?ao['push'](av['data']):aj(av,ao,ap,aq,ar),av=av['nextSibling'];}else while(av){aj(av,ao,ap,aq,ar),av=av['nextSibling'];}ao['push']('');}else ao['push']('/>');return;case q:case s:var av=an['firstChild'];while(av){aj(av,ao,ap,aq,ar),av=av['nextSibling'];}return;case j:return ao['push']('\x20',an['name'],'=\x22',an['value']['replace'](/[<&"]/g,V),'\x22');case k:return ao['push'](an['data']['replace'](/[<&]/g,V));case l:return ao['push']('');case p:return ao['push']('');case r:var aC=an['publicId'],aD=an['systemId'];ao['push']('');else{if(aD&&aD!='.')ao['push']('\x20SYSTEM\x20\x22',aD,'\x22>');else{var aE=an['internalSubset'];aE&&ao['push']('\x20[',aE,']'),ao['push']('>');}}return;case o:return ao['push']('');case m:return ao['push']('&',an['nodeName'],';');default:ao['push']('??',an['nodeName']);}}function ak(an,ao,ap){var aq;switch(ao['nodeType']){case i:aq=ao['cloneNode'](![]),aq['ownerDocument']=an;case s:break;case j:ap=!![];break;}!aq&&(aq=ao['cloneNode'](![]));aq['ownerDocument']=an,aq['parentNode']=null;if(ap){var ar=ao['firstChild'];while(ar){aq['appendChild'](ak(an,ar,ap)),ar=ar['nextSibling'];}}return aq;}function al(an,ao,ap){var aq=new ao['constructor']();for(var ar in ao){var as=ao[ar];typeof as!='object'&&(as!=aq[ar]&&(aq[ar]=as));}ao['childNodes']&&(aq['childNodes']=new M());aq['ownerDocument']=an;switch(aq['nodeType']){case i:var at=ao['attributes'],au=aq['attributes']=new P(),av=at['length'];au['_ownerElement']=aq;for(var aw=0x0;aw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x2b:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function(A,B,C){var D=this['domBuilder'];D['startDocument'](),v(B,B={}),p(A,B,C,D,this['errorHandler']),D['endDocument']();}};function p(A,B,C,D,E){function F(a6){if(a6>0xffff){a6-=0x10000;var a7=0xd800+(a6>>0xa),a8=0xdc00+(a6&0x3ff);return String['fromCharCode'](a7,a8);}else return String['fromCharCode'](a6);}function G(a6){var a7=a6['slice'](0x1,-0x1);if(a7 in C)return C[a7];else return a7['charAt'](0x0)==='#'?F(parseInt(a7['substr'](0x1)['replace']('x','0x'))):(E['error']('entity\x20not\x20found:'+a6),a6);}function H(a6){if(a6>P){var a7=A['substring'](P,a6)['replace'](/&#?\w+;/g,G);M&&I(P),D['characters'](a7,0x0,a6-P),P=a6;}}function I(a6,a7){while(a6>=K&&(a7=L['exec'](A))){J=a7['index'],K=J+a7[0x0]['length'],M['lineNumber']++;}M['columnNumber']=a6-J+0x1;}var J=0x0,K=0x0,L=/.*(?:\r\n?|\n)|.*$/g,M=D['locator'],N=[{'currentNSMap':B}],O={},P=0x0;while(!![]){try{var Q=A['indexOf']('<',P);if(Q<0x0){if(!A['substr'](P)['match'](/^\s*$/)){var R=D['doc'],S=R['createTextNode'](A['substr'](P));R['appendChild'](S),D['currentElement']=S;}return;}Q>P&&H(Q);switch(A['charAt'](Q+0x1)){case'/':var T=A['indexOf']('>',Q+0x3),U=A['substring'](Q+0x2,T),V=N['pop']();if(T<0x0)U=A['substring'](Q+0x2)['replace'](/[\s<].*/,''),E['error']('end\x20tag\x20name:\x20'+U+'\x20is\x20not\x20complete:'+V['tagName']),T=Q+0x1+U['length'];else U['match'](/\sP?P=T:H(Math['max'](Q,P)+0x1);}}function q(A,B){return B['lineNumber']=A['lineNumber'],B['columnNumber']=A['columnNumber'],B;}function r(A,B,C,D,E,F){var G,H,I=++B,J=g;while(!![]){var K=A['charAt'](I);switch(K){case'=':if(J===h)G=A['slice'](B,I),J=j;else{if(J===i)J=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(J===j||J===h){J===h&&(F['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),G=A['slice'](B,I));B=I+0x1,I=A['indexOf'](K,B);if(I>0x0)H=A['slice'](B,I)['replace'](/&#?\w+;/g,E),C['add'](G,H,B-0x1),J=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+K+'\x27\x20match');}else{if(J==k)H=A['slice'](B,I)['replace'](/&#?\w+;/g,E),C['add'](G,H,B),F['warning']('attribute\x20\x22'+G+'\x22\x20missed\x20start\x20quot('+K+')!!'),B=I+0x1,J=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(J){case g:C['setTagName'](A['slice'](B,I));case l:case m:case n:J=n,C['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':F['error']('unexpected\x20end\x20of\x20input');J==g&&C['setTagName'](A['slice'](B,I));return I;case'>':switch(J){case g:C['setTagName'](A['slice'](B,I));case l:case m:case n:break;case k:case h:H=A['slice'](B,I);H['slice'](-0x1)==='/'&&(C['closed']=!![],H=H['slice'](0x0,-0x1));case i:J===i&&(H=G);J==k?(F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20quot(\x22)!!'),C['add'](G,H['replace'](/&#?\w+;/g,E),B)):((D['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead!!'),C['add'](H,H,B));break;case j:throw new Error('attribute\x20value\x20missed!!');}return I;case'\u0080':K='\x20';default:if(K<='\x20')switch(J){case g:C['setTagName'](A['slice'](B,I)),J=m;break;case h:G=A['slice'](B,I),J=i;break;case k:var H=A['slice'](B,I)['replace'](/&#?\w+;/g,E);F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20quot(\x22)!!'),C['add'](G,H,B);case l:J=m;break;}else switch(J){case i:var L=C['tagName'];(D['']!=='http://www.w3.org/1999/xhtml'||!G['match'](/^(?:disabled|checked|selected)$/i))&&F['warning']('attribute\x20\x22'+G+'\x22\x20missed\x20value!!\x20\x22'+G+'\x22\x20instead2!!');C['add'](G,G,B),B=I,J=h;break;case l:F['warning']('attribute\x20space\x20is\x20required\x22'+G+'\x22!!');case m:J=h,B=I;break;case j:J=k,B=I;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}I++;}}function s(A,B,C){var D=A['tagName'],E=null,F=A['length'];while(F--){var G=A[F],H=G['qName'],I=G['value'],J=H['indexOf'](':');if(J>0x0)var K=G['prefix']=H['slice'](0x0,J),L=H['slice'](J+0x1),M=K==='xmlns'&&L;else L=H,K=null,M=H==='xmlns'&&'';G['localName']=L,M!==![]&&(E==null&&(E={},v(C,C={})),C[M]=E[M]=I,G['uri']='http://www.w3.org/2000/xmlns/',B['startPrefixMapping'](M,I));}var F=A['length'];while(F--){G=A[F];var K=G['prefix'];K&&(K==='xml'&&(G['uri']='http://www.w3.org/XML/1998/namespace'),K!=='xmlns'&&(G['uri']=C[K||'']));}var J=D['indexOf'](':');J>0x0?(K=A['prefix']=D['slice'](0x0,J),L=A['localName']=D['slice'](J+0x1)):(K=null,L=A['localName']=D);var N=A['uri']=C[K||''];B['startElement'](N,L,D,A);if(A['closed']){B['endElement'](N,L,D);if(E)for(K in E){B['endPrefixMapping'](K);}}else return A['currentNSMap']=C,A['localNSMap']=E,!![];}function t(A,B,C,D,E){if(/^(?:script|textarea)$/i['test'](C)){var F=A['indexOf']('',B),G=A['substring'](B+0x1,F);if(/[&<]/['test'](G)){if(/^script$/i['test'](C))return E['characters'](G,0x0,G['length']),F;return G=G['replace'](/&#?\w+;/g,D),E['characters'](G,0x0,G['length']),F;}}return B+0x1;}function u(A,B,C,D){var E=D[C];return E==null&&(E=A['lastIndexOf'](''),E',B+0x4);return F>B?(C['comment'](A,B+0x4,F-B-0x4),F+0x3):(D['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(A['substr'](B+0x3,0x6)=='CDATA['){var F=A['indexOf'](']]>',B+0x9);return C['startCDATA'](),C['characters'](A,B+0x9,F-B-0x9),C['endCDATA'](),F+0x3;}var G=z(A,B),H=G['length'];if(H>0x1&&/!doctype/i['test'](G[0x0][0x0])){var I=G[0x1][0x0],J=H>0x3&&/^public$/i['test'](G[0x2][0x0])&&G[0x3][0x0],K=H>0x4&&G[0x4][0x0],L=G[H-0x1];return C['startDTD'](I,J&&J['replace'](/^(['"])(.*?)\1$/,'$2'),K&&K['replace'](/^(['"])(.*?)\1$/,'$2')),C['endDTD'](),L['index']+L[0x0]['length'];}}return-0x1;}function x(A,B,C){var D=A['indexOf']('?>',B);if(D){var E=A['substring'](B,D)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(E){var F=E[0x0]['length'];return C['processingInstruction'](E[0x1],E[0x2]),D+0x2;}else return-0x1;}return-0x1;}function y(A){}y['prototype']={'setTagName':function(A){if(!f['test'](A))throw new Error('invalid\x20tagName:'+A);this['tagName']=A;},'add':function(A,B,C){if(!f['test'](A))throw new Error('invalid\x20attribute:'+A);this[this['length']++]={'qName':A,'value':B,'offset':C};},'length':0x0,'getLocalName':function(A){return this[A]['localName'];},'getLocator':function(A){return this[A]['locator'];},'getQName':function(A){return this[A]['qName'];},'getURI':function(A){return this[A]['uri'];},'getValue':function(A){return this[A]['value'];}};function z(A,B){var C,D=[],E=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;E['lastIndex']=B,E['exec'](A);while(C=E['exec'](A)){D['push'](C);if(C[0x1])return D;}}c['XMLReader']=o;},{}],0x2c:[function(a,b,c){'use strict';const d=globalThis['jsb']['window']=globalThis['jsb']['window']||{};b['exports']=d;},{}]},{},[0x5])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/native/web-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/native/web-adapter.min.js +deleted file mode 100644 +index 0b2cc56..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/native/web-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x1)for(var u=0x1;u=0x0&&(l['_idleTimeoutId']=setTimeout(function n(){if(l['_onTimeout'])l['_onTimeout']();},m));},c['setImmediate']=typeof d==='function'?d:function(l){var m=j++,n=arguments['length']<0x2?![]:h['call'](arguments,0x1);return i[m]=!![],f(function o(){i[m]&&(n?l['apply'](null,n):l['call'](null),c['clearImmediate'](m));}),m;},c['clearImmediate']=typeof e==='function'?e:function(l){delete i[l];};}['call'](this));}['call'](this,a('timers')['setImmediate'],a('timers')['clearImmediate']));},{'process/browser.js':0x1,'timers':0x2}],0x3:[function(a,b,c){(function(d){(function(){'use strict';(function(e){(function(f){if(typeof define==='function'&&define['amd'])define(['exports'],f);else typeof c==='object'&&typeof c['nodeName']!=='string'?f(c):f(e);}(f=>{f['URL']=e['URL']||e['webkitURL'];if(e['Blob']&&e['URL'])try{new Blob();return;}catch(i){}const g=e['BlobBuilder']||e['WebKitBlobBuilder']||e['MozBlobBuilder']||(function(){const j=function(B){return Object['prototype']['toString']['call'](B)['match'](/^\[object\s(.*)\]$/)[0x1];},k=function B(){this['data']=[];},l=function C(D,E,F){this['data']=D,this['size']=D['length'],this['type']=E,this['encoding']=F;},m=k['prototype'],n=l['prototype'],o=e['FileReaderSync'],p=function(D){this['code']=this[this['name']=D];},q=('NOT_FOUND_ERR\x20SECURITY_ERR\x20ABORT_ERR\x20NOT_READABLE_ERR\x20ENCODING_ERR\x20'+'NO_MODIFICATION_ALLOWED_ERR\x20INVALID_STATE_ERR\x20SYNTAX_ERR')['split']('\x20');let r=q['length'];const s=e['URL']||e['webkitURL']||f,t=s['createObjectURL'],u=s['revokeObjectURL'];let v=s;const w=e['btoa'],x=e['atob'],y=e['ArrayBuffer'],z=e['Uint8Array'],A=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;l['fake']=n['fake']=!![];while(r--){p['prototype'][q[r]]=r+0x1;}return!s['createObjectURL']&&(v=f['URL']=function(D){const E=document['createElementNS']('http://www.w3.org/1999/xhtml','a');let F;return E['href']=D,!('origin'in E)&&(E['protocol']['toLowerCase']()==='data:'?E['origin']=null:(F=D['match'](A),E['origin']=F&&F[0x1])),E;}),v['createObjectURL']=function(D){let E=D['type'],F;E===null&&(E='application/octet-stream');if(D instanceof l){F='data:'+E;if(D['encoding']==='base64')return F+';base64,'+D['data'];else{if(D['encoding']==='URI')return F+','+decodeURIComponent(D['data']);}return w?F+';base64,'+w(D['data']):F+','+encodeURIComponent(D['data']);}else{if(t)return t['call'](s,D);}},v['revokeObjectURL']=function(D){D['substring'](0x0,0x5)!=='data:'&&u&&u['call'](s,D);},m['append']=function(D){const E=this['data'];if(z&&(D instanceof y||D instanceof z)){let F='';const G=new z(D);let H=0x0;const I=G['length'];for(;H0x1?E:this['data']['length']),F,this['encoding']);},n['toString']=function(){return'[object\x20Blob]';},n['close']=function(){this['size']=0x0,delete this['data'];},k;}());f['Blob']=function(j,k){const l=k?k['type']||'':'',m=new g();if(j)for(let o=0x0,p=j['length'];o>0x8-m%0x1*0x8)){if(k=l['charCodeAt'](m+=0.75),k>0xff)throw new d('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');j=j<<0x8|k;}return q;}),f['atob']||(f['atob']=function(h){var j=String(h)['replace'](/[=]+$/,'');if(j['length']%0x4==0x1)throw new d('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var k,l,m=0x0,p=0x0,q='';l=j['charAt'](p++);~l&&(k=m%0x4?0x40*k+l:l,m++%0x4)?q+=String['fromCharCode'](0xff&k>>(-0x2*m&0x6)):0x0)l=g['indexOf'](l);return q;});}());},{}],0x5:[function(a,b,c){'use strict';globalThis['__EDITOR__']=globalThis['process']&&'electron'in globalThis['process']['versions'],a('./wasm');const d=a('../jsbWindow');jsb['device']=jsb['Device'];const {btoa:e,atob:f}=a('./base64/base64.min');d['btoa']=e,d['atob']=f;const {Blob:g,URL:h}=a('./Blob');d['Blob']=g,d['URL']=h,d['DOMParser']=a('./xmldom/dom-parser')['DOMParser'],d['XMLHttpRequest']=jsb['XMLHttpRequest'],d['SocketIO']=jsb['SocketIO'],d['WebSocket']=jsb['WebSocket'],a('./jsb_prepare'),a('./jsb-adapter'),a('./jsb_audioengine'),a('./jsb_input');let i=null,j=0x0;const k={};let l=!![];d['requestAnimationFrame']=function(s){const t=++j;return k[t]=s,t;},d['cancelAnimationFrame']=function(s){delete k[s];};function m(s){if(l){l=![];if(d['onload']){const t=new Event('load');t['_target']=globalThis,d['onload'](t);}}q(s);for(const u in k){i=k[u],i&&(delete k[u],i(s));}}let n=0x0;class o{constructor(s,t,u,v,w){this['cb']=s,this['id']=++n,this['start']=performance['now'](),this['delay']=t,this['isRepeat']=u,this['target']=v,this['args']=w;}}const p={};function q(s){let t;for(const u in p){t=p[u];if(t&&t['cb']){if(s-t['start']>=t['delay']){t['isRepeat']?t['start']=s:delete p[u];if(typeof t['cb']==='string')Function(t['cb'])();else typeof t['cb']==='function'&&t['cb']['apply'](t['target'],t['args']);}}}}function r(s,t){const u=s[0x0];if(!u)return console['error']('createTimeoutInfo\x20doesn\x27t\x20pass\x20a\x20callback\x20...'),0x0;const v=s['length']>0x1?s[0x1]:0x0;let w;s['length']>0x2&&(w=Array['prototype']['slice']['call'](s,0x2));const x=new o(u,v,t,this,w);return p[x['id']]=x,x['id'];}window['oh']&&window['scriptEngineType']==='napi'?console['log']('Openharmony\x20with\x20napi\x20has\x20alreay\x20implemented\x20setTimeout/setInterval'):(d['setTimeout']=function(s){return r(arguments,![]);},d['clearTimeout']=function(s){delete p[s];},d['setInterval']=function(s){return r(arguments,!![]);},d['clearInterval']=d['clearTimeout']);d['alert']=console['error']['bind'](console);typeof jsb['FileUtils']!=='undefined'&&(jsb['fileUtils']=jsb['FileUtils']['getInstance'](),delete jsb['FileUtils']);d['XMLHttpRequest']['prototype']['addEventListener']=function(s,t,u){this['on'+s]=t;},d['XMLHttpRequest']['prototype']['removeEventListener']=function(s,t,u){this['on'+s]=null;};d['SocketIO']&&(d['io']=d['SocketIO'],d['SocketIO']['prototype']['_Emit']=d['SocketIO']['prototype']['emit'],d['SocketIO']['prototype']['emit']=function(s,t){typeof t==='object'&&(t=JSON['stringify'](t)),this['_Emit'](s,t);});d['gameTick']=m,jsb['generateGetSet']=function(s){for(const t in s){const u=s[t]&&s[t]['prototype'];if(!u)continue;for(const v in u){const w=v['search'](/^get/);if(w==-0x1)continue;let x=v['replace'](/^get/,'');const y=x['split'](''),z=y[0x0]['toLowerCase'](),A=y[0x0]['toUpperCase']();y['splice'](0x0,0x1);const B=y['join']('');x=z+B;const C='set'+A+B;if(u['hasOwnProperty'](x))continue;const D=u[C],E=typeof D==='function';E?Object['defineProperty'](u,x,{'get'(){return this[v]();},'set'(F){this[C](F);},'configurable':!![]}):Object['defineProperty'](u,x,{'get'(){return this[v]();},'configurable':!![]});}}};for(const s in d){globalThis[s]===undefined&&(globalThis[s]=d[s]);}typeof globalThis['window']==='undefined'&&(globalThis['window']=globalThis),a('./promise.min');},{'../jsbWindow':0x2c,'./Blob':0x3,'./base64/base64.min':0x4,'./jsb-adapter':0x1e,'./jsb_audioengine':0x23,'./jsb_input':0x24,'./jsb_prepare':0x25,'./promise.min':0x26,'./wasm':0x27,'./xmldom/dom-parser':0x28}],0x6:[function(a,b,c){'use strict';const d=a('./ImageData');class e{constructor(){this['lineWidth']=undefined,this['lineJoin']=undefined,this['fillStyle']=undefined,this['font']=undefined,this['lineCap']=undefined,this['textAlign']=undefined,this['textBaseline']=undefined,this['strokeStyle']=undefined,this['globalCompositeOperation']=undefined,this['shadowBlur']=undefined,this['shadowColor']=undefined,this['shadowOffsetX']=undefined,this['shadowOffsetY']=undefined;}}jsb['CanvasRenderingContext2D']['prototype']['_ctor']=function(){this['__nativeRefs']={};};class f{constructor(g,h){this['_nativeObj']=new jsb['CanvasRenderingContext2D'](g,h),this['_attris']=new e();}get['width'](){return this['_nativeObj']['width'];}set['width'](g){this['_nativeObj']['width']=g;}get['height'](){return this['_nativeObj']['height'];}set['height'](g){this['_nativeObj']['height']=g;}get['lineWidth'](){return this['_attris']['lineWidth'];}set['lineWidth'](g){this['_attris']['lineWidth']=g;}get['lineJoin'](){return this['_attris']['lineJoin'];}set['lineJoin'](g){this['_attris']['lineJoin']=g;}get['fillStyle'](){return this['_attris']['fillStyle'];}set['fillStyle'](g){this['_attris']['fillStyle']=g;}get['font'](){return this['_attris']['font'];}set['font'](g){this['_attris']['font']=g;}get['lineCap'](){return this['_attris']['lineCap'];}set['lineCap'](g){this['_attris']['lineCap']=g;}get['textAlign'](){return this['_attris']['textAlign'];}set['textAlign'](g){this['_attris']['textAlign']=g;}get['textBaseline'](){return this['_attris']['textBaseline'];}set['textBaseline'](g){this['_attris']['textBaseline']=g;}get['strokeStyle'](){return this['_attris']['strokeStyle'];}set['strokeStyle'](g){this['_attris']['strokeStyle']=g;}get['globalCompositeOperation'](){return this['_attris']['globalCompositeOperation'];}set['globalCompositeOperation'](g){this['_attris']['globalCompositeOperation']=g;}get['shadowBlur'](){return this['_attris']['shadowBlur'];}set['shadowBlur'](g){this['_attris']['shadowBlur']=g;}get['shadowColor'](){return this['_attris']['shadowColor'];}set['shadowColor'](g){this['_attris']['shadowColor']=g;}get['shadowOffsetX'](){return this['_attris']['shadowOffsetX'];}set['shadowOffsetX'](g){this['_attris']['shadowOffsetX']=g;}get['shadowOffsetY'](){return this['_attris']['shadowOffsetY'];}set['shadowOffsetY'](g){this['_attris']['shadowOffsetY']=g;}['restore'](){this['_nativeObj']['restore']();}['moveTo'](g,h){this['_nativeObj']['moveTo'](g,h);}['lineTo'](g,h){this['_nativeObj']['lineTo'](g,h);}['setTransform'](g,h,i,j,k,l){this['_nativeObj']['setTransform'](g,h,i,j,k,l);}['stroke'](){this['_canvas']['_dataInner']=null,this['_nativeObj']['stroke']();}['measureText'](g){return this['_nativeObj']['measureText'](g,this['_attris']);}['fill'](){this['_canvas']['_dataInner']=null,this['_nativeObj']['fill']();}['_fillImageData'](g,h,i,j,k){this['_canvas']['_dataInner']=null,this['_nativeObj']['_fillImageData'](g,h,i,j,k);}['scale'](g,h){this['_nativeObj']['scale'](g,h);}['clearRect'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['clearRect'](g,h,i,j);}['transform'](g,h,i,j,k,l){this['_nativeObj']['transform'](g,h,i,j,k,l);}['fillText'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['fillText'](g,h,i,j,this['_attris']);}['strokeText'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['strokeText'](g,h,i,j,this['_attris']);}['save'](){this['_nativeObj']['save']();}['fillRect'](g,h,i,j){this['_canvas']['_dataInner']=null,this['_nativeObj']['fillRect'](g,h,i,j,this['_attris']);}['fetchData'](){typeof this['_nativeObj']['fetchData']!=='undefined'&&this['_nativeObj']['fetchData']();}['rotate'](g){this['_nativeObj']['rotate'](g);}['beginPath'](){this['_nativeObj']['beginPath']();}['rect'](g,h,i,j){this['_nativeObj']['rect'](g,h,i,j);}['translate'](g,h){this['_nativeObj']['translate'](g,h);}['createLinearGradient'](g,h,i,j){return this['_nativeObj']['createLinearGradient'](g,h,i,j);}['closePath'](){this['_nativeObj']['closePath']();}['putImageData'](g,h,i,j,k,l,m){this['_canvas']['_data']=g;}['createImageData'](g,h){if(typeof g==='number'&&typeof h==='number')return new d(g,h);else{if(g instanceof d)return new d(g['data'],g['width'],g['height']);}}['_setCanvasBufferUpdatedCallback'](g){this['_nativeObj']['_setCanvasBufferUpdatedCallback'](g);}}b['exports']=f;},{'./ImageData':0x16}],0x7:[function(a,b,c){'use strict';class d{constructor(e,f,g,h){this['x']=e?e:0x0,this['y']=f?f:0x0,this['width']=g?g:0x0,this['height']=h?h:0x0,this['left']=this['x'],this['top']=this['y'],this['right']=this['x']+this['width'],this['bottom']=this['y']+this['height'];}}b['exports']=d;},{}],0x8:[function(a,b,c){'use strict';const d=a('./Event');class e extends d{constructor(f){super('devicemotion'),f?(this['_acceleration']=f['acceleration']?f['acceleration']:{'x':0x0,'y':0x0,'z':0x0},this['_accelerationIncludingGravity']=f['accelerationIncludingGravity']?f['accelerationIncludingGravity']:{'x':0x0,'y':0x0,'z':0x0},this['_rotationRate']=f['rotationRate']?f['rotationRate']:{'alpha':0x0,'beta':0x0,'gamma':0x0},this['_interval']=f['interval']):(this['_acceleration']={'x':0x0,'y':0x0,'z':0x0},this['_accelerationIncludingGravity']={'x':0x0,'y':0x0,'z':0x0},this['_rotationRate']={'alpha':0x0,'beta':0x0,'gamma':0x0},this['_interval']=0x0);}get['acceleration'](){return this['_acceleration'];}get['accelerationIncludingGravity'](){return this['_accelerationIncludingGravity'];}get['rotationRate'](){return this['_rotationRate'];}get['interval'](){return this['_interval'];}}b['exports']=e;},{'./Event':0xa}],0x9:[function(a,b,c){'use strict';const d=a('./Node'),e=a('./DOMRect'),f=a('../../jsbWindow');class g extends d{constructor(){super(),this['className']='',this['children']=[],this['clientLeft']=0x0,this['clientTop']=0x0,this['scrollLeft']=0x0,this['scrollTop']=0x0;}get['clientWidth'](){return 0x0;}get['clientHeight'](){return 0x0;}['getBoundingClientRect'](){return new e(0x0,0x0,f['innerWidth'],f['innerHeight']);}['removeAttribute'](h){}}b['exports']=g;},{'../../jsbWindow':0x2c,'./DOMRect':0x7,'./Node':0x1a}],0xa:[function(a,b,c){'use strict';class d{constructor(e,f){this['_type']=e,this['_target']=null,this['_eventPhase']=0x2,this['_currentTarget']=null,this['_canceled']=![],this['_stopped']=![],this['_passiveListener']=null,this['_timeStamp']=Date['now']();}get['type'](){return this['_type'];}get['target'](){return this['_target'];}get['currentTarget'](){return this['_currentTarget'];}get['isTrusted'](){return![];}get['timeStamp'](){return this['_timeStamp'];}['composedPath'](){const e=this['_currentTarget'];if(e===null)return[];return[e];}get['eventPhase'](){return this['_eventPhase'];}['stopPropagation'](){}['stopImmediatePropagation'](){this['_stopped']=!![];}get['bubbles'](){return![];}get['cancelable'](){return!![];}['preventDefault'](){if(this['_passiveListener']!==null){console['warn']('Event#preventDefault()\x20was\x20called\x20from\x20a\x20passive\x20listener:',this['_passiveListener']);return;}if(!this['cancelable'])return;this['_canceled']=!![];}get['defaultPrevented'](){return this['_canceled'];}get['composed'](){return![];}get['timeStamp'](){return this['_timeStamp'];}}d['NONE']=0x0,d['CAPTURING_PHASE']=0x1,d['AT_TARGET']=0x2,d['BUBBLING_PHASE']=0x3,b['exports']=d;},{}],0xb:[function(a,b,c){'use strict';var d=0x0,e={'touch':{},'mouse':{},'keyboard':{},'devicemotion':{}},f={'touch':0x0,'mouse':0x0,'keyboard':0x0,'devicemotion':0x0},g={'touch':null,'mouse':null,'keyboard':null,'devicemotion':null},h={'touch':null,'mouse':null,'keyboard':null,'devicemotion':null};const i={'touch':['touchstart','touchmove','touchend','touchcancel'],'mouse':['mousedown','mousemove','mouseup','mousewheel'],'keyboard':['keydown','keyup','keypress'],'devicemotion':['devicemotion']},j=0x1,k=0x2,l=0x3;function m(o){return o&&typeof o==='object';}class n{constructor(){this['_targetID']=++d,this['_listenerCount']={'touch':0x0,'mouse':0x0,'keyboard':0x0,'devicemotion':0x0},this['_listeners']=new Map();}['_associateSystemEventListener'](o){var p;for(var q in i){p=i[q];if(p['indexOf'](o)>-0x1){g[q]&&f[q]===0x0&&g[q]();if(this['_listenerCount'][q]===0x0)e[q][this['_targetID']]=this;++this['_listenerCount'][q],++f[q];break;}}}['_dissociateSystemEventListener'](o){var p;for(var q in i){p=i[q];if(p['indexOf'](o)>-0x1){if(this['_listenerCount'][q]<=0x0)delete e[q][this['_targetID']];--f[q];h[q]&&f[q]===0x0&&h[q]();break;}}}['addEventListener'](o,p,q){if(!p)return![];if(typeof p!=='function'&&!m(p))throw new TypeError('\x27listener\x27\x20should\x20be\x20a\x20function\x20or\x20an\x20object.');const r=this['_listeners'],s=m(q),t=s?Boolean(q['capture']):Boolean(q),u=t?j:k,v={'listener':p,'listenerType':u,'passive':s&&Boolean(q['passive']),'once':s&&Boolean(q['once']),'next':null};let w=r['get'](o);if(w===undefined)return r['set'](o,v),this['_associateSystemEventListener'](o),!![];let x=null;while(w){if(w['listener']===p&&w['listenerType']===u)return![];x=w,w=w['next'];}return x['next']=v,this['_associateSystemEventListener'](o),!![];}['removeEventListener'](o,p,q){if(!p)return![];const r=this['_listeners'],s=m(q)?Boolean(q['capture']):Boolean(q),t=s?j:k;let u=null,v=r['get'](o);while(v){if(v['listener']===p&&v['listenerType']===t){if(u)u['next']=v['next'];else v['next']?r['set'](o,v['next']):r['delete'](o);return this['_dissociateSystemEventListener'](o),!![];}u=v,v=v['next'];}return![];}['dispatchEvent'](o){if(!o||typeof o['type']!=='string')throw new TypeError('\x22event.type\x22\x20should\x20be\x20a\x20string.');const p=o['type'];var q=this['on'+p];if(q&&typeof q==='function'){o['_target']=o['_currentTarget']=this,q['call'](this,o),o['_target']=o['_currentTarget']=null,o['_eventPhase']=0x0,o['_passiveListener']=null;if(o['defaultPrevented'])return![];}const r=this['_listeners'];let s=r['get'](p);if(!s)return!![];o['_target']=o['_currentTarget']=this;let t=null;while(s){if(s['once']){if(t)t['next']=s['next'];else s['next']?r['set'](p,s['next']):r['delete'](p);}else t=s;o['_passiveListener']=s['passive']?s['listener']:null;typeof s['listener']==='function'&&s['listener']['call'](this,o);if(o['_stopped'])break;s=s['next'];}return o['_target']=o['_currentTarget']=null,o['_eventPhase']=0x0,o['_passiveListener']=null,!o['defaultPrevented'];}}b['exports']=n;},{}],0xc:[function(a,b,c){'use strict';const d=a('./EventTarget'),e=a('./Event'),f=a('../../jsbWindow');class g extends d{['construct'](){this['result']=null;}['abort'](){}['readAsArrayBuffer'](){}['readAsDataURL'](h){this['result']='data:image/png;base64,'+f['btoa'](h);const i=new e('load');this['dispatchEvent'](i);}['readAsText'](){}}b['exports']=g;},{'../../jsbWindow':0x2c,'./Event':0xa,'./EventTarget':0xb}],0xd:[function(a,b,c){'use strict';class d{constructor(e,f,g){this['family']=e,this['source']=f,this['descriptors']=g,this['_status']='unloaded',this['_loaded']=new Promise((h,i)=>{this['_resolveCB']=h,this['_rejectCB']=i;});}['load'](){}get['status'](){return this['_status'];}get['loaded'](){return this['_loaded'];}}b['exports']=d;},{}],0xe:[function(a,b,c){'use strict';const d=a('./EventTarget'),e=a('./Event');class f extends d{constructor(){super(),this['_status']='loading';}get['status'](){return this['_status'];}set['onloading'](g){this['addEventListener']('loading',g);}set['onloadingdone'](g){this['addEventListener']('loadingdone',g);}set['onloadingerror'](g){this['addEventListener']('loadingerror',g);}['add'](g){this['_status']=g['_status']='loading',this['dispatchEvent'](new e('loading'));let h=jsb['loadFont'](g['family'],g['source']);setTimeout(()=>{h?(g['_status']=this['_status']='loaded',g['_resolveCB'](),this['dispatchEvent'](new e('loadingdone'))):(g['_status']=this['_status']='error',g['_rejectCB'](),this['dispatchEvent'](new e('loadingerror')));},0x0);}['clear'](){}['delete'](){}['load'](){}['ready'](){}}b['exports']=f;},{'./Event':0xa,'./EventTarget':0xb}],0xf:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./ImageData'),f=a('./DOMRect'),g=a('./CanvasRenderingContext2D'),h=a('../../jsbWindow'),i=function(m){return m=Math['round'](m),m<0x0?0x0:m<0xff?m:0xff;};class j{constructor(){console['log']('==>\x20CanvasGradient\x20constructor');}['addColorStop'](m,n){console['log']('==>\x20CanvasGradient\x20addColorStop');}}class k{constructor(m){this['_width']=m;}get['width'](){return this['_width'];}}class l extends d{constructor(m,n){super('canvas'),this['id']='glcanvas',this['type']='canvas',this['top']=0x0,this['left']=0x0,this['_width']=m?Math['ceil'](m):0x0,this['_height']=n?Math['ceil'](n):0x0,this['_context2D']=null,this['_dataInner']=null;}['getContext'](m,n){const o=this;if(m==='2d')return!this['_context2D']&&(this['_context2D']=new g(this['_width'],this['_height']),this['_context2D']['_canvas']=this,this['_context2D']['_setCanvasBufferUpdatedCallback'](p=>{o['_dataInner']=new e(p,o['_width'],o['_height']);})),this['_context2D'];return null;}get['_data'](){if(this['_context2D']===null)return null;return!this['_dataInner']&&this['_context2D']['fetchData'](),this['_dataInner'];}set['_data'](m){this['_dataInner']=m;}set['width'](m){m=Math['ceil'](m),this['_width']!==m&&(this['_dataInner']=null,this['_width']=m,this['_context2D']&&(this['_context2D']['width']=m));}get['width'](){return this['_width'];}set['height'](m){m=Math['ceil'](m),this['_height']!==m&&(this['_dataInner']=null,this['_height']=m,this['_context2D']&&(this['_context2D']['height']=m));}get['height'](){return this['_height'];}get['clientWidth'](){return h['innerWidth'];}get['clientHeight'](){return h['innerHeight'];}get['data'](){if(this['_data'])return this['_data']['data'];return null;}['getBoundingClientRect'](){return new f(0x0,0x0,h['innerWidth'],h['innerHeight']);}['requestPointerLock'](){jsb['setCursorEnabled'](![]);}['_destroy'](){this['_context2D']&&(this['_context2D']['_setCanvasBufferUpdatedCallback'](null),this['_context2D']=null);}}b['exports']=l;},{'../../jsbWindow':0x2c,'./CanvasRenderingContext2D':0x6,'./DOMRect':0x7,'./HTMLElement':0x10,'./ImageData':0x16}],0x10:[function(a,b,c){'use strict';const d=a('./Element'),{noop:e}=a('./util'),f=a('../../jsbWindow');class g extends d{constructor(h=''){super(),this['tagName']=h['toUpperCase'](),this['className']='',this['children']=[],this['style']={'width':f['innerWidth']+'px','height':f['innerHeight']+'px'},this['innerHTML']='',this['parentElement']=f['__canvas'];}['setAttribute'](h,i){this[h]=i;}['getAttribute'](h){return this[h];}['focus'](){}}b['exports']=g;},{'../../jsbWindow':0x2c,'./Element':0x9,'./util':0x21}],0x11:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./Event');class f extends d{constructor(g,h,i){if(!i)throw new TypeError('Illegal\x20constructor,\x20use\x20\x27new\x20Image(w,\x20h);\x20instead!\x27');super('img'),this['width']=g?g:0x0,this['height']=h?h:0x0,this['_data']=null,this['_src']=null,this['complete']=![],this['crossOrigin']=null,this['_mipmapLevelDataSize']=[];}['destroy'](){this['_data']&&(jsb['destroyImage'](this['_data']),this['_data']=null),this['_src']=null;}set['src'](g){this['_src']=g;if(g==='')return;jsb['loadImage'](g,h=>{if(!h){this['_data']=null;var i=new e('error');this['dispatchEvent'](i);return;}this['width']=this['naturalWidth']=h['width'],this['height']=this['naturalHeight']=h['height'],this['_data']=h['data'],this['format']=h['format'],this['complete']=!![],this['_mipmapLevelDataSize']=h['mipmapLevelDataSize'];var i=new e('load');this['dispatchEvent'](i);});}get['src'](){return this['_src'];}get['clientWidth'](){return this['width'];}get['clientHeight'](){return this['height'];}['getBoundingClientRect'](){return new DOMRect(0x0,0x0,this['width'],this['height']);}}b['exports']=f;},{'./Event':0xa,'./HTMLElement':0x10}],0x12:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./MediaError'),f=0x0,g=0x1,h=0x2,i=0x3,j=0x4;class k extends d{constructor(l){super(l),this['_volume']=0x1,this['_duration']=0x0,this['_isEnded']=![],this['_isMute']=![],this['_readyState']=f,this['_error']=new e();}['addTextTrack'](){}['captureStream'](){}['fastSeek'](){}['load'](){}['pause'](){}['play'](){}['canPlayType'](l){return'';}set['volume'](l){this['_volume']=l;}get['volume'](){return this['_volume'];}get['duration'](){return this['_duration'];}get['ended'](){return this['_isEnded'];}get['muted'](){return this['_isMute'];}get['readyState'](){return this['_readyState'];}get['error'](){return this['_error'];}get['currentTime'](){return 0x0;}}b['exports']=k;},{'./HTMLElement':0x10,'./MediaError':0x18}],0x13:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./Event'),f=[];class g extends d{constructor(h,i){super('script');}set['type'](h){h==='systemjs-importmap'&&(f['indexOf'](this)===-0x1&&f['push'](this));}set['src'](h){setTimeout(()=>{a(h),this['dispatchEvent'](new e('load'));},0x0);}}g['_getAllScriptElementsSystemJSImportType']=function(){return f;},b['exports']=g;},{'./Event':0xa,'./HTMLElement':0x10}],0x14:[function(a,b,c){'use strict';const d=a('./HTMLMediaElement');class e extends d{constructor(){super('video');}['canPlayType'](f){if(f==='video/mp4')return!![];return![];}}b['exports']=e;},{'./HTMLMediaElement':0x12}],0x15:[function(a,b,c){'use strict';let d=a('./HTMLImageElement');class e extends d{constructor(f,g){super(f,g,!![]);}}b['exports']=e;},{'./HTMLImageElement':0x11}],0x16:[function(a,b,c){'use strict';class d{constructor(e,f,g){typeof e==='number'&&typeof f=='number'&&(g=f,f=e,e=null),e===null?this['_data']=new Uint8ClampedArray(f*g*0x4):this['_data']=e,this['_width']=f,this['_height']=g;}get['data'](){return this['_data'];}get['width'](){return this['_width'];}get['height'](){return this['_height'];}}b['exports']=d;},{}],0x17:[function(a,b,c){'use strict';const d=a('./Event'),e={'48':')','49':'!','50':'@','51':'#','52':'$','53':'%','54':'^','55':'&','56':'*','57':'('};var f=![];class g extends d{constructor(h,i){super(h);typeof i==='object'?(this['_altKeyActive']=i['altKey']?i['altKey']:![],this['_ctrlKeyActive']=i['ctrlKey']?i['ctrlKey']:![],this['_metaKeyActive']=i['metaKey']?i['metaKey']:![],this['_shiftKeyActive']=i['shiftKey']?i['shiftKey']:![],this['_keyCode']=i['keyCode']?i['keyCode']:-0x1,this['_repeat']=i['repeat']?i['repeat']:![]):(this['_altKeyActive']=![],this['_ctrlKeyActive']=![],this['_metaKeyActive']=![],this['_shiftKeyActive']=![],this['_keyCode']=-0x1,this['_repeat']=![]);var j=this['_keyCode'];if(j>=0x30&&j<=0x39){var k=j-0x30;this['_code']='Digit'+k,this['_key']=this['_shiftKeyActive']?e[j]:''+k;}else{if(j>=0x2740&&j<=0x2749){j=this['_keyCode']=j-0x2710;var k=j-0x30;this['_code']='Numpad'+k,this['_key']=''+k;}else{if(j>=0x41&&j<=0x5a){var l=String['fromCharCode'](j);this['_code']='Key'+l,this['_key']=this['_shiftKeyActive']^f?l:l['toLowerCase']();}else{if(j>=0x61&&j<=0x7a){var l=String['fromCharCode'](j);this['_keyCode']=j-(0x61-0x41),this['_code']='Key'+l,this['_key']=this['_shiftKeyActive']^f?l['toUpperCase']():l;}else{if(j>=0x70&&j<=0x7b)this['_code']=this['_key']='F'+(j-0x6f);else{if(j===0x1b)this['_code']=this['_key']='Escape';else{if(j===0xbd)this['_code']='Minus',this['_key']=this['_shiftKeyActive']?'_':'-';else{if(j===0xbb)this['_code']='Equal',this['_key']=this['_shiftKeyActive']?'+':'=';else{if(j===0xdc)this['_code']='Backslash',this['_key']=this['_shiftKeyActive']?'|':'\x5c';else{if(j===0xc0)this['_code']='Backquote',this['_key']=this['_shiftKeyActive']?'~':'`';else{if(j===0x8)this['_code']=this['_key']='Backspace';else{if(j===0xd)this['_code']=this['_key']='Enter';else{if(j===0xdb)this['_code']='BracketLeft',this['_key']=this['_shiftKeyActive']?'{':'[';else{if(j===0xdd)this['_code']='BracketRight',this['_key']=this['_shiftKeyActive']?'}':']';else{if(j===0xba)this['_code']='Semicolon',this['_key']=this['_shiftKeyActive']?':':';';else{if(j===0xde)this['_code']='Quote',this['_key']=this['_shiftKeyActive']?'\x22':'\x27';else{if(j===0x9)this['_code']=this['_key']='Tab';else{if(j===0x11)this['_code']='ControlLeft',this['_key']='Control';else{if(j===0x4e31)this['_keyCode']=0x11,this['_code']='ControlRight',this['_key']='Control';else{if(j===0x10)this['_code']='ShiftLeft',this['_key']='Shift';else{if(j===0x4e30)this['_keyCode']=0x10,this['_code']='ShiftRight',this['_key']='Shift';else{if(j===0x12)this['_code']='AltLeft',this['_key']='Alt';else{if(j===0x4e32)this['_keyCode']=0x12,this['_code']='AltRight',this['_key']='Alt';else{if(j===0x5b)this['_code']='MetaLeft',this['_key']='Meta';else{if(j===0x5d)this['_code']='MetaRight',this['_key']='Meta';else{if(j===0x25)this['_code']=this['_key']='ArrowLeft';else{if(j===0x26)this['_code']=this['_key']='ArrowUp';else{if(j===0x27)this['_code']=this['_key']='ArrowRight';else{if(j===0x28)this['_code']=this['_key']='ArrowDown';else{if(j===0x4e7d)this['_keyCode']=0x5d,this['_code']=this['_key']='ContextMenu';else{if(j===0x4e2d)this['_keyCode']=0xd,this['_code']='NumpadEnter',this['_key']='Enter';else{if(j===0x6b)this['_code']='NumpadAdd',this['_key']='+';else{if(j===0x6d)this['_code']='NumpadSubtract',this['_key']='-';else{if(j===0x6a)this['_code']='NumpadMultiply',this['_key']='*';else{if(j===0x6f)this['_code']='NumpadDivide',this['_key']='/';else{if(j===0xc)this['_code']='NumLock',this['_key']='Clear';else{if(j===0x7c)this['_code']=this['_key']='F13';else{if(j===0x24)this['_code']=this['_key']='Home';else{if(j===0x21)this['_code']=this['_key']='PageUp';else{if(j===0x22)this['_code']=this['_key']='PageDown';else{if(j===0x23)this['_code']=this['_key']='End';else{if(j===0xbc)this['_code']='Comma',this['_key']=this['_shiftKeyActive']?'<':',';else{if(j===0xbe)this['_code']='Period',this['_key']=this['_shiftKeyActive']?'>':'.';else{if(j===0xbf)this['_code']='Slash',this['_key']=this['_shiftKeyActive']?'?':'/';else{if(j===0x20)this['_code']='Space',this['_key']='\x20';else{if(j===0x2e)this['_code']=this['_key']='Delete';else{if(j===0x6e)this['_code']='NumpadDecimal',this['_key']='.';else j===0x14?(this['_code']=this['_key']='CapsLock',h==='keyup'&&(f=!f)):console['log']('Unknown\x20keyCode:\x20'+this['_keyCode']);}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}['getModifierState'](){return![];}get['altKey'](){return this['_altKeyActive'];}get['code'](){return this['_code'];}get['ctrlKey'](){return this['_ctrlKeyActive'];}get['isComposing'](){return![];}get['key'](){return this['_key'];}get['keyCode'](){return this['_keyCode'];}get['location'](){return 0x0;}get['metaKey'](){return this['_metaKeyActive'];}get['repeat'](){return this['_repeat'];}get['shiftKey'](){return this['_shiftKeyActive'];}}b['exports']=g;},{'./Event':0xa}],0x18:[function(a,b,c){'use strict';const d=0x1,e=0x2,f=0x3,g=0x4;class h{constructor(){}get['code'](){return d;}get['message'](){return'';}}b['exports']=h;},{}],0x19:[function(a,b,c){'use strict';const d=a('./Event');class e extends d{constructor(f,g){super(f),this['_button']=g['button'],this['_which']=g['which'],this['_wheelDelta']=g['wheelDelta'],this['_clientX']=g['clientX'],this['_clientY']=g['clientY'],this['_screenX']=g['screenX'],this['_screenY']=g['screenY'],this['_pageX']=g['pageX'],this['_pageY']=g['pageY'];}get['button'](){return this['_button'];}get['which'](){return this['_which'];}get['wheelDelta'](){return this['_wheelDelta'];}get['clientX'](){return this['_clientX'];}get['clientY'](){return this['_clientY'];}get['screenX'](){return this['_screenX'];}get['screenY'](){return this['_screenY'];}get['pageX'](){return this['_pageX'];}get['pageY'](){return this['_pageY'];}}b['exports']=e;},{'./Event':0xa}],0x1a:[function(a,b,c){'use strict';const d=a('./EventTarget'),e=a('../../jsbWindow');class f extends d{constructor(){super(),this['childNodes']=[],this['parentNode']=e['__canvas'];}['appendChild'](g){if(g instanceof f)this['childNodes']['push'](g);else throw new TypeError('Failed\x20to\x20executed\x20\x27appendChild\x27\x20on\x20\x27Node\x27:\x20parameter\x201\x20is\x20not\x20of\x20type\x20\x27Node\x27.');}['insertBefore'](g,h){return g;}['replaceChild'](g,h){return h;}['cloneNode'](){const g=Object['create'](this);return Object['assign'](g,this),g;}['removeChild'](g){const h=this['childNodes']['findIndex'](i=>i===g);if(h>-0x1)return this['childNodes']['splice'](h,0x1);return null;}['contains'](g){return this['childNodes']['indexOf'](g)>-0x1;}}b['exports']=f;},{'../../jsbWindow':0x2c,'./EventTarget':0xb}],0x1b:[function(a,b,c){'use strict';const d=a('./Event');class e extends d{constructor(f,g){super(f),this['touches']=[],this['targetTouches']=[],this['changedTouches']=[];}}b['exports']=e;},{'./Event':0xa}],0x1c:[function(a,b,c){'use strict';const d=a('./HTMLElement'),e=a('./Image'),f=a('./HTMLCanvasElement'),g=a('./HTMLVideoElement'),h=a('./HTMLScriptElement'),i=a('./Node'),j=a('./FontFaceSet'),k=a('../../jsbWindow');class l extends i{constructor(){super(),this['readyState']='complete',this['visibilityState']='visible',this['documentElement']=globalThis,this['hidden']=![],this['style']={},this['location']=a('./location'),this['head']=new d('head'),this['body']=new d('body'),this['fonts']=new j(),this['scripts']=[];}['createElementNS'](m,n,o){return this['createElement'](n);}['createElement'](m){if(m==='canvas')return new f(0x1,0x1);else{if(m==='img')return new e();else{if(m==='video')return new g();else{if(m==='script')return new h();}}}return new d(m);}['getElementById'](m){if(m===k['__canvas']['id']||m==='canvas')return k['__canvas'];return new d(m);}['getElementsByTagName'](m){if(m==='head')return[document['head']];else{if(m==='body')return[document['body']];else{if(m==='canvas')return[k['__canvas']];}}return[new d(m)];}['getElementsByName'](m){if(m==='head')return[document['head']];else{if(m==='body')return[document['body']];else{if(m==='canvas')return[k['__canvas']];}}return[new d(m)];}['querySelector'](m){if(m==='head')return document['head'];else{if(m==='body')return document['body'];else{if(m==='canvas')return k['__canvas'];else{if(m==='#'+k['__canvas']['id'])return k['__canvas'];}}}return new d(m);}['querySelectorAll'](m){if(m==='head')return[document['head']];else{if(m==='body')return[document['body']];else{if(m==='canvas')return[k['__canvas']];else{if(m['startsWith']('script[type=\x22systemjs-importmap\x22]'))return h['_getAllScriptElementsSystemJSImportType']();}}}return[new d(m)];}['createTextNode'](){return new d('text');}['elementFromPoint'](){return k['canvas'];}['createEvent'](m){if(k[m])return new k[m]();return null;}['exitPointerLock'](){jsb['setCursorEnabled'](!![]);}}let document=new l();b['exports']=document;},{'../../jsbWindow':0x2c,'./FontFaceSet':0xe,'./HTMLCanvasElement':0xf,'./HTMLElement':0x10,'./HTMLScriptElement':0x13,'./HTMLVideoElement':0x14,'./Image':0x15,'./Node':0x1a,'./location':0x1f}],0x1d:[function(a,b,c){'use strict';Object['defineProperty'](c,'__esModule',{'value':!![]}),c['DOMException']=void 0x0,c['Headers']=k,c['Request']=u,c['Response']=x,c['fetch']=A;const d=globalThis,e={'searchParams':'URLSearchParams'in d,'iterable':'Symbol'in d&&'iterator'in Symbol,'blob':![],'formData':'FormData'in d,'arrayBuffer':'ArrayBuffer'in d};function f(B){return B&&DataView['prototype']['isPrototypeOf'](B);}if(e['arrayBuffer']){const B=['[object\x20Int8Array]','[object\x20Uint8Array]','[object\x20Uint8ClampedArray]','[object\x20Int16Array]','[object\x20Uint16Array]','[object\x20Int32Array]','[object\x20Uint32Array]','[object\x20Float32Array]','[object\x20Float64Array]'];var g=ArrayBuffer['isView']||function(C){return C&&B['indexOf'](Object['prototype']['toString']['call'](C))>-0x1;};}function h(C){typeof C!=='string'&&(C=String(C));if(/[^a-z0-9\-#$%&'*+.^_`|~]/i['test'](C)||C==='')throw new TypeError('Invalid\x20character\x20in\x20header\x20field\x20name');return C['toLowerCase']();}function i(C){return typeof C!=='string'&&(C=String(C)),C;}function j(C){const D={'next'(){const E=C['shift']();return{'done':E===undefined,'value':E};}};return e['iterable']&&(D[Symbol['iterator']]=function(){return D;}),D;}function k(C){this['map']={};if(C instanceof k)C['forEach'](function(D,E){this['append'](E,D);},this);else{if(Array['isArray'](C))C['forEach'](function(D){this['append'](D[0x0],D[0x1]);},this);else C&&Object['getOwnPropertyNames'](C)['forEach'](function(D){this['append'](D,C[D]);},this);}}k['prototype']['append']=function(C,D){C=h(C),D=i(D);const E=this['map'][C];this['map'][C]=E?E+',\x20'+D:D;},k['prototype']['delete']=function(C){delete this['map'][h(C)];},k['prototype']['get']=function(C){return C=h(C),this['has'](C)?this['map'][C]:null;},k['prototype']['has']=function(C){return this['map']['hasOwnProperty'](h(C));},k['prototype']['set']=function(C,D){this['map'][h(C)]=i(D);},k['prototype']['forEach']=function(C,D){for(const E in this['map']){this['map']['hasOwnProperty'](E)&&C['call'](D,this['map'][E],E,this);}},k['prototype']['keys']=function(){const C=[];return this['forEach']((D,E)=>{C['push'](E);}),j(C);},k['prototype']['values']=function(){const C=[];return this['forEach'](D=>{C['push'](D);}),j(C);},k['prototype']['entries']=function(){const C=[];return this['forEach']((D,E)=>{C['push']([E,D]);}),j(C);};e['iterable']&&(k['prototype'][Symbol['iterator']]=k['prototype']['entries']);function l(C){if(C['bodyUsed'])return Promise['reject'](new TypeError('Already\x20read'));C['bodyUsed']=!![];}function m(C){return new Promise((D,E)=>{C['onload']=function(){D(C['result']);},C['onerror']=function(){E(C['error']);};});}function n(C){const D=new FileReader(),E=m(D);return D['readAsArrayBuffer'](C),E;}function o(C){const D=new FileReader(),E=m(D);return D['readAsText'](C),E;}function p(C){const D=new Uint8Array(C),E=new Array(D['length']);for(let F=0x0;F-0x1?D:C;}function u(C,D){D=D||{};let E=D['body'];if(C instanceof u){if(C['bodyUsed'])throw new TypeError('Already\x20read');this['url']=C['url'],this['credentials']=C['credentials'],!D['headers']&&(this['headers']=new k(C['headers'])),this['method']=C['method'],this['mode']=C['mode'],this['signal']=C['signal'],!E&&C['_bodyInit']!=null&&(E=C['_bodyInit'],C['bodyUsed']=!![]);}else this['url']=String(C);this['credentials']=D['credentials']||this['credentials']||'same-origin';(D['headers']||!this['headers'])&&(this['headers']=new k(D['headers']));this['method']=t(D['method']||this['method']||'GET'),this['mode']=D['mode']||this['mode']||null,this['signal']=D['signal']||this['signal'],this['referrer']=null;if((this['method']==='GET'||this['method']==='HEAD')&&E)throw new TypeError('Body\x20not\x20allowed\x20for\x20GET\x20or\x20HEAD\x20requests');this['_initBody'](E);}u['prototype']['clone']=function(){return new u(this,{'body':this['_bodyInit']});};function v(C){const D=new FormData();return C['trim']()['split']('&')['forEach'](E=>{if(E){const F=E['split']('='),G=F['shift']()['replace'](/\+/g,'\x20'),H=F['join']('=')['replace'](/\+/g,'\x20');D['append'](decodeURIComponent(G),decodeURIComponent(H));}}),D;}function w(C){const D=new k(),E=C['replace'](/\r?\n[\t ]+/g,'\x20');return E['split'](/\r?\n/)['forEach'](F=>{const G=F['split'](':'),H=G['shift']()['trim']();if(H){const I=G['join'](':')['trim']();D['append'](H,I);}}),D;}r['call'](u['prototype']);function x(C,D){!D&&(D={}),this['type']='default',this['status']=D['status']===undefined?0xc8:D['status'],this['ok']=this['status']>=0xc8&&this['status']<0x12c,this['statusText']='statusText'in D?D['statusText']:'OK',this['headers']=new k(D['headers']),this['url']=D['url']||'',this['_initBody'](C);}r['call'](x['prototype']),x['prototype']['clone']=function(){return new x(this['_bodyInit'],{'status':this['status'],'statusText':this['statusText'],'headers':new k(this['headers']),'url':this['url']});},x['error']=function(){const C=new x(null,{'status':0x0,'statusText':''});return C['type']='error',C;};const y=[0x12d,0x12e,0x12f,0x133,0x134];x['redirect']=function(C,D){if(y['indexOf'](D)===-0x1)throw new RangeError('Invalid\x20status\x20code');return new x(null,{'status':D,'headers':{'location':C}});};var z=c['DOMException']=d['DOMException'];try{new z();}catch(C){c['DOMException']=z=function(D,E){this['message']=D,this['name']=E;const F=Error(D);this['stack']=F['stack'];},z['prototype']=Object['create'](Error['prototype']),z['prototype']['constructor']=z;}function A(D,E){return new Promise((F,G)=>{const H=new u(D,E);if(H['signal']&&H['signal']['aborted'])return G(new z('Aborted','AbortError'));const I=new XMLHttpRequest();function J(){I['abort']();}I['onload']=function(){const K={'status':I['status'],'statusText':I['statusText'],'headers':w(I['getAllResponseHeaders']()||'')};K['url']='responseURL'in I?I['responseURL']:K['headers']['get']('X-Request-URL');const L='response'in I?I['response']:I['responseText'];F(new x(L,K));},I['onerror']=function(){G(new TypeError('Network\x20request\x20failed'));},I['ontimeout']=function(){G(new TypeError('Network\x20request\x20failed'));},I['onabort']=function(){G(new z('Aborted','AbortError'));},I['open'](H['method'],H['url'],!![]);if(H['credentials']==='include')I['withCredentials']=!![];else H['credentials']==='omit'&&(I['withCredentials']=![]);'responseType'in I&&e['blob']&&(I['responseType']='blob'),H['headers']['forEach']((K,L)=>{I['setRequestHeader'](L,K);}),H['signal']&&(H['signal']['addEventListener']('abort',J),I['onreadystatechange']=function(){I['readyState']===0x4&&H['signal']['removeEventListener']('abort',J);}),I['send'](typeof H['_bodyInit']==='undefined'?null:H['_bodyInit']);});}A['polyfill']=!![];},{}],0x1e:[function(a,b,c){'use strict';a('./window');},{'./window':0x22}],0x1f:[function(a,b,c){'use strict';const d={'href':'game.js','pathname':'game.js','search':'','hash':'','protocol':'','reload'(){}};b['exports']=d;},{}],0x20:[function(a,b,c){'use strict';let {noop:d}=a('./util');const navigator={'platform':__getOS(),'language':__getCurrentLanguage(),'appVersion':'5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x209_1\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/601.1.46\x20(KHTML,\x20like\x20Gecko)\x20Version/9.0\x20Mobile/13B143\x20Safari/601.1','userAgent':'Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2010_3_1\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/603.1.30\x20(KHTML,\x20like\x20Gecko)\x20Mobile/14E8301\x20NetType/WIFI\x20Language/zh_CN','onLine':!![],'geolocation':{'getCurrentPosition':d,'watchPosition':d,'clearWatch':d},'maxTouchPoints':0xa};b['exports']=navigator;},{'./util':0x21}],0x21:[function(a,b,c){'use strict';function d(){}b['exports']=d;},{}],0x22:[function(a,b,c){'use strict';const d=a('../../jsbWindow');function e(){d['ontouchstart']=null,d['ontouchmove']=null,d['ontouchend']=null,d['ontouchcancel']=null,d['pageXOffset']=d['pageYOffset']=d['clientTop']=d['clientLeft']=0x0,d['outerWidth']=d['innerWidth'],d['outerHeight']=d['innerHeight'],d['clientWidth']=d['innerWidth'],d['clientHeight']=d['innerHeight'],d['top']=d['parent']=d,d['location']=a('./location'),d['document']=a('./document'),d['navigator']=a('./navigator'),d['CanvasRenderingContext2D']=a('./CanvasRenderingContext2D'),d['Element']=a('./Element'),d['HTMLElement']=a('./HTMLElement'),d['HTMLCanvasElement']=a('./HTMLCanvasElement'),d['HTMLImageElement']=a('./HTMLImageElement'),d['HTMLMediaElement']=a('./HTMLMediaElement'),d['HTMLVideoElement']=a('./HTMLVideoElement'),d['HTMLScriptElement']=a('./HTMLScriptElement'),d['__canvas']=new d['HTMLCanvasElement'](),d['__canvas']['_width']=d['innerWidth'],d['__canvas']['_height']=d['innerHeight'],d['Image']=a('./Image'),d['FileReader']=a('./FileReader'),d['FontFace']=a('./FontFace'),d['FontFaceSet']=a('./FontFaceSet'),d['EventTarget']=a('./EventTarget'),d['Event']=d['Event']||a('./Event'),d['TouchEvent']=a('./TouchEvent'),d['MouseEvent']=a('./MouseEvent'),d['KeyboardEvent']=a('./KeyboardEvent'),d['DeviceMotionEvent']=a('./DeviceMotionEvent');const f=a('./fetch');d['fetch']=f['fetch'],d['Headers']=f['Headers'],d['Request']=f['Request'],d['Response']=f['Response'],d['orientation']=jsb['device']['getDeviceOrientation'](),!__EDITOR__&&Object['defineProperty'](d,'devicePixelRatio',{'get'(){return jsb['device']['getDevicePixelRatio']?jsb['device']['getDevicePixelRatio']():0x1;},'set'(g){},'enumerable':!![],'configurable':!![]}),d['screen']={'availTop':0x0,'availLeft':0x0,'availHeight':d['innerWidth'],'availWidth':d['innerHeight'],'colorDepth':0x8,'pixelDepth':0x8,'left':0x0,'top':0x0,'width':d['innerWidth'],'height':d['innerHeight'],'orientation':{'type':'portrait-primary'},'onorientationchange'(g){}},d['addEventListener']=function(g,h,i){d['__canvas']['addEventListener'](g,h,i);},d['removeEventListener']=function(g,h,i){d['__canvas']['removeEventListener'](g,h,i);},d['dispatchEvent']=function(g){d['__canvas']['dispatchEvent'](g);},d['getComputedStyle']=function(g){return{'position':'absolute','left':'0px','top':'0px','height':'0px'};},d['resize']=function(g,h){d['innerWidth']=g,d['innerHeight']=h,d['outerWidth']=d['innerWidth'],d['outerHeight']=d['innerHeight'],d['__canvas']['_width']=d['innerWidth'],d['__canvas']['_height']=d['innerHeight'],d['screen']['availWidth']=d['innerWidth'],d['screen']['availHeight']=d['innerHeight'],d['screen']['width']=d['innerWidth'],d['screen']['height']=d['innerHeight'],d['clientWidth']=d['innerWidth'],d['clientHeight']=d['innerHeight'];const i=new d['Event']('resize');i['_target']=d,d['dispatchEvent'](i);},d['focus']=function(){},d['scroll']=function(){},d['_isInjected']=!![];}!d['_isInjected']&&e(),!__EDITOR__&&(d['localStorage']=sys['localStorage']);},{'../../jsbWindow':0x2c,'./CanvasRenderingContext2D':0x6,'./DeviceMotionEvent':0x8,'./Element':0x9,'./Event':0xa,'./EventTarget':0xb,'./FileReader':0xc,'./FontFace':0xd,'./FontFaceSet':0xe,'./HTMLCanvasElement':0xf,'./HTMLElement':0x10,'./HTMLImageElement':0x11,'./HTMLMediaElement':0x12,'./HTMLScriptElement':0x13,'./HTMLVideoElement':0x14,'./Image':0x15,'./KeyboardEvent':0x17,'./MouseEvent':0x19,'./TouchEvent':0x1b,'./document':0x1c,'./fetch':0x1d,'./location':0x1f,'./navigator':0x20}],0x23:[function(a,b,c){'use strict';(function(jsb){if(!jsb||!jsb['AudioEngine'])return;jsb['AudioEngine']['AudioState']={'ERROR':-0x1,'INITIALZING':0x0,'PLAYING':0x1,'PAUSED':0x2,'STOPPED':0x3},jsb['AudioEngine']['INVALID_AUDIO_ID']=-0x1,jsb['AudioEngine']['TIME_UNKNOWN']=-0x1,jsb['AudioEngine']['play']=jsb['AudioEngine']['play2d'],jsb['AudioEngine']['setErrorCallback']=()=>{};}(jsb));},{}],0x24:[function(a,b,c){'use strict';const d=a('./jsb-adapter/EventTarget'),e=a('./jsb-adapter/Event'),f=new d(),g={},h={};let i=0x1;const j=function(n){if(!n)return null;const o=function(p){n({'value':p['text']});};return n['___index']=i++,g[n['___index']]=o,o;},k=function(n){if(n&&n['___index']){const o=g[n['___index']];return delete g[n['___index']],o;}else return null;},l=function(n,o){if(o)f['removeEventListener'](n,k(o));else{const p=h[n];if(!p)return;for(let q=0x0,r=p['length'];q{function g(x){const y=this['constructor'];return this['then'](z=>y['resolve'](x())['then'](()=>z),z=>y['resolve'](x())['then'](()=>y['reject'](z)));}function h(){}function j(x){if(!(this instanceof j))throw new TypeError('Promises\x20must\x20be\x20constructed\x20via\x20new');if(typeof x!=='function')throw new TypeError('not\x20a\x20function');this['_state']=0x0,this['_handled']=!0x1,this['_value']=undefined,this['_deferreds']=[],s(x,this);}function k(x,y){for(;x['_state']===0x3;)x=x['_value'];x['_state']!==0x0?(x['_handled']=!0x0,j['_immediateFn'](()=>{const z=x['_state']===0x1?y['onFulfilled']:y['onRejected'];if(z!==null){let A;try{A=z(x['_value']);}catch(B){return void p(y['promise'],B);}m(y['promise'],A);}else(x['_state']===0x1?m:p)(y['promise'],x['_value']);})):x['_deferreds']['push'](y);}function m(x,y){try{if(y===x)throw new TypeError('A\x20promise\x20cannot\x20be\x20resolved\x20with\x20itself.');if(y&&(typeof y==='object'||typeof y==='function')){const z=y['then'];if(y instanceof j)return x['_state']=0x3,x['_value']=y,void q(x);if(typeof z==='function')return void s(function(A,B){return function(){A['apply'](B,arguments);};}(z,y),x);}x['_state']=0x1,x['_value']=y,q(x);}catch(A){p(x,A);}}function p(x,y){x['_state']=0x2,x['_value']=y,q(x);}function q(x){x['_state']===0x2&&x['_deferreds']['length']===0x0&&j['_immediateFn'](()=>{x['_handled']||j['_unhandledRejectionFn'](x['_value']);});for(let y=0x0,z=x['_deferreds']['length'];z>y;y++)k(x,x['_deferreds'][y]);x['_deferreds']=null;}function s(x,y){let z=!0x1;try{x(A=>{z||(z=!0x0,m(y,A));},A=>{z||(z=!0x0,p(y,A));});}catch(A){if(z)return;z=!0x0,p(y,A);}}const v=setTimeout;j['prototype']['catch']=function(x){return this['then'](null,x);},j['prototype']['then']=function(x,y){const z=new this['constructor'](h);return k(this,new function(A,B,C){this['onFulfilled']=typeof A==='function'?A:null,this['onRejected']=typeof B==='function'?B:null,this['promise']=C;}(x,y,z)),z;},j['prototype']['finally']=g,j['all']=function(x){return new j((y,z)=>{function A(E,F){try{if(F&&(typeof F==='object'||typeof F==='function')){const G=F['then'];if(typeof G==='function')return void G['call'](F,H=>{A(E,H);},z);}B[E]=F,--C==0x0&&y(B);}catch(H){z(H);}}if(!x||typeof x['length']==='undefined')throw new TypeError('Promise.all\x20accepts\x20an\x20array');var B=Array['prototype']['slice']['call'](x);if(B['length']===0x0)return y([]);for(var C=B['length'],D=0x0;B['length']>D;D++)A(D,B[D]);});},j['resolve']=function(x){return x&&typeof x==='object'&&x['constructor']===j?x:new j(y=>{y(x);});},j['reject']=function(x){return new j((y,z)=>{z(x);});},j['race']=function(x){return new j((y,z)=>{for(let A=0x0,B=x['length'];B>A;A++)x[A]['then'](y,z);});},j['_immediateFn']=typeof e==='function'&&function(x){e(x);}||function(x){v(x,0x0);},j['_unhandledRejectionFn']=function(x){void 0x0!==console&&console&&console['warn']('Possible\x20Unhandled\x20Promise\x20Rejection:',x);};const w=(function(){if(typeof self!=='undefined')return self;if(typeof window!=='undefined')return window;if(typeof d!=='undefined')return d;throw Error('unable\x20to\x20locate\x20global\x20object');}());'Promise'in w?w['Promise']['prototype']['finally']||(w['Promise']['prototype']['finally']=g):w['Promise']=j;});}['call'](this));}['call'](this,typeof global!=='undefined'?global:typeof self!=='undefined'?self:typeof window!=='undefined'?window:{},a('timers')['setImmediate']));},{'timers':0x2}],0x27:[function(a,b,c){'use strict';(function d(){if(!globalThis['WebAssembly']){console['warn']('WebAssembly\x20is\x20not\x20supported!');return;}console['info']('injectWebAssembly\x20...');const e=WebAssembly['instantiate'],f=WebAssembly['compile'];WebAssembly['compile']=function(g){return new Promise((h,i)=>{if(!g)i('WebAssembly.compile:\x20Invalid\x20buffer\x20source!');else CC_EDITOR?h(f['call'](WebAssembly,g)):h(new WebAssembly['Module'](g));});},WebAssembly['instantiate']=function(g,h){let i;return g instanceof WebAssembly['Module']?i=e(g,h):i=new Promise((j,k)=>{WebAssembly['compile'](g)['then'](l=>{e(l,h)['then'](m=>{j({'instance':m,'module':l});})['catch'](k);})['catch'](k);}),i;};}());},{}],0x28:[function(a,b,c){'use strict';function d(n){this['options']=n||{'locator':{}};}d['prototype']['parseFromString']=function(n,o){var p=this['options'],q=new l(),r=p['domBuilder']||new f(),s=p['errorHandler'],t=p['locator'],u=p['xmlns']||{},v=/\/x?html?$/['test'](o),w=v?k['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(n,o,p,q){var r=this['doc'],s=r['createElementNS'](n,p||o),t=q['length'];j(this,s),this['currentElement']=s,this['locator']&&g(this['locator'],s);for(var u=0x0;u=o+p||o)return new java['lang']['String'](n,o,p)+'';return n;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(n){f['prototype'][n]=function(){return null;};});function j(n,o){!n['currentElement']?n['doc']['appendChild'](o):n['currentElement']['appendChild'](o);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d;},{'./dom':0x29,'./entities':0x2a,'./sax':0x2b}],0x29:[function(a,b,c){'use strict';function d(an,ao){for(var ap in an){ao[ap]=an[ap];}}function f(an,ao){var ap=an['prototype'];if(!(ap instanceof ao)){function aq(){};aq['prototype']=ao['prototype'],aq=new aq(),d(ap,aq),an['prototype']=ap=aq;}ap['constructor']!=an&&(typeof an!='function'&&console['error']('unknow\x20Class:'+an),ap['constructor']=an);}var g='http://www.w3.org/1999/xhtml',h={},i=h['ELEMENT_NODE']=0x1,j=h['ATTRIBUTE_NODE']=0x2,k=h['TEXT_NODE']=0x3,l=h['CDATA_SECTION_NODE']=0x4,m=h['ENTITY_REFERENCE_NODE']=0x5,n=h['ENTITY_NODE']=0x6,o=h['PROCESSING_INSTRUCTION_NODE']=0x7,p=h['COMMENT_NODE']=0x8,q=h['DOCUMENT_NODE']=0x9,r=h['DOCUMENT_TYPE_NODE']=0xa,s=h['DOCUMENT_FRAGMENT_NODE']=0xb,t=h['NOTATION_NODE']=0xc,u={},v={},w=u['INDEX_SIZE_ERR']=(v[0x1]='Index\x20size\x20error',0x1),x=u['DOMSTRING_SIZE_ERR']=(v[0x2]='DOMString\x20size\x20error',0x2),y=u['HIERARCHY_REQUEST_ERR']=(v[0x3]='Hierarchy\x20request\x20error',0x3),z=u['WRONG_DOCUMENT_ERR']=(v[0x4]='Wrong\x20document',0x4),A=u['INVALID_CHARACTER_ERR']=(v[0x5]='Invalid\x20character',0x5),B=u['NO_DATA_ALLOWED_ERR']=(v[0x6]='No\x20data\x20allowed',0x6),C=u['NO_MODIFICATION_ALLOWED_ERR']=(v[0x7]='No\x20modification\x20allowed',0x7),D=u['NOT_FOUND_ERR']=(v[0x8]='Not\x20found',0x8),E=u['NOT_SUPPORTED_ERR']=(v[0x9]='Not\x20supported',0x9),F=u['INUSE_ATTRIBUTE_ERR']=(v[0xa]='Attribute\x20in\x20use',0xa),G=u['INVALID_STATE_ERR']=(v[0xb]='Invalid\x20state',0xb),H=u['SYNTAX_ERR']=(v[0xc]='Syntax\x20error',0xc),I=u['INVALID_MODIFICATION_ERR']=(v[0xd]='Invalid\x20modification',0xd),J=u['NAMESPACE_ERR']=(v[0xe]='Invalid\x20namespace',0xe),K=u['INVALID_ACCESS_ERR']=(v[0xf]='Invalid\x20access',0xf);function L(an,ao){if(ao instanceof Error)var ap=ao;else{ap=this,Error['call'](this,v[an]),this['message']=v[an];if(Error['captureStackTrace'])Error['captureStackTrace'](this,L);}ap['code']=an;if(ao)this['message']=this['message']+':\x20'+ao;return ap;};L['prototype']=Error['prototype'],d(u,L);function M(){};M['prototype']={'length':0x0,'item':function(an){return this[an]||null;},'toString':function(an,ao){for(var ap=[],aq=0x0;aq=0x0){var ar=ao['length']-0x1;while(aq0x0;},'lookupPrefix':function(an){var ao=this;while(ao){var ap=ao['_nsMap'];if(ap)for(var aq in ap){if(ap[aq]==an)return aq;}ao=ao['nodeType']==j?ao['ownerDocument']:ao['parentNode'];}return null;},'lookupNamespaceURI':function(an){var ao=this;while(ao){var ap=ao['_nsMap'];if(ap){if(an in ap)return ap[an];}ao=ao['nodeType']==j?ao['ownerDocument']:ao['parentNode'];}return null;},'isDefaultNamespace':function(an){var ao=this['lookupPrefix'](an);return ao==null;}};function V(an){return an=='<'&&'<'||an=='>'&&'>'||an=='&'&&'&'||an=='\x22'&&'"'||'&#'+an['charCodeAt']()+';';}d(h,U),d(h,U['prototype']);function W(an,ao){if(ao(an))return!![];if(an=an['firstChild'])do{if(W(an,ao))return!![];}while(an=an['nextSibling']);}function X(){}function Y(an,ao,ap){an&&an['_inc']++;var aq=ap['namespaceURI'];aq=='http://www.w3.org/2000/xmlns/'&&(ao['_nsMap'][ap['prefix']?ap['localName']:'']=ap['value']);}function Z(an,ao,ap,aq){an&&an['_inc']++;var ar=ap['namespaceURI'];ar=='http://www.w3.org/2000/xmlns/'&&delete ao['_nsMap'][ap['prefix']?ap['localName']:''];}function a0(an,ao,ap){if(an&&an['_inc']){an['_inc']++;var aq=ao['childNodes'];if(ap)aq[aq['length']++]=ap;else{var ar=ao['firstChild'],as=0x0;while(ar){aq[as++]=ar,ar=ar['nextSibling'];}aq['length']=as;}}}function a1(an,ao){var ap=ao['previousSibling'],aq=ao['nextSibling'];return ap?ap['nextSibling']=aq:an['firstChild']=aq,aq?aq['previousSibling']=ap:an['lastChild']=ap,a0(an['ownerDocument'],an),ao;}function a2(an,ao,ap){var aq=ao['parentNode'];aq&&aq['removeChild'](ao);if(ao['nodeType']===s){var ar=ao['firstChild'];if(ar==null)return ao;var as=ao['lastChild'];}else ar=as=ao;var at=ap?ap['previousSibling']:an['lastChild'];ar['previousSibling']=at,as['nextSibling']=ap;at?at['nextSibling']=ar:an['firstChild']=ar;ap==null?an['lastChild']=as:ap['previousSibling']=as;do{ar['parentNode']=an;}while(ar!==as&&(ar=ar['nextSibling']));return a0(an['ownerDocument']||an,an),ao['nodeType']==s&&(ao['firstChild']=ao['lastChild']=null),ao;}function a3(an,ao){var ap=ao['parentNode'];if(ap){var aq=an['lastChild'];ap['removeChild'](ao);var aq=an['lastChild'];}var aq=an['lastChild'];return ao['parentNode']=an,ao['previousSibling']=aq,ao['nextSibling']=null,aq?aq['nextSibling']=ao:an['firstChild']=ao,an['lastChild']=ao,a0(an['ownerDocument'],an,ao),ao;}X['prototype']={'nodeName':'#document','nodeType':q,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function(an,ao){if(an['nodeType']==s){var ap=an['firstChild'];while(ap){var aq=ap['nextSibling'];this['insertBefore'](ap,ao),ap=aq;}return an;}return this['documentElement']==null&&an['nodeType']==i&&(this['documentElement']=an),(a2(this,an,ao),an['ownerDocument']=this,an);},'removeChild':function(an){return this['documentElement']==an&&(this['documentElement']=null),a1(this,an);},'importNode':function(an,ao){return ak(this,an,ao);},'getElementById':function(an){var ao=null;return W(this['documentElement'],function(ap){if(ap['nodeType']==i){if(ap['getAttribute']('id')==an)return ao=ap,!![];}}),ao;},'createElement':function(an){var ao=new a4();ao['ownerDocument']=this,ao['nodeName']=an,ao['tagName']=an,ao['childNodes']=new M();var ap=ao['attributes']=new P();return ap['_ownerElement']=ao,ao;},'createDocumentFragment':function(){var an=new ae();return an['ownerDocument']=this,an['childNodes']=new M(),an;},'createTextNode':function(an){var ao=new a7();return ao['ownerDocument']=this,ao['appendData'](an),ao;},'createComment':function(an){var ao=new a8();return ao['ownerDocument']=this,ao['appendData'](an),ao;},'createCDATASection':function(an){var ao=new a9();return ao['ownerDocument']=this,ao['appendData'](an),ao;},'createProcessingInstruction':function(an,ao){var ap=new af();return ap['ownerDocument']=this,ap['tagName']=ap['target']=an,ap['nodeValue']=ap['data']=ao,ap;},'createAttribute':function(an){var ao=new a5();return ao['ownerDocument']=this,ao['name']=an,ao['nodeName']=an,ao['localName']=an,ao['specified']=!![],ao;},'createEntityReference':function(an){var ao=new ad();return ao['ownerDocument']=this,ao['nodeName']=an,ao;},'createElementNS':function(an,ao){var ap=new a4(),aq=ao['split'](':'),ar=ap['attributes']=new P();return ap['childNodes']=new M(),ap['ownerDocument']=this,ap['nodeName']=ao,ap['tagName']=ao,ap['namespaceURI']=an,aq['length']==0x2?(ap['prefix']=aq[0x0],ap['localName']=aq[0x1]):ap['localName']=ao,ar['_ownerElement']=ap,ap;},'createAttributeNS':function(an,ao){var ap=new a5(),aq=ao['split'](':');return ap['ownerDocument']=this,ap['nodeName']=ao,ap['name']=ao,ap['namespaceURI']=an,ap['specified']=!![],aq['length']==0x2?(ap['prefix']=aq[0x0],ap['localName']=aq[0x1]):ap['localName']=ao,ap;}},f(X,U);function a4(){this['_nsMap']={};};a4['prototype']={'nodeType':i,'hasAttribute':function(an){return this['getAttributeNode'](an)!=null;},'getAttribute':function(an){var ao=this['getAttributeNode'](an);return ao&&ao['value']||'';},'getAttributeNode':function(an){return this['attributes']['getNamedItem'](an);},'setAttribute':function(an,ao){var ap=this['ownerDocument']['createAttribute'](an);ap['value']=ap['nodeValue']=''+ao,this['setAttributeNode'](ap);},'removeAttribute':function(an){var ao=this['getAttributeNode'](an);ao&&this['removeAttributeNode'](ao);},'appendChild':function(an){return an['nodeType']===s?this['insertBefore'](an,null):a3(this,an);},'setAttributeNode':function(an){return this['attributes']['setNamedItem'](an);},'setAttributeNodeNS':function(an){return this['attributes']['setNamedItemNS'](an);},'removeAttributeNode':function(an){return this['attributes']['removeNamedItem'](an['nodeName']);},'removeAttributeNS':function(an,ao){var ap=this['getAttributeNodeNS'](an,ao);ap&&this['removeAttributeNode'](ap);},'hasAttributeNS':function(an,ao){return this['getAttributeNodeNS'](an,ao)!=null;},'getAttributeNS':function(an,ao){var ap=this['getAttributeNodeNS'](an,ao);return ap&&ap['value']||'';},'setAttributeNS':function(an,ao,ap){var aq=this['ownerDocument']['createAttributeNS'](an,ao);aq['value']=aq['nodeValue']=''+ap,this['setAttributeNode'](aq);},'getAttributeNodeNS':function(an,ao){return this['attributes']['getNamedItemNS'](an,ao);},'getElementsByTagName':function(an){return new N(this,function(ao){var ap=[];return W(ao,function(aq){aq!==ao&&aq['nodeType']==i&&(an==='*'||aq['tagName']==an)&&ap['push'](aq);}),ap;});},'getElementsByTagNameNS':function(an,ao){return new N(this,function(ap){var aq=[];return W(ap,function(ar){ar!==ap&&ar['nodeType']===i&&(an==='*'||ar['namespaceURI']===an)&&(ao==='*'||ar['localName']==ao)&&aq['push'](ar);}),aq;});}},X['prototype']['getElementsByTagName']=a4['prototype']['getElementsByTagName'],X['prototype']['getElementsByTagNameNS']=a4['prototype']['getElementsByTagNameNS'],f(a4,U);function a5(){};a5['prototype']['nodeType']=j,f(a5,U);function a6(){};a6['prototype']={'data':'','substringData':function(an,ao){return this['data']['substring'](an,an+ao);},'appendData':function(an){an=this['data']+an,this['nodeValue']=this['data']=an,this['length']=an['length'];},'insertData':function(an,ao){this['replaceData'](an,0x0,ao);},'appendChild':function(an){throw new Error(v[y]);},'deleteData':function(an,ao){this['replaceData'](an,ao,'');},'replaceData':function(an,ao,ap){var aq=this['data']['substring'](0x0,an),ar=this['data']['substring'](an+ao);ap=aq+ap+ar,this['nodeValue']=this['data']=ap,this['length']=ap['length'];}},f(a6,U);function a7(){};a7['prototype']={'nodeName':'#text','nodeType':k,'splitText':function(an){var ao=this['data'],ap=ao['substring'](an);ao=ao['substring'](0x0,an),this['data']=this['nodeValue']=ao,this['length']=ao['length'];var aq=this['ownerDocument']['createTextNode'](ap);return this['parentNode']&&this['parentNode']['insertBefore'](aq,this['nextSibling']),aq;}},f(a7,a6);function a8(){};a8['prototype']={'nodeName':'#comment','nodeType':p},f(a8,a6);function a9(){};a9['prototype']={'nodeName':'#cdata-section','nodeType':l},f(a9,a6);function aa(){};aa['prototype']['nodeType']=r,f(aa,U);function ab(){};ab['prototype']['nodeType']=t,f(ab,U);function ac(){};ac['prototype']['nodeType']=n,f(ac,U);function ad(){};ad['prototype']['nodeType']=m,f(ad,U);function ae(){};ae['prototype']['nodeName']='#document-fragment',ae['prototype']['nodeType']=s,f(ae,U);function af(){}af['prototype']['nodeType']=o,f(af,U);function ag(){}ag['prototype']['serializeToString']=function(an,ao,ap){return ah['call'](an,ao,ap);},U['prototype']['toString']=ah;function ah(an,ao){var ap=[],aq=this['nodeType']==0x9&&this['documentElement']||this,ar=aq['prefix'],as=aq['namespaceURI'];if(as&&ar==null){var ar=aq['lookupPrefix'](as);if(ar==null)var at=[{'namespace':as,'prefix':null}];}return aj(this,ap,an,ao,at),ap['join']('');}function ai(an,ao,ap){var aq=an['prefix']||'',ar=an['namespaceURI'];if(!aq&&!ar)return![];if(aq==='xml'&&ar==='http://www.w3.org/XML/1998/namespace'||ar=='http://www.w3.org/2000/xmlns/')return![];var as=ap['length'];while(as--){var at=ap[as];if(at['prefix']==aq)return at['namespace']!=ar;}return!![];}function aj(an,ao,ap,aq,ar){if(aq){an=aq(an);if(an){if(typeof an=='string'){ao['push'](an);return;}}else return;}switch(an['nodeType']){case i:if(!ar)ar=[];var as=ar['length'],at=an['attributes'],au=at['length'],av=an['firstChild'],aw=an['tagName'];ap=g===an['namespaceURI']||ap,ao['push']('<',aw);for(var ax=0x0;ax');if(ap&&/^script$/i['test'](aw))while(av){av['data']?ao['push'](av['data']):aj(av,ao,ap,aq,ar),av=av['nextSibling'];}else while(av){aj(av,ao,ap,aq,ar),av=av['nextSibling'];}ao['push']('');}else ao['push']('/>');return;case q:case s:var av=an['firstChild'];while(av){aj(av,ao,ap,aq,ar),av=av['nextSibling'];}return;case j:return ao['push']('\x20',an['name'],'=\x22',an['value']['replace'](/[<&"]/g,V),'\x22');case k:return ao['push'](an['data']['replace'](/[<&]/g,V));case l:return ao['push']('');case p:return ao['push']('');case r:var aC=an['publicId'],aD=an['systemId'];ao['push']('');else{if(aD&&aD!='.')ao['push']('\x20SYSTEM\x20\x22',aD,'\x22>');else{var aE=an['internalSubset'];aE&&ao['push']('\x20[',aE,']'),ao['push']('>');}}return;case o:return ao['push']('');case m:return ao['push']('&',an['nodeName'],';');default:ao['push']('??',an['nodeName']);}}function ak(an,ao,ap){var aq;switch(ao['nodeType']){case i:aq=ao['cloneNode'](![]),aq['ownerDocument']=an;case s:break;case j:ap=!![];break;}!aq&&(aq=ao['cloneNode'](![]));aq['ownerDocument']=an,aq['parentNode']=null;if(ap){var ar=ao['firstChild'];while(ar){aq['appendChild'](ak(an,ar,ap)),ar=ar['nextSibling'];}}return aq;}function al(an,ao,ap){var aq=new ao['constructor']();for(var ar in ao){var as=ao[ar];typeof as!='object'&&(as!=aq[ar]&&(aq[ar]=as));}ao['childNodes']&&(aq['childNodes']=new M());aq['ownerDocument']=an;switch(aq['nodeType']){case i:var at=ao['attributes'],au=aq['attributes']=new P(),av=at['length'];au['_ownerElement']=aq;for(var aw=0x0;aw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x2b:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function(A,B,C){var D=this['domBuilder'];D['startDocument'](),v(B,B={}),p(A,B,C,D,this['errorHandler']),D['endDocument']();}};function p(A,B,C,D,E){function F(a6){if(a6>0xffff){a6-=0x10000;var a7=0xd800+(a6>>0xa),a8=0xdc00+(a6&0x3ff);return String['fromCharCode'](a7,a8);}else return String['fromCharCode'](a6);}function G(a6){var a7=a6['slice'](0x1,-0x1);if(a7 in C)return C[a7];else return a7['charAt'](0x0)==='#'?F(parseInt(a7['substr'](0x1)['replace']('x','0x'))):(E['error']('entity\x20not\x20found:'+a6),a6);}function H(a6){if(a6>P){var a7=A['substring'](P,a6)['replace'](/&#?\w+;/g,G);M&&I(P),D['characters'](a7,0x0,a6-P),P=a6;}}function I(a6,a7){while(a6>=K&&(a7=L['exec'](A))){J=a7['index'],K=J+a7[0x0]['length'],M['lineNumber']++;}M['columnNumber']=a6-J+0x1;}var J=0x0,K=0x0,L=/.*(?:\r\n?|\n)|.*$/g,M=D['locator'],N=[{'currentNSMap':B}],O={},P=0x0;while(!![]){try{var Q=A['indexOf']('<',P);if(Q<0x0){if(!A['substr'](P)['match'](/^\s*$/)){var R=D['doc'],S=R['createTextNode'](A['substr'](P));R['appendChild'](S),D['currentElement']=S;}return;}Q>P&&H(Q);switch(A['charAt'](Q+0x1)){case'/':var T=A['indexOf']('>',Q+0x3),U=A['substring'](Q+0x2,T),V=N['pop']();if(T<0x0)U=A['substring'](Q+0x2)['replace'](/[\s<].*/,''),E['error']('end\x20tag\x20name:\x20'+U+'\x20is\x20not\x20complete:'+V['tagName']),T=Q+0x1+U['length'];else U['match'](/\sP?P=T:H(Math['max'](Q,P)+0x1);}}function q(A,B){return B['lineNumber']=A['lineNumber'],B['columnNumber']=A['columnNumber'],B;}function r(A,B,C,D,E,F){var G,H,I=++B,J=g;while(!![]){var K=A['charAt'](I);switch(K){case'=':if(J===h)G=A['slice'](B,I),J=j;else{if(J===i)J=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(J===j||J===h){J===h&&(F['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),G=A['slice'](B,I));B=I+0x1,I=A['indexOf'](K,B);if(I>0x0)H=A['slice'](B,I)['replace'](/&#?\w+;/g,E),C['add'](G,H,B-0x1),J=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+K+'\x27\x20match');}else{if(J==k)H=A['slice'](B,I)['replace'](/&#?\w+;/g,E),C['add'](G,H,B),F['warning']('attribute\x20\x22'+G+'\x22\x20missed\x20start\x20quot('+K+')!!'),B=I+0x1,J=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(J){case g:C['setTagName'](A['slice'](B,I));case l:case m:case n:J=n,C['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':F['error']('unexpected\x20end\x20of\x20input');J==g&&C['setTagName'](A['slice'](B,I));return I;case'>':switch(J){case g:C['setTagName'](A['slice'](B,I));case l:case m:case n:break;case k:case h:H=A['slice'](B,I);H['slice'](-0x1)==='/'&&(C['closed']=!![],H=H['slice'](0x0,-0x1));case i:J===i&&(H=G);J==k?(F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20quot(\x22)!!'),C['add'](G,H['replace'](/&#?\w+;/g,E),B)):((D['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead!!'),C['add'](H,H,B));break;case j:throw new Error('attribute\x20value\x20missed!!');}return I;case'\u0080':K='\x20';default:if(K<='\x20')switch(J){case g:C['setTagName'](A['slice'](B,I)),J=m;break;case h:G=A['slice'](B,I),J=i;break;case k:var H=A['slice'](B,I)['replace'](/&#?\w+;/g,E);F['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20quot(\x22)!!'),C['add'](G,H,B);case l:J=m;break;}else switch(J){case i:var L=C['tagName'];(D['']!=='http://www.w3.org/1999/xhtml'||!G['match'](/^(?:disabled|checked|selected)$/i))&&F['warning']('attribute\x20\x22'+G+'\x22\x20missed\x20value!!\x20\x22'+G+'\x22\x20instead2!!');C['add'](G,G,B),B=I,J=h;break;case l:F['warning']('attribute\x20space\x20is\x20required\x22'+G+'\x22!!');case m:J=h,B=I;break;case j:J=k,B=I;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}I++;}}function s(A,B,C){var D=A['tagName'],E=null,F=A['length'];while(F--){var G=A[F],H=G['qName'],I=G['value'],J=H['indexOf'](':');if(J>0x0)var K=G['prefix']=H['slice'](0x0,J),L=H['slice'](J+0x1),M=K==='xmlns'&&L;else L=H,K=null,M=H==='xmlns'&&'';G['localName']=L,M!==![]&&(E==null&&(E={},v(C,C={})),C[M]=E[M]=I,G['uri']='http://www.w3.org/2000/xmlns/',B['startPrefixMapping'](M,I));}var F=A['length'];while(F--){G=A[F];var K=G['prefix'];K&&(K==='xml'&&(G['uri']='http://www.w3.org/XML/1998/namespace'),K!=='xmlns'&&(G['uri']=C[K||'']));}var J=D['indexOf'](':');J>0x0?(K=A['prefix']=D['slice'](0x0,J),L=A['localName']=D['slice'](J+0x1)):(K=null,L=A['localName']=D);var N=A['uri']=C[K||''];B['startElement'](N,L,D,A);if(A['closed']){B['endElement'](N,L,D);if(E)for(K in E){B['endPrefixMapping'](K);}}else return A['currentNSMap']=C,A['localNSMap']=E,!![];}function t(A,B,C,D,E){if(/^(?:script|textarea)$/i['test'](C)){var F=A['indexOf']('',B),G=A['substring'](B+0x1,F);if(/[&<]/['test'](G)){if(/^script$/i['test'](C))return E['characters'](G,0x0,G['length']),F;return G=G['replace'](/&#?\w+;/g,D),E['characters'](G,0x0,G['length']),F;}}return B+0x1;}function u(A,B,C,D){var E=D[C];return E==null&&(E=A['lastIndexOf'](''),E',B+0x4);return F>B?(C['comment'](A,B+0x4,F-B-0x4),F+0x3):(D['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(A['substr'](B+0x3,0x6)=='CDATA['){var F=A['indexOf'](']]>',B+0x9);return C['startCDATA'](),C['characters'](A,B+0x9,F-B-0x9),C['endCDATA'](),F+0x3;}var G=z(A,B),H=G['length'];if(H>0x1&&/!doctype/i['test'](G[0x0][0x0])){var I=G[0x1][0x0],J=H>0x3&&/^public$/i['test'](G[0x2][0x0])&&G[0x3][0x0],K=H>0x4&&G[0x4][0x0],L=G[H-0x1];return C['startDTD'](I,J&&J['replace'](/^(['"])(.*?)\1$/,'$2'),K&&K['replace'](/^(['"])(.*?)\1$/,'$2')),C['endDTD'](),L['index']+L[0x0]['length'];}}return-0x1;}function x(A,B,C){var D=A['indexOf']('?>',B);if(D){var E=A['substring'](B,D)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(E){var F=E[0x0]['length'];return C['processingInstruction'](E[0x1],E[0x2]),D+0x2;}else return-0x1;}return-0x1;}function y(A){}y['prototype']={'setTagName':function(A){if(!f['test'](A))throw new Error('invalid\x20tagName:'+A);this['tagName']=A;},'add':function(A,B,C){if(!f['test'](A))throw new Error('invalid\x20attribute:'+A);this[this['length']++]={'qName':A,'value':B,'offset':C};},'length':0x0,'getLocalName':function(A){return this[A]['localName'];},'getLocator':function(A){return this[A]['locator'];},'getQName':function(A){return this[A]['qName'];},'getURI':function(A){return this[A]['uri'];},'getValue':function(A){return this[A]['value'];}};function z(A,B){var C,D=[],E=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;E['lastIndex']=B,E['exec'](A);while(C=E['exec'](A)){D['push'](C);if(C[0x1])return D;}}c['XMLReader']=o;},{}],0x2c:[function(a,b,c){'use strict';const d=globalThis['jsb']['window']=globalThis['jsb']['window']||{};b['exports']=d;},{}]},{},[0x5])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/engine-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/engine-adapter.js +deleted file mode 100644 +index cb5b167..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/engine-adapter.js ++++ /dev/null +@@ -1 +0,0 @@ +-(function(){function a(b,c,d){function f(j,k){if(!c[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);var m=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27');throw m['code']='MODULE_NOT_FOUND',m;}var q=c[j]={'exports':{}};b[j][0x0]['call'](q['exports'],function(s){var v=b[j][0x1][s];return f(v||s);},q,q['exports'],a,b,c,d);}return c[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x0?setTimeout(H,D['deleteInterval']):o=![];}setTimeout(H,D['deleteInterval']);},'removeCache':function C(D){if(this['cachedFiles']['has'](D)){var E=this['cachedFiles']['remove'](D)['url'];clearTimeout(n),this['_write'](),g(E,this['_deleteFileCB']['bind'](this));}},'_deleteFileCB':function D(E){if(!E)this['outOfStorage']=![];},'makeBundleFolder':function E(F){e(''['concat'](this['cacheDir'],'/')['concat'](F),!![]);}};cc['assetManager']['cacheManager']=b['exports']=r;},{'./fs-utils':0x3}],0x3:[function(a,b,c){'use strict';var d=globalThis['nodeEnv']['require']('path'),e=globalThis['nodeEnv']['require']('fs-extra'),f={'fs':e,'isOutOfStorage':function g(h){return h['indexOf']('ENOSPC')!==-0x1;},'initJsbDownloader':function h(i,j){console['log']('initJsbDownloader:\x20nodejs\x20does\x20not\x20support');},'getUserDataPath':function i(){return d['join'](globalThis['nodeEnv']['userDataPath'],'writablePath');},'checkFsValid':function j(){if(!e)return cc['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function k(l,m){var n=f['fullPathForFilename'](l);e['unlink'](n,function(o){if(o){var p=new Error('Delete\x20file\x20failed:\x20\x22'['concat'](l,'\x22\x20(resolved:\x20\x22')['concat'](n,'\x22)\x20-\x20')['concat'](o['message']));console['warn'](p['message']),m&&m(p);}else m&&m(null);});},'fullPathForFilename':function l(m){var n=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:![];if(m['length']<=0x0)return'';if(d['isAbsolute'](m))return m;var o=d['normalize'](m),p='',q=d['join'](p,o);if(e['pathExistsSync'](q)||n)return q;return'';},'saveFile':function m(n,o,p){var q=f['fullPathForFilename'](n),r=f['fullPathForFilename'](o,!![]);e['ensureDirSync'](d['dirname'](r)),e['copyFile'](q,r,function(s){if(s){var t=new Error('Save\x20file\x20failed:\x20srcPath:\x20\x22'['concat'](n,'\x22\x20(resolved:\x20\x22')['concat'](q,'\x22)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dstPath:\x20\x22')['concat'](o,'\x22\x20(resolved:\x20\x22')['concat'](r,'\x22)\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['concat'](s['message']));console['warn'](t['message']),p&&p(t);}else e['remove'](n),p&&p(null);});},'copyFile':function n(o,p,q){var r=f['fullPathForFilename'](o),s=f['fullPathForFilename'](p,!![]);e['ensureDirSync'](d['dirname'](s)),e['copyFile'](r,s,function(t){if(t){var u=new Error('Copy\x20file\x20failed:\x20srcPath:\x20\x22'['concat'](o,'\x22\x20(resolved:\x20\x22')['concat'](r,'\x22)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dstPath:\x20\x22')['concat'](p,'\x22\x20(resolved:\x20\x22')['concat'](s,'\x22)\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['concat'](t['message']));cc['warn'](u['message']),q&&q(u);}else q&&q(null);});},'writeFile':function o(p,q,r,s){var t=f['fullPathForFilename'](p,!![]);e['writeFile'](t,q,r,function(u){if(u){var v=new Error('Write\x20file\x20failed:\x20\x22'['concat'](p,'\x22\x20(resolved:\x20\x22')['concat'](t,'\x22)\x20-\x20')['concat'](u['message']));cc['warn'](v['message']),s&&s(v);}else s&&s(null);});},'writeFileSync':function p(q,r,s){var t=f['fullPathForFilename'](q,!![]);try{return e['writeFileSync'](t,r,s),null;}catch(v){var u=new Error('Failed\x20to\x20write\x20file\x20synchronously:\x20\x22'['concat'](q,'\x22\x20(resolved:\x20\x22')['concat'](t,'\x22)\x20-\x20')['concat'](v['message']));return cc['warn'](u['message']),u;}},'readFile':function q(r,s,t){var u=f['fullPathForFilename'](r);e['readFile'](u,s,function(v,w){if(v){var x=new Error('Read\x20file\x20failed:\x20\x22'['concat'](r,'\x22\x20(resolved:\x20\x22')['concat'](u,'\x22)\x20-\x20')['concat'](v['message']));cc['warn'](x['message']),t&&t(x,null);}else t&&t(null,w);});},'readDir':function r(s,t){var u=f['fullPathForFilename'](s);e['readdir'](u,function(v,w){if(v){var x=new Error('Read\x20directory\x20failed:\x20\x22'['concat'](s,'\x22\x20(resolved:\x20\x22')['concat'](u,'\x22)\x20-\x20')['concat'](v['message']));cc['warn'](x['message']),t&&t(x,null);}else t&&t(null,w);});},'readText':function s(t,u){f['readFile'](t,'utf8',u);},'readArrayBuffer':function t(u,v){f['readFile'](u,'',v);},'readJson':function u(v,w){var x=f['fullPathForFilename'](v);e['readJson'](x,function(y,z){if(y){var A=new Error('Read\x20json\x20failed:\x20\x22'['concat'](v,'\x22\x20(resolved:\x20\x22')['concat'](x,'\x22)\x20-\x20')['concat'](y['message']));cc['warn'](A['message']),w&&w(A,null);}else w&&w(null,z);});},'readJsonSync':function v(w){var x=f['fullPathForFilename'](w);try{return e['readJsonSync'](x);}catch(z){var y=new Error('Failed\x20to\x20read\x20JSON\x20file\x20synchronously:\x20\x22'['concat'](w,'\x22\x20(resolved:\x20\x22')['concat'](x,'\x22)\x20-\x20')['concat'](z['message']));return cc['warn'](y['message']),y;}},'makeDirSync':function w(x,y){var z=f['fullPathForFilename'](x,!![]);try{return e['mkdirSync'](z,{'recursive':y}),null;}catch(B){var A=new Error('Make\x20directory\x20failed:\x20\x22'['concat'](x,'\x22\x20(resolved:\x20\x22')['concat'](z,'\x22)\x20-\x20')['concat'](B['message']));return cc['warn'](A['message']),A;}},'rmdirSync':function x(y,z){var A=f['fullPathForFilename'](y);try{return e['rmSync'](A,{'recursive':z}),null;}catch(C){var B=new Error('Remove\x20directory\x20failed:\x20\x22'['concat'](y,'\x22\x20(resolved:\x20\x22')['concat'](A,'\x22)\x20-\x20')['concat'](C['message']));return cc['warn'](B['message']),B;}},'exists':function y(z,A){var B=f['fullPathForFilename'](z);e['pathExists'](B,function(C,D){if(C){var E=new Error('File\x20existence\x20check\x20failed:\x20\x22'['concat'](z,'\x22\x20(resolved:\x20\x22')['concat'](B,'\x22)\x20-\x20')['concat'](C['message']));return cc['warn'](E['message']),E;}A&&A(D);});},'loadSubpackage':function z(A,B,C){throw new Error('nodejs\x20not\x20implement');}};globalThis['fsUtils']=b['exports']=f;},{}],0x4:[function(a,b,c){'use strict';a('./asset-manager.js');},{'./asset-manager.js':0x1}]},{},[0x4])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/engine-adapter.min.js +deleted file mode 100644 +index 1b888eb..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function a(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],a,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{var ah=!0x1,ai=!0x1;if(I['test'](af)&&!af['startsWith']('file://')){if(ag['reload'])return{'url':af};var ag=z['getCache'](af);ag?(ai=!0x0,af=ag):(ag=z['getTemp'](af))&&(ah=!0x0,af=ag);}else ah=!0x0,af['startsWith']('file://')&&(af=globalThis['nodeEnv']['require']('url')['fileURLToPath'](af));return{'url':af,'inLocal':ah,'inCache':ai};})(a9,ab);ae['inLocal']?aa(ae['url'],ab,ad):ae['inCache']?(z['updateLastTime'](a9),aa(ae['url'],ab,function(af,ag){af&&z['removeCache'](a9),ad(af,ag);})):J['downloadFile'](a9,ab,ac,function(af,ag){af?ad(af,null):aa(ag,ab,function(ah,ai){ah||(z['tempFiles']['add'](a9,ag),z['cacheFile'](a9,ag,ab['cacheEnabled'],ab['__cacheBundleRoot__'],!0x0)),ad(ah,ai);});});}function R(a9,aa,ab){B(a9,ab);}function U(a9,aa,ab){A(a9,ab);}function V(a9,aa,ab){G(a9,ab);}function W(a9,aa,ab){Q(a9,V,aa,aa['onFileProgress'],ab);}function X(a9,aa,ab){ab(null,(ac=>{var ad,ae=ac['lastIndexOf']('.ttf');return ac=-0x1!==(ae=-0x1===ae?ac['lastIndexOf']('.tmp'):ae)&&(ad=ac['lastIndexOf']('/'),-0x1!==(ac=''['concat'](-0x1===ad?ac['substring'](0x0,ae):ac['substring'](ad+0x1,ae),'_LABEL'))['indexOf']('\x20'))?'\x22'['concat'](ac,'\x22'):ac;})(a9));}function Y(a9,aa,ab){ab(null,a9);}function Z(a9,aa,ab){Q(a9,Y,aa,aa['onFileProgress'],ab);}function a0(a9,aa,ab){B(a9,function(ac,ad){if(ac)return ab(ac);a4(ad,aa,ab);});}function a1(a9,aa,ab){B(a9,function(ac,ad){if(ac)return ab(ac);a5(ad,aa,ab);});}function a2(a9,aa,ab){B(a9,function(ac,ad){if(ac)return ab(ac);a6(ad,aa,ab);});}function a3(a9,aa,ab){A(a9,function(ac,ad){if(ac)return ab(ac);a7(ad,aa,ab);});}var a4=j['parsePVRTex'],a5=j['parsePKMTex'],a6=j['parseASTCTex'],a7=j['parsePlist'];J['downloadScript']=M,J['_downloadArrayBuffer']=function(a9,aa,ab){Q(a9,R,aa,aa['onFileProgress'],ab);},J['_downloadJson']=W,j['parsePVRTex']=a0,j['parsePKMTex']=a1,j['parseASTCTex']=a2,j['parsePlist']=a3,J['register']({'.js':M,'.mp3':Z,'.ogg':Z,'.wav':Z,'.m4a':Z,'.png':Z,'.jpg':Z,'.bmp':Z,'.jpeg':Z,'.gif':Z,'.ico':Z,'.tiff':Z,'.image':Z,'.webp':Z,'.pvr':Z,'.pkm':Z,'.astc':Z,'.font':Z,'.eot':Z,'.ttf':Z,'.woff':Z,'.svg':Z,'.ttc':Z,'.txt':Z,'.xml':Z,'.vsh':Z,'.fsh':Z,'.atlas':Z,'.tmx':Z,'.tsx':Z,'.plist':Z,'.fnt':Z,'.json':W,'.ExportJson':Z,'.binary':Z,'.bin':Z,'.dbbin':Z,'.skel':Z,'.mp4':Z,'.avi':Z,'.mov':Z,'.mpg':Z,'.mpeg':Z,'.rm':Z,'.rmvb':Z,'bundle':function(a9,aa,ab){var ac,ad=cc['path']['basename'](a9),ae=aa['version']||J['bundleVers'][ad],a9=(I['test'](a9)||a9['startsWith'](H())?(ac=a9,z['makeBundleFolder'](ad)):-0x1!==J['remoteBundles']['indexOf'](ad)?(ac=''['concat'](J['remoteServerAddress'],'remote/')['concat'](ad),z['makeBundleFolder'](ad)):ac='assets/'['concat'](ad),''['concat'](ac,'/cc.config.')['concat'](ae?''['concat'](ae,'.'):'','json'));aa['__cacheBundleRoot__']=ad,W(a9,aa,function(af,ag){var ah;af?ab(af,null):((ah=ag)&&(ah['base']=''['concat'](ac,'/')),ah['hasPreloadScript']?M(''['concat'](ac,'/index.')['concat'](ae?''['concat'](ae,'.'):'')['concat'](ah['encrypted']?'jsc':'js'),aa,function(ai){ai?ab(ai,null):ab(null,ah);}):ab(null,ah));});},'default':function(a9,aa,ab){Q(a9,U,aa,aa['onFileProgress'],ab);}}),j['register']({'.png':J['downloadDomImage'],'.jpg':J['downloadDomImage'],'.bmp':J['downloadDomImage'],'.jpeg':J['downloadDomImage'],'.gif':J['downloadDomImage'],'.ico':J['downloadDomImage'],'.tiff':J['downloadDomImage'],'.image':J['downloadDomImage'],'.webp':J['downloadDomImage'],'.pvr':a0,'.pkm':a1,'.astc':a2,'.font':X,'.eot':X,'.ttf':X,'.woff':X,'.svg':X,'.ttc':X,'.mp3':N,'.ogg':N,'.wav':N,'.m4a':N,'.txt':U,'.xml':U,'.vsh':U,'.fsh':U,'.atlas':U,'.tmx':U,'.tsx':U,'.fnt':U,'.plist':a3,'.binary':R,'.bin':R,'.dbbin':R,'.skel':R,'.ExportJson':V}),cc['assetManager']['transformPipeline']['append'](function(a9){for(var aa=a9['output']=a9['input'],ab=0x0,ac=aa['length'];ab0x0)throw new Error('Invalid\x20string.\x20Length\x20must\x20be\x20a\x20multiple\x20of\x204');var t=r['indexOf']('=');if(t===-0x1)t=s;var u=t===s?0x0:0x4-t%0x4;return[t,u];}function l(r){var s=k(r),t=s[0x0],u=s[0x1];return(t+u)*0x3/0x4-u;}function m(r,s,t){return(s+t)*0x3/0x4-t;}function n(r){var s,t=k(r),u=t[0x0],v=t[0x1],w=new f(m(r,u,v)),x=0x0,y=v>0x0?u-0x4:u,z;for(z=0x0;z>0x10&0xff,w[x++]=s>>0x8&0xff,w[x++]=s&0xff;}return v===0x2&&(s=e[r['charCodeAt'](z)]<<0x2|e[r['charCodeAt'](z+0x1)]>>0x4,w[x++]=s&0xff),v===0x1&&(s=e[r['charCodeAt'](z)]<<0xa|e[r['charCodeAt'](z+0x1)]<<0x4|e[r['charCodeAt'](z+0x2)]>>0x2,w[x++]=s>>0x8&0xff,w[x++]=s&0xff),w;}function o(r){return d[r>>0x12&0x3f]+d[r>>0xc&0x3f]+d[r>>0x6&0x3f]+d[r&0x3f];}function p(r,s,t){var u,v=[];for(var w=s;wy?y:x+w));}if(u===0x1)s=r[t-0x1],v['push'](d[s>>0x2]+d[s<<0x4&0x3f]+'==');else u===0x2&&(s=(r[t-0x2]<<0x8)+r[t-0x1],v['push'](d[s>>0xa]+d[s>>0x4&0x3f]+d[s<<0x2&0x3f]+'='));return v['join']('');}},{}],0x2:[function(a,b,c){},{}],0x3:[function(a,b,c){(function(d){(function(){/*! +- * The buffer module from node.js, for the browser. +- * +- * @author Feross Aboukhadijeh +- * @license MIT +- */ +-'use strict';var e=a('base64-js'),f=a('ieee754');c['Buffer']=j,c['SlowBuffer']=t,c['INSPECT_MAX_BYTES']=0x32;var g=0x7fffffff;c['kMaxLength']=g,j['TYPED_ARRAY_SUPPORT']=h();!j['TYPED_ARRAY_SUPPORT']&&typeof console!=='undefined'&&typeof console['error']==='function'&&console['error']('This\x20browser\x20lacks\x20typed\x20array\x20(Uint8Array)\x20support\x20which\x20is\x20required\x20by\x20'+'`buffer`\x20v5.x.\x20Use\x20`buffer`\x20v4.x\x20if\x20you\x20require\x20old\x20browser\x20support.');function h(){try{var a2=new Uint8Array(0x1);return a2['__proto__']={'__proto__':Uint8Array['prototype'],'foo':function(){return 0x2a;}},a2['foo']()===0x2a;}catch(a3){return![];}}Object['defineProperty'](j['prototype'],'parent',{'enumerable':!![],'get':function(){if(!j['isBuffer'](this))return undefined;return this['buffer'];}}),Object['defineProperty'](j['prototype'],'offset',{'enumerable':!![],'get':function(){if(!j['isBuffer'](this))return undefined;return this['byteOffset'];}});function i(a2){if(a2>g)throw new RangeError('The\x20value\x20\x22'+a2+'\x22\x20is\x20invalid\x20for\x20option\x20\x22size\x22');var a3=new Uint8Array(a2);return a3['__proto__']=j['prototype'],a3;}function j(a2,a3,a4){if(typeof a2==='number'){if(typeof a3==='string')throw new TypeError('The\x20\x22string\x22\x20argument\x20must\x20be\x20of\x20type\x20string.\x20Received\x20type\x20number');return n(a2);}return k(a2,a3,a4);}typeof Symbol!=='undefined'&&Symbol['species']!=null&&j[Symbol['species']]===j&&Object['defineProperty'](j,Symbol['species'],{'value':null,'configurable':!![],'enumerable':![],'writable':![]});j['poolSize']=0x2000;function k(a2,a3,a4){if(typeof a2==='string')return o(a2,a3);if(ArrayBuffer['isView'](a2))return p(a2);if(a2==null)throw TypeError('The\x20first\x20argument\x20must\x20be\x20one\x20of\x20type\x20string,\x20Buffer,\x20ArrayBuffer,\x20Array,\x20'+'or\x20Array-like\x20Object.\x20Received\x20type\x20'+typeof a2);if(a0(a2,ArrayBuffer)||a2&&a0(a2['buffer'],ArrayBuffer))return q(a2,a3,a4);if(typeof a2==='number')throw new TypeError('The\x20\x22value\x22\x20argument\x20must\x20not\x20be\x20of\x20type\x20number.\x20Received\x20type\x20number');var a5=a2['valueOf']&&a2['valueOf']();if(a5!=null&&a5!==a2)return j['from'](a5,a3,a4);var a6=r(a2);if(a6)return a6;if(typeof Symbol!=='undefined'&&Symbol['toPrimitive']!=null&&typeof a2[Symbol['toPrimitive']]==='function')return j['from'](a2[Symbol['toPrimitive']]('string'),a3,a4);throw new TypeError('The\x20first\x20argument\x20must\x20be\x20one\x20of\x20type\x20string,\x20Buffer,\x20ArrayBuffer,\x20Array,\x20'+'or\x20Array-like\x20Object.\x20Received\x20type\x20'+typeof a2);}j['from']=function(a2,a3,a4){return k(a2,a3,a4);},j['prototype']['__proto__']=Uint8Array['prototype'],j['__proto__']=Uint8Array;function l(a2){if(typeof a2!=='number')throw new TypeError('\x22size\x22\x20argument\x20must\x20be\x20of\x20type\x20number');else{if(a2<0x0)throw new RangeError('The\x20value\x20\x22'+a2+'\x22\x20is\x20invalid\x20for\x20option\x20\x22size\x22');}}function m(a2,a3,a4){l(a2);if(a2<=0x0)return i(a2);if(a3!==undefined)return typeof a4==='string'?i(a2)['fill'](a3,a4):i(a2)['fill'](a3);return i(a2);}j['alloc']=function(a2,a3,a4){return m(a2,a3,a4);};function n(a2){return l(a2),i(a2<0x0?0x0:s(a2)|0x0);}j['allocUnsafe']=function(a2){return n(a2);},j['allocUnsafeSlow']=function(a2){return n(a2);};function o(a2,a3){(typeof a3!=='string'||a3==='')&&(a3='utf8');if(!j['isEncoding'](a3))throw new TypeError('Unknown\x20encoding:\x20'+a3);var a4=u(a2,a3)|0x0,a5=i(a4),a6=a5['write'](a2,a3);return a6!==a4&&(a5=a5['slice'](0x0,a6)),a5;}function p(a2){var a3=a2['length']<0x0?0x0:s(a2['length'])|0x0,a4=i(a3);for(var a5=0x0;a5=g)throw new RangeError('Attempt\x20to\x20allocate\x20Buffer\x20larger\x20than\x20maximum\x20'+'size:\x200x'+g['toString'](0x10)+'\x20bytes');return a2|0x0;}function t(a2){return+a2!=a2&&(a2=0x0),j['alloc'](+a2);}j['isBuffer']=function a2(a3){return a3!=null&&a3['_isBuffer']===!![]&&a3!==j['prototype'];},j['compare']=function a3(a4,a5){if(a0(a4,Uint8Array))a4=j['from'](a4,a4['offset'],a4['byteLength']);if(a0(a5,Uint8Array))a5=j['from'](a5,a5['offset'],a5['byteLength']);if(!j['isBuffer'](a4)||!j['isBuffer'](a5))throw new TypeError('The\x20\x22buf1\x22,\x20\x22buf2\x22\x20arguments\x20must\x20be\x20one\x20of\x20type\x20Buffer\x20or\x20Uint8Array');if(a4===a5)return 0x0;var a6=a4['length'],a7=a5['length'];for(var a8=0x0,a9=Math['min'](a6,a7);a80x2&&arguments[0x2]===!![];if(!a9&&a8===0x0)return 0x0;var aa=![];for(;;){switch(a7){case'ascii':case'latin1':case'binary':return a8;case'utf8':case'utf-8':return V(a6)['length'];case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return a8*0x2;case'hex':return a8>>>0x1;case'base64':return Y(a6)['length'];default:if(aa)return a9?-0x1:V(a6)['length'];a7=(''+a7)['toLowerCase'](),aa=!![];}}}j['byteLength']=u;function v(a6,a7,a8){var a9=![];(a7===undefined||a7<0x0)&&(a7=0x0);if(a7>this['length'])return'';(a8===undefined||a8>this['length'])&&(a8=this['length']);if(a8<=0x0)return'';a8>>>=0x0,a7>>>=0x0;if(a8<=a7)return'';if(!a6)a6='utf8';while(!![]){switch(a6){case'hex':return L(this,a7,a8);case'utf8':case'utf-8':return G(this,a7,a8);case'ascii':return J(this,a7,a8);case'latin1':case'binary':return K(this,a7,a8);case'base64':return F(this,a7,a8);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return M(this,a7,a8);default:if(a9)throw new TypeError('Unknown\x20encoding:\x20'+a6);a6=(a6+'')['toLowerCase'](),a9=!![];}}}j['prototype']['_isBuffer']=!![];function w(a6,a7,a8){var a9=a6[a7];a6[a7]=a6[a8],a6[a8]=a9;}j['prototype']['swap16']=function a6(){var a7=this['length'];if(a7%0x2!==0x0)throw new RangeError('Buffer\x20size\x20must\x20be\x20a\x20multiple\x20of\x2016-bits');for(var a8=0x0;a8ad)ac+='\x20...\x20';return'';},j['prototype']['compare']=function ac(ad,ae,af,ag,ah){a0(ad,Uint8Array)&&(ad=j['from'](ad,ad['offset'],ad['byteLength']));if(!j['isBuffer'](ad))throw new TypeError('The\x20\x22target\x22\x20argument\x20must\x20be\x20one\x20of\x20type\x20Buffer\x20or\x20Uint8Array.\x20'+'Received\x20type\x20'+typeof ad);ae===undefined&&(ae=0x0);af===undefined&&(af=ad?ad['length']:0x0);ag===undefined&&(ag=0x0);ah===undefined&&(ah=this['length']);if(ae<0x0||af>ad['length']||ag<0x0||ah>this['length'])throw new RangeError('out\x20of\x20range\x20index');if(ag>=ah&&ae>=af)return 0x0;if(ag>=ah)return-0x1;if(ae>=af)return 0x1;ae>>>=0x0,af>>>=0x0,ag>>>=0x0,ah>>>=0x0;if(this===ad)return 0x0;var ai=ah-ag,aj=af-ae,ak=Math['min'](ai,aj),al=this['slice'](ag,ah),am=ad['slice'](ae,af);for(var an=0x0;an0x7fffffff)af=0x7fffffff;else af<-0x80000000&&(af=-0x80000000);}af=+af;a1(af)&&(af=ah?0x0:ad['length']-0x1);if(af<0x0)af=ad['length']+af;if(af>=ad['length']){if(ah)return-0x1;else af=ad['length']-0x1;}else{if(af<0x0){if(ah)af=0x0;else return-0x1;}}typeof ae==='string'&&(ae=j['from'](ae,ag));if(j['isBuffer'](ae)){if(ae['length']===0x0)return-0x1;return y(ad,ae,af,ag,ah);}else{if(typeof ae==='number'){ae=ae&0xff;if(typeof Uint8Array['prototype']['indexOf']==='function')return ah?Uint8Array['prototype']['indexOf']['call'](ad,ae,af):Uint8Array['prototype']['lastIndexOf']['call'](ad,ae,af);return y(ad,[ae],af,ag,ah);}}throw new TypeError('val\x20must\x20be\x20string,\x20number\x20or\x20Buffer');}function y(ad,ae,af,ag,ah){var ai=0x1,aj=ad['length'],ak=ae['length'];if(ag!==undefined){ag=String(ag)['toLowerCase']();if(ag==='ucs2'||ag==='ucs-2'||ag==='utf16le'||ag==='utf-16le'){if(ad['length']<0x2||ae['length']<0x2)return-0x1;ai=0x2,aj/=0x2,ak/=0x2,af/=0x2;}}function al(aq,ar){return ai===0x1?aq[ar]:aq['readUInt16BE'](ar*ai);}var am;if(ah){var an=-0x1;for(am=af;amaj)af=aj-ak;for(am=af;am>=0x0;am--){var ao=!![];for(var ap=0x0;apak&&(aj=ak));var al=ah['length'];aj>al/0x2&&(aj=al/0x2);for(var am=0x0;am>>0x0;if(isFinite(aj)){aj=aj>>>0x0;if(ak===undefined)ak='utf8';}else ak=aj,aj=undefined;}else throw new Error('Buffer.write(string,\x20encoding,\x20offset[,\x20length])\x20is\x20no\x20longer\x20supported');}}var al=this['length']-ai;if(aj===undefined||aj>al)aj=al;if(ah['length']>0x0&&(aj<0x0||ai<0x0)||ai>this['length'])throw new RangeError('Attempt\x20to\x20write\x20outside\x20buffer\x20bounds');if(!ak)ak='utf8';var am=![];for(;;){switch(ak){case'hex':return z(this,ah,ai,aj);case'utf8':case'utf-8':return A(this,ah,ai,aj);case'ascii':return B(this,ah,ai,aj);case'latin1':case'binary':return C(this,ah,ai,aj);case'base64':return D(this,ah,ai,aj);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return E(this,ah,ai,aj);default:if(am)throw new TypeError('Unknown\x20encoding:\x20'+ak);ak=(''+ak)['toLowerCase'](),am=!![];}}},j['prototype']['toJSON']=function ah(){return{'type':'Buffer','data':Array['prototype']['slice']['call'](this['_arr']||this,0x0)};};function F(ai,aj,ak){return aj===0x0&&ak===ai['length']?e['fromByteArray'](ai):e['fromByteArray'](ai['slice'](aj,ak));}function G(ai,aj,ak){ak=Math['min'](ai['length'],ak);var al=[],am=aj;while(am0xef?0x4:an>0xdf?0x3:an>0xbf?0x2:0x1;if(am+ap<=ak){var aq,ar,as,at;switch(ap){case 0x1:an<0x80&&(ao=an);break;case 0x2:aq=ai[am+0x1];(aq&0xc0)===0x80&&(at=(an&0x1f)<<0x6|aq&0x3f,at>0x7f&&(ao=at));break;case 0x3:aq=ai[am+0x1],ar=ai[am+0x2];(aq&0xc0)===0x80&&(ar&0xc0)===0x80&&(at=(an&0xf)<<0xc|(aq&0x3f)<<0x6|ar&0x3f,at>0x7ff&&(at<0xd800||at>0xdfff)&&(ao=at));break;case 0x4:aq=ai[am+0x1],ar=ai[am+0x2],as=ai[am+0x3];(aq&0xc0)===0x80&&(ar&0xc0)===0x80&&(as&0xc0)===0x80&&(at=(an&0xf)<<0x12|(aq&0x3f)<<0xc|(ar&0x3f)<<0x6|as&0x3f,at>0xffff&&at<0x110000&&(ao=at));}}if(ao===null)ao=0xfffd,ap=0x1;else ao>0xffff&&(ao-=0x10000,al['push'](ao>>>0xa&0x3ff|0xd800),ao=0xdc00|ao&0x3ff);al['push'](ao),am+=ap;}return I(al);}var H=0x1000;function I(ai){var aj=ai['length'];if(aj<=H)return String['fromCharCode']['apply'](String,ai);var ak='',al=0x0;while(alal)ak=al;var am='';for(var an=aj;anal&&(aj=al);if(ak<0x0){ak+=al;if(ak<0x0)ak=0x0;}else ak>al&&(ak=al);if(akal)throw new RangeError('Trying\x20to\x20access\x20beyond\x20buffer\x20length');}j['prototype']['readUIntLE']=function aj(ak,al,am){ak=ak>>>0x0,al=al>>>0x0;if(!am)N(ak,al,this['length']);var an=this[ak],ao=0x1,ap=0x0;while(++ap>>0x0,am=am>>>0x0;!an&&N(al,am,this['length']);var ao=this[al+--am],ap=0x1;while(am>0x0&&(ap*=0x100)){ao+=this[al+--am]*ap;}return ao;},j['prototype']['readUInt8']=function al(am,an){am=am>>>0x0;if(!an)N(am,0x1,this['length']);return this[am];},j['prototype']['readUInt16LE']=function am(an,ao){an=an>>>0x0;if(!ao)N(an,0x2,this['length']);return this[an]|this[an+0x1]<<0x8;},j['prototype']['readUInt16BE']=function an(ao,ap){ao=ao>>>0x0;if(!ap)N(ao,0x2,this['length']);return this[ao]<<0x8|this[ao+0x1];},j['prototype']['readUInt32LE']=function ao(ap,aq){ap=ap>>>0x0;if(!aq)N(ap,0x4,this['length']);return(this[ap]|this[ap+0x1]<<0x8|this[ap+0x2]<<0x10)+this[ap+0x3]*0x1000000;},j['prototype']['readUInt32BE']=function ap(aq,ar){aq=aq>>>0x0;if(!ar)N(aq,0x4,this['length']);return this[aq]*0x1000000+(this[aq+0x1]<<0x10|this[aq+0x2]<<0x8|this[aq+0x3]);},j['prototype']['readIntLE']=function aq(ar,as,at){ar=ar>>>0x0,as=as>>>0x0;if(!at)N(ar,as,this['length']);var au=this[ar],av=0x1,aw=0x0;while(++aw=av)au-=Math['pow'](0x2,0x8*as);return au;},j['prototype']['readIntBE']=function ar(as,at,au){as=as>>>0x0,at=at>>>0x0;if(!au)N(as,at,this['length']);var av=at,aw=0x1,ax=this[as+--av];while(av>0x0&&(aw*=0x100)){ax+=this[as+--av]*aw;}aw*=0x80;if(ax>=aw)ax-=Math['pow'](0x2,0x8*at);return ax;},j['prototype']['readInt8']=function as(at,au){at=at>>>0x0;if(!au)N(at,0x1,this['length']);if(!(this[at]&0x80))return this[at];return(0xff-this[at]+0x1)*-0x1;},j['prototype']['readInt16LE']=function at(au,av){au=au>>>0x0;if(!av)N(au,0x2,this['length']);var aw=this[au]|this[au+0x1]<<0x8;return aw&0x8000?aw|0xffff0000:aw;},j['prototype']['readInt16BE']=function au(av,aw){av=av>>>0x0;if(!aw)N(av,0x2,this['length']);var ax=this[av+0x1]|this[av]<<0x8;return ax&0x8000?ax|0xffff0000:ax;},j['prototype']['readInt32LE']=function av(aw,ax){aw=aw>>>0x0;if(!ax)N(aw,0x4,this['length']);return this[aw]|this[aw+0x1]<<0x8|this[aw+0x2]<<0x10|this[aw+0x3]<<0x18;},j['prototype']['readInt32BE']=function aw(ax,ay){ax=ax>>>0x0;if(!ay)N(ax,0x4,this['length']);return this[ax]<<0x18|this[ax+0x1]<<0x10|this[ax+0x2]<<0x8|this[ax+0x3];},j['prototype']['readFloatLE']=function ax(ay,az){ay=ay>>>0x0;if(!az)N(ay,0x4,this['length']);return f['read'](this,ay,!![],0x17,0x4);},j['prototype']['readFloatBE']=function ay(az,aA){az=az>>>0x0;if(!aA)N(az,0x4,this['length']);return f['read'](this,az,![],0x17,0x4);},j['prototype']['readDoubleLE']=function az(aA,aB){aA=aA>>>0x0;if(!aB)N(aA,0x8,this['length']);return f['read'](this,aA,!![],0x34,0x8);},j['prototype']['readDoubleBE']=function aA(aB,aC){aB=aB>>>0x0;if(!aC)N(aB,0x8,this['length']);return f['read'](this,aB,![],0x34,0x8);};function O(aB,aC,aD,aE,aF,aG){if(!j['isBuffer'](aB))throw new TypeError('\x22buffer\x22\x20argument\x20must\x20be\x20a\x20Buffer\x20instance');if(aC>aF||aCaB['length'])throw new RangeError('Index\x20out\x20of\x20range');}j['prototype']['writeUIntLE']=function aB(aC,aD,aE,aF){aC=+aC,aD=aD>>>0x0,aE=aE>>>0x0;if(!aF){var aG=Math['pow'](0x2,0x8*aE)-0x1;O(this,aC,aD,aE,aG,0x0);}var aH=0x1,aI=0x0;this[aD]=aC&0xff;while(++aI>>0x0,aF=aF>>>0x0;if(!aG){var aH=Math['pow'](0x2,0x8*aF)-0x1;O(this,aD,aE,aF,aH,0x0);}var aI=aF-0x1,aJ=0x1;this[aE+aI]=aD&0xff;while(--aI>=0x0&&(aJ*=0x100)){this[aE+aI]=aD/aJ&0xff;}return aE+aF;},j['prototype']['writeUInt8']=function aD(aE,aF,aG){aE=+aE,aF=aF>>>0x0;if(!aG)O(this,aE,aF,0x1,0xff,0x0);return this[aF]=aE&0xff,aF+0x1;},j['prototype']['writeUInt16LE']=function aE(aF,aG,aH){aF=+aF,aG=aG>>>0x0;if(!aH)O(this,aF,aG,0x2,0xffff,0x0);return this[aG]=aF&0xff,this[aG+0x1]=aF>>>0x8,aG+0x2;},j['prototype']['writeUInt16BE']=function aF(aG,aH,aI){aG=+aG,aH=aH>>>0x0;if(!aI)O(this,aG,aH,0x2,0xffff,0x0);return this[aH]=aG>>>0x8,this[aH+0x1]=aG&0xff,aH+0x2;},j['prototype']['writeUInt32LE']=function aG(aH,aI,aJ){aH=+aH,aI=aI>>>0x0;if(!aJ)O(this,aH,aI,0x4,0xffffffff,0x0);return this[aI+0x3]=aH>>>0x18,this[aI+0x2]=aH>>>0x10,this[aI+0x1]=aH>>>0x8,this[aI]=aH&0xff,aI+0x4;},j['prototype']['writeUInt32BE']=function aH(aI,aJ,aK){aI=+aI,aJ=aJ>>>0x0;if(!aK)O(this,aI,aJ,0x4,0xffffffff,0x0);return this[aJ]=aI>>>0x18,this[aJ+0x1]=aI>>>0x10,this[aJ+0x2]=aI>>>0x8,this[aJ+0x3]=aI&0xff,aJ+0x4;},j['prototype']['writeIntLE']=function aI(aJ,aK,aL,aM){aJ=+aJ,aK=aK>>>0x0;if(!aM){var aN=Math['pow'](0x2,0x8*aL-0x1);O(this,aJ,aK,aL,aN-0x1,-aN);}var aO=0x0,aP=0x1,aQ=0x0;this[aK]=aJ&0xff;while(++aO>0x0)-aQ&0xff;}return aK+aL;},j['prototype']['writeIntBE']=function aJ(aK,aL,aM,aN){aK=+aK,aL=aL>>>0x0;if(!aN){var aO=Math['pow'](0x2,0x8*aM-0x1);O(this,aK,aL,aM,aO-0x1,-aO);}var aP=aM-0x1,aQ=0x1,aR=0x0;this[aL+aP]=aK&0xff;while(--aP>=0x0&&(aQ*=0x100)){aK<0x0&&aR===0x0&&this[aL+aP+0x1]!==0x0&&(aR=0x1),this[aL+aP]=(aK/aQ>>0x0)-aR&0xff;}return aL+aM;},j['prototype']['writeInt8']=function aK(aL,aM,aN){aL=+aL,aM=aM>>>0x0;if(!aN)O(this,aL,aM,0x1,0x7f,-0x80);if(aL<0x0)aL=0xff+aL+0x1;return this[aM]=aL&0xff,aM+0x1;},j['prototype']['writeInt16LE']=function aL(aM,aN,aO){aM=+aM,aN=aN>>>0x0;if(!aO)O(this,aM,aN,0x2,0x7fff,-0x8000);return this[aN]=aM&0xff,this[aN+0x1]=aM>>>0x8,aN+0x2;},j['prototype']['writeInt16BE']=function aM(aN,aO,aP){aN=+aN,aO=aO>>>0x0;if(!aP)O(this,aN,aO,0x2,0x7fff,-0x8000);return this[aO]=aN>>>0x8,this[aO+0x1]=aN&0xff,aO+0x2;},j['prototype']['writeInt32LE']=function aN(aO,aP,aQ){aO=+aO,aP=aP>>>0x0;if(!aQ)O(this,aO,aP,0x4,0x7fffffff,-0x80000000);return this[aP]=aO&0xff,this[aP+0x1]=aO>>>0x8,this[aP+0x2]=aO>>>0x10,this[aP+0x3]=aO>>>0x18,aP+0x4;},j['prototype']['writeInt32BE']=function aO(aP,aQ,aR){aP=+aP,aQ=aQ>>>0x0;if(!aR)O(this,aP,aQ,0x4,0x7fffffff,-0x80000000);if(aP<0x0)aP=0xffffffff+aP+0x1;return this[aQ]=aP>>>0x18,this[aQ+0x1]=aP>>>0x10,this[aQ+0x2]=aP>>>0x8,this[aQ+0x3]=aP&0xff,aQ+0x4;};function P(aP,aQ,aR,aS,aT,aU){if(aR+aS>aP['length'])throw new RangeError('Index\x20out\x20of\x20range');if(aR<0x0)throw new RangeError('Index\x20out\x20of\x20range');}function Q(aP,aQ,aR,aS,aT){return aQ=+aQ,aR=aR>>>0x0,!aT&&P(aP,aQ,aR,0x4,0xffffff00000000000000000000000000,-0xffffff00000000000000000000000000),f['write'](aP,aQ,aR,aS,0x17,0x4),aR+0x4;}j['prototype']['writeFloatLE']=function aP(aQ,aR,aS){return Q(this,aQ,aR,!![],aS);},j['prototype']['writeFloatBE']=function aQ(aR,aS,aT){return Q(this,aR,aS,![],aT);};function R(aR,aS,aT,aU,aV){return aS=+aS,aT=aT>>>0x0,!aV&&P(aR,aS,aT,0x8,0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),f['write'](aR,aS,aT,aU,0x34,0x8),aT+0x8;}j['prototype']['writeDoubleLE']=function aR(aS,aT,aU){return R(this,aS,aT,!![],aU);},j['prototype']['writeDoubleBE']=function aS(aT,aU,aV){return R(this,aT,aU,![],aV);},j['prototype']['copy']=function aT(aU,aV,aW,aX){if(!j['isBuffer'](aU))throw new TypeError('argument\x20should\x20be\x20a\x20Buffer');if(!aW)aW=0x0;if(!aX&&aX!==0x0)aX=this['length'];if(aV>=aU['length'])aV=aU['length'];if(!aV)aV=0x0;if(aX>0x0&&aX=this['length'])throw new RangeError('Index\x20out\x20of\x20range');if(aX<0x0)throw new RangeError('sourceEnd\x20out\x20of\x20bounds');if(aX>this['length'])aX=this['length'];aU['length']-aV=0x0;--aZ){aU[aZ+aV]=this[aZ+aW];}else Uint8Array['prototype']['set']['call'](aU,this['subarray'](aW,aX),aV);}return aY;},j['prototype']['fill']=function aU(aV,aW,aX,aY){if(typeof aV==='string'){if(typeof aW==='string')aY=aW,aW=0x0,aX=this['length'];else typeof aX==='string'&&(aY=aX,aX=this['length']);if(aY!==undefined&&typeof aY!=='string')throw new TypeError('encoding\x20must\x20be\x20a\x20string');if(typeof aY==='string'&&!j['isEncoding'](aY))throw new TypeError('Unknown\x20encoding:\x20'+aY);if(aV['length']===0x1){var aZ=aV['charCodeAt'](0x0);(aY==='utf8'&&aZ<0x80||aY==='latin1')&&(aV=aZ);}}else typeof aV==='number'&&(aV=aV&0xff);if(aW<0x0||this['length']>>0x0,aX=aX===undefined?this['length']:aX>>>0x0;if(!aV)aV=0x0;var b0;if(typeof aV==='number')for(b0=aW;b00xd7ff&&aX<0xe000){if(!aZ){if(aX>0xdbff){if((aW-=0x3)>-0x1)b0['push'](0xef,0xbf,0xbd);continue;}else{if(b1+0x1===aY){if((aW-=0x3)>-0x1)b0['push'](0xef,0xbf,0xbd);continue;}}aZ=aX;continue;}if(aX<0xdc00){if((aW-=0x3)>-0x1)b0['push'](0xef,0xbf,0xbd);aZ=aX;continue;}aX=(aZ-0xd800<<0xa|aX-0xdc00)+0x10000;}else{if(aZ){if((aW-=0x3)>-0x1)b0['push'](0xef,0xbf,0xbd);}}aZ=null;if(aX<0x80){if((aW-=0x1)<0x0)break;b0['push'](aX);}else{if(aX<0x800){if((aW-=0x2)<0x0)break;b0['push'](aX>>0x6|0xc0,aX&0x3f|0x80);}else{if(aX<0x10000){if((aW-=0x3)<0x0)break;b0['push'](aX>>0xc|0xe0,aX>>0x6&0x3f|0x80,aX&0x3f|0x80);}else{if(aX<0x110000){if((aW-=0x4)<0x0)break;b0['push'](aX>>0x12|0xf0,aX>>0xc&0x3f|0x80,aX>>0x6&0x3f|0x80,aX&0x3f|0x80);}else throw new Error('Invalid\x20code\x20point');}}}}return b0;}function W(aV){var aW=[];for(var aX=0x0;aX>0x8,aZ=aX%0x100,b0['push'](aZ),b0['push'](aY);}return b0;}function Y(aV){return e['toByteArray'](T(aV));}function Z(aV,aW,aX,aY){for(var aZ=0x0;aZ=aW['length']||aZ>=aV['length'])break;aW[aZ+aX]=aV[aZ];}return aZ;}function a0(aV,aW){return aV instanceof aW||aV!=null&&aV['constructor']!=null&&aV['constructor']['name']!=null&&aV['constructor']['name']===aW['name'];}function a1(aV){return aV!==aV;}}['call'](this));}['call'](this,a('buffer')['Buffer']));},{'base64-js':0x1,'buffer':0x3,'ieee754':0x4}],0x4:[function(a,b,c){c['read']=function(f,g,h,j,k){var l,n,o=k*0x8-j-0x1,p=(0x1<>0x1,r=-0x7,t=h?k-0x1:0x0,u=h?-0x1:0x1,v=f[g+t];t+=u,l=v&(0x1<<-r)-0x1,v>>=-r,r+=o;for(;r>0x0;l=l*0x100+f[g+t],t+=u,r-=0x8){}n=l&(0x1<<-r)-0x1,l>>=-r,r+=j;for(;r>0x0;n=n*0x100+f[g+t],t+=u,r-=0x8){}if(l===0x0)l=0x1-q;else{if(l===p)return n?NaN:(v?-0x1:0x1)*Infinity;else n=n+Math['pow'](0x2,j),l=l-q;}return(v?-0x1:0x1)*n*Math['pow'](0x2,l-j);},c['write']=function(f,g,h,j,k,l){var n,o,p,q=l*0x8-k-0x1,r=(0x1<>0x1,u=k===0x17?Math['pow'](0x2,-0x18)-Math['pow'](0x2,-0x4d):0x0,v=j?0x0:l-0x1,w=j?0x1:-0x1,x=g<0x0||g===0x0&&0x1/g<0x0?0x1:0x0;g=Math['abs'](g);if(isNaN(g)||g===Infinity)o=isNaN(g)?0x1:0x0,n=r;else{n=Math['floor'](Math['log'](g)/Math['LN2']);g*(p=Math['pow'](0x2,-n))<0x1&&(n--,p*=0x2);n+t>=0x1?g+=u/p:g+=u*Math['pow'](0x2,0x1-t);g*p>=0x2&&(n++,p/=0x2);if(n+t>=r)o=0x0,n=r;else n+t>=0x1?(o=(g*p-0x1)*Math['pow'](0x2,k),n=n+t):(o=g*Math['pow'](0x2,t-0x1)*Math['pow'](0x2,k),n=0x0);}for(;k>=0x8;f[h+v]=o&0xff,v+=w,o/=0x100,k-=0x8){}n=n<0x0;f[h+v]=n&0xff,v+=w,n/=0x100,q-=0x8){}f[h+v-w]|=x*0x80;};},{}],0x5:[function(a,b,c){var d=b['exports']={},e,f;function g(){throw new Error('setTimeout\x20has\x20not\x20been\x20defined');}function h(){throw new Error('clearTimeout\x20has\x20not\x20been\x20defined');}(function(){try{typeof setTimeout==='function'?e=setTimeout:e=g;}catch(s){e=g;}try{typeof clearTimeout==='function'?f=clearTimeout:f=h;}catch(t){f=h;}}());function i(s){if(e===setTimeout)return setTimeout(s,0x0);if((e===g||!e)&&setTimeout)return e=setTimeout,setTimeout(s,0x0);try{return e(s,0x0);}catch(t){try{return e['call'](null,s,0x0);}catch(u){return e['call'](this,s,0x0);}}}function j(s){if(f===clearTimeout)return clearTimeout(s);if((f===h||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(s);try{return f(s);}catch(t){try{return f['call'](null,s);}catch(u){return f['call'](this,s);}}}var k=[],l=![],m,n=-0x1;function o(){if(!l||!m)return;l=![],m['length']?k=m['concat'](k):n=-0x1,k['length']&&p();}function p(){if(l)return;var s=i(o);l=!![];var t=k['length'];while(t){m=k,k=[];while(++n0x1)for(var u=0x1;u=0x0&&(l['_idleTimeoutId']=setTimeout(function n(){if(l['_onTimeout'])l['_onTimeout']();},m));},c['setImmediate']=typeof d==='function'?d:function(l){var m=j++,n=arguments['length']<0x2?![]:h['call'](arguments,0x1);return i[m]=!![],f(function o(){i[m]&&(n?l['apply'](null,n):l['call'](null),c['clearImmediate'](m));}),m;},c['clearImmediate']=typeof e==='function'?e:function(l){delete i[l];};}['call'](this));}['call'](this,a('timers')['setImmediate'],a('timers')['clearImmediate']));},{'process/browser.js':0x5,'timers':0x6}],0x7:[function(a,b,c){(function(d){(function(){'use strict';function e(f){'@babel/helpers - typeof';return e='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(g){return typeof g;}:function(g){return g&&'function'==typeof Symbol&&g['constructor']===Symbol&&g!==Symbol['prototype']?'symbol':typeof g;},e(f);}(function(f){(function(g){if(typeof define==='function'&&define['amd'])define(['exports'],g);else(typeof c==='undefined'?'undefined':e(c))==='object'&&typeof c['nodeName']!=='string'?g(c):g(f);}(function(g){g['URL']=f['URL']||f['webkitURL'];if(f['Blob']&&f['URL'])try{new Blob();return;}catch(j){}var h=f['BlobBuilder']||f['WebKitBlobBuilder']||f['MozBlobBuilder']||(function(){var k=function C(D){return Object['prototype']['toString']['call'](D)['match'](/^\[object\s(.*)\]$/)[0x1];},l=function D(){this['data']=[];},m=function E(F,G,H){this['data']=F,this['size']=F['length'],this['type']=G,this['encoding']=H;},n=l['prototype'],o=m['prototype'],p=f['FileReaderSync'],q=function F(G){this['code']=this[this['name']=G];},r=('NOT_FOUND_ERR\x20SECURITY_ERR\x20ABORT_ERR\x20NOT_READABLE_ERR\x20ENCODING_ERR\x20'+'NO_MODIFICATION_ALLOWED_ERR\x20INVALID_STATE_ERR\x20SYNTAX_ERR')['split']('\x20'),s=r['length'],t=f['URL']||f['webkitURL']||g,u=t['createObjectURL'],v=t['revokeObjectURL'],w=t,x=f['btoa'],y=f['atob'],z=f['ArrayBuffer'],A=f['Uint8Array'],B=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;m['fake']=o['fake']=!![];while(s--){q['prototype'][r[s]]=s+0x1;}return!t['createObjectURL']&&(w=g['URL']=function(G){var H=document['createElementNS']('http://www.w3.org/1999/xhtml','a'),I;return H['href']=G,!('origin'in H)&&(H['protocol']['toLowerCase']()==='data:'?H['origin']=null:(I=G['match'](B),H['origin']=I&&I[0x1])),H;}),w['createObjectURL']=function(G){var H=G['type'],I;H===null&&(H='application/octet-stream');if(G instanceof m){I='data:'['concat'](H);if(G['encoding']==='base64')return''['concat'](I,';base64,')['concat'](G['data']);else{if(G['encoding']==='URI')return''['concat'](I,',')['concat'](decodeURIComponent(G['data']));}return x?''['concat'](I,';base64,')['concat'](x(G['data'])):''['concat'](I,',')['concat'](encodeURIComponent(G['data']));}else{if(u)return u['call'](t,G);}},w['revokeObjectURL']=function(G){G['substring'](0x0,0x5)!=='data:'&&v&&v['call'](t,G);},n['append']=function(G){var H=this['data'];if(A&&(G instanceof z||G instanceof A)){var I='',J=new A(G),K=0x0,L=J['length'];for(;K0x1?H:this['data']['length']),I,this['encoding']);},o['toString']=function(){return'[object\x20Blob]';},o['close']=function(){this['size']=0x0,delete this['data'];},l;}());g['Blob']=function(k,l){var m=l?l['type']||'':'',n=new h();if(k)for(var o=0x0,p=k['length'];o>0x8-m%0x1*0x8)){if(k=l['charCodeAt'](m+=0.75),k>0xff)throw new d('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');j=j<<0x8|k;}return q;}),f['atob']||(f['atob']=function(h){var j=String(h)['replace'](/[=]+$/,'');if(j['length']%0x4==0x1)throw new d('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var k,l,m=0x0,p=0x0,q='';l=j['charAt'](p++);~l&&(k=m%0x4?0x40*k+l:l,m++%0x4)?q+=String['fromCharCode'](0xff&k>>(-0x2*m&0x6)):0x0)l=g['indexOf'](l);return q;});}());},{}],0x9:[function(a,b,c){'use strict';globalThis['__EDITOR__']=globalThis['process']&&'electron'in globalThis['process']['versions'],a('./wasm');var d=globalThis['window'],e=a('./base64/base64.min'),f=e['btoa'],g=e['atob'];d['btoa']=f,d['atob']=g;var h=a('./Blob'),i=h['Blob'],j=h['URL'];d['URL']=j;!d['Blob']&&(d['Blob']=i);d['DOMParser']=a('./xmldom/dom-parser')['DOMParser'],d['XMLHttpRequest']=globalThis['nodeEnv']['XMLHttpRequest'],d['SocketIO']=globalThis['nodeEnv']['SocketIO'],d['WebSocket']=globalThis['nodeEnv']['WebSocket'],a('./node-adapter'),d['alert']=console['error']['bind'](console),d['requestAnimationFrame']=function(l){},d['cancelAnimationFrame']=function(l){};for(var k in d){globalThis[k]===undefined&&(globalThis[k]=d[k]);}typeof globalThis['window']==='undefined'&&(globalThis['window']=globalThis),a('./promise.min');},{'./Blob':0x7,'./base64/base64.min':0x8,'./node-adapter':0x21,'./promise.min':0x25,'./wasm':0x26,'./xmldom/dom-parser':0x27}],0xa:[function(a,b,c){'use strict';function d(m){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(n){return typeof n;}:function(n){return n&&'function'==typeof Symbol&&n['constructor']===Symbol&&n!==Symbol['prototype']?'symbol':typeof n;},d(m);}function e(m,n){for(var p=0x0;p-0x1){m[y]&&l[y]===0x0&&m[y]();if(this['_listenerCount'][y]===0x0)k[y][this['_targetID']]=this;++this['_listenerCount'][y],++l[y];break;}}}},{'key':'_dissociateSystemEventListener','value':function w(x){var y;for(var z in o){y=o[z];if(y['indexOf'](x)>-0x1){if(this['_listenerCount'][z]<=0x0)delete k[z][this['_targetID']];--l[z];n[z]&&l[z]===0x0&&n[z]();break;}}}},{'key':'addEventListener','value':function x(y,z,A){if(!z)return![];if(typeof z!=='function'&&!s(z))throw new TypeError('\x27listener\x27\x20should\x20be\x20a\x20function\x20or\x20an\x20object.');var B=this['_listeners'],C=s(A),D=C?Boolean(A['capture']):Boolean(A),E=D?p:q,F={'listener':z,'listenerType':E,'passive':C&&Boolean(A['passive']),'once':C&&Boolean(A['once']),'next':null},G=B['get'](y);if(G===undefined)return B['set'](y,F),this['_associateSystemEventListener'](y),!![];var H=null;while(G){if(G['listener']===z&&G['listenerType']===E)return![];H=G,G=G['next'];}return H['next']=F,this['_associateSystemEventListener'](y),!![];}},{'key':'removeEventListener','value':function y(z,A,B){if(!A)return![];var C=this['_listeners'],D=s(B)?Boolean(B['capture']):Boolean(B),E=D?p:q,F=null,G=C['get'](z);while(G){if(G['listener']===A&&G['listenerType']===E){if(F)F['next']=G['next'];else G['next']?C['set'](z,G['next']):C['delete'](z);return this['_dissociateSystemEventListener'](z),!![];}F=G,G=G['next'];}return![];}},{'key':'dispatchEvent','value':function z(A){if(!A||typeof A['type']!=='string')throw new TypeError('\x22event.type\x22\x20should\x20be\x20a\x20string.');var B=A['type'],C=this['on'+B];if(C&&typeof C==='function'){A['_target']=A['_currentTarget']=this,C['call'](this,A),A['_target']=A['_currentTarget']=null,A['_eventPhase']=0x0,A['_passiveListener']=null;if(A['defaultPrevented'])return![];}var D=this['_listeners'],E=D['get'](B);if(!E)return!![];A['_target']=A['_currentTarget']=this;var F=null;while(E){if(E['once']){if(F)F['next']=E['next'];else E['next']?D['set'](B,E['next']):D['delete'](B);}else F=E;A['_passiveListener']=E['passive']?E['listener']:null;typeof E['listener']==='function'&&E['listener']['call'](this,A);if(A['_stopped'])break;E=E['next'];}return A['_target']=A['_currentTarget']=null,A['_eventPhase']=0x0,A['_passiveListener']=null,!A['defaultPrevented'];}}]);}());b['exports']=t;},{}],0x10:[function(a,b,c){'use strict';function d(u){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},d(u);}function e(u,v){if(!(u instanceof v))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(u,v){for(var w=0x0;w\x20CanvasGradient\x20constructor');}return n(A,[{'key':'addColorStop','value':function B(C,D){console['log']('==>\x20CanvasGradient\x20addColorStop');}}]);}()),x=(function(){function A(B){l(this,A),this['_width']=B;}return n(A,[{'key':'width','get':function B(){return this['_width'];}}]);}()),y=function(A){function B(C,D){var E;return l(this,B),E=d(this,B,['canvas']),E['id']='glcanvas',E['type']='canvas',E['top']=0x0,E['left']=0x0,E['_width']=C?Math['ceil'](C):0x0,E['_height']=D?Math['ceil'](D):0x0,E['_context2D']=null,E['_dataInner']=null,E;}return i(B,A),n(B,[{'key':'getContext','value':function C(D,E){var F=this;if(D==='2d')return!this['_context2D']&&(this['_context2D']=new t(this['_width'],this['_height']),this['_context2D']['_canvas']=this,this['_context2D']['_setCanvasBufferUpdatedCallback'](function(G){F['_dataInner']=new r(G,F['_width'],F['_height']);})),this['_context2D'];return null;}},{'key':'_data','get':function D(){if(this['_context2D']===null)return null;return!this['_dataInner']&&this['_context2D']['fetchData'](),this['_dataInner'];},'set':function E(F){this['_dataInner']=F;}},{'key':'width','get':function F(){return this['_width'];},'set':function G(H){H=Math['ceil'](H),this['_width']!==H&&(this['_dataInner']=null,this['_width']=H,this['_context2D']&&(this['_context2D']['width']=H));}},{'key':'height','get':function H(){return this['_height'];},'set':function I(J){J=Math['ceil'](J),this['_height']!==J&&(this['_dataInner']=null,this['_height']=J,this['_context2D']&&(this['_context2D']['height']=J));}},{'key':'clientWidth','get':function J(){return u['innerWidth'];}},{'key':'clientHeight','get':function K(){return u['innerHeight'];}},{'key':'data','get':function L(){if(this['_data'])return this['_data']['data'];return null;}},{'key':'getBoundingClientRect','value':function M(){return new s(0x0,0x0,u['innerWidth'],u['innerHeight']);}},{'key':'requestPointerLock','value':function N(){}},{'key':'_destroy','value':function O(){this['_context2D']&&(this['_context2D']['_setCanvasBufferUpdatedCallback'](null),this['_context2D']=null);}}]);}(q);b['exports']=y;},{'./CanvasRenderingContext2D':0xa,'./DOMRect':0xb,'./HTMLElement':0x14,'./ImageData':0x1a}],0x14:[function(a,b,c){'use strict';function d(v){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(w){return typeof w;}:function(w){return w&&'function'==typeof Symbol&&w['constructor']===Symbol&&w!==Symbol['prototype']?'symbol':typeof w;},d(v);}function e(v,w){if(!(v instanceof w))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(v,w){for(var x=0x0;x0x0&&arguments[0x0]!==undefined?arguments[0x0]:'';return e(this,w),x=j(this,w),x['tagName']=y['toUpperCase'](),x['className']='',x['children']=[],x['style']={'width':''['concat'](t['innerWidth'],'px'),'height':''['concat'](t['innerHeight'],'px')},x['innerHTML']='',x['parentElement']=t['__canvas'],x;}return o(w,v),g(w,[{'key':'setAttribute','value':function x(y,z){this[y]=z;}},{'key':'getAttribute','value':function y(z){return this[z];}},{'key':'focus','value':function z(){}}]);}(q);b['exports']=u;},{'./Element':0xd,'./util':0x23}],0x15:[function(a,b,c){'use strict';function d(u){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(v){return typeof v;}:function(v){return v&&'function'==typeof Symbol&&v['constructor']===Symbol&&v!==Symbol['prototype']?'symbol':typeof v;},d(u);}function e(u,v){if(!(u instanceof v))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(u,v){for(var w=0x0;w=0x30&&z<=0x39){var A=z-0x30;y['_code']='Digit'+A,y['_key']=y['_shiftKeyActive']?r[z]:''+A;}else{if(z>=0x2740&&z<=0x2749){z=y['_keyCode']=z-0x2710;var A=z-0x30;y['_code']='Numpad'+A,y['_key']=''+A;}else{if(z>=0x41&&z<=0x5a){var B=String['fromCharCode'](z);y['_code']='Key'+B,y['_key']=y['_shiftKeyActive']^s?B:B['toLowerCase']();}else{if(z>=0x61&&z<=0x7a){var B=String['fromCharCode'](z);y['_keyCode']=z-(0x61-0x41),y['_code']='Key'+B,y['_key']=y['_shiftKeyActive']^s?B['toUpperCase']():B;}else{if(z>=0x70&&z<=0x7b)y['_code']=y['_key']='F'+(z-0x6f);else{if(z===0x1b)y['_code']=y['_key']='Escape';else{if(z===0xbd)y['_code']='Minus',y['_key']=y['_shiftKeyActive']?'_':'-';else{if(z===0xbb)y['_code']='Equal',y['_key']=y['_shiftKeyActive']?'+':'=';else{if(z===0xdc)y['_code']='Backslash',y['_key']=y['_shiftKeyActive']?'|':'\x5c';else{if(z===0xc0)y['_code']='Backquote',y['_key']=y['_shiftKeyActive']?'~':'`';else{if(z===0x8)y['_code']=y['_key']='Backspace';else{if(z===0xd)y['_code']=y['_key']='Enter';else{if(z===0xdb)y['_code']='BracketLeft',y['_key']=y['_shiftKeyActive']?'{':'[';else{if(z===0xdd)y['_code']='BracketRight',y['_key']=y['_shiftKeyActive']?'}':']';else{if(z===0xba)y['_code']='Semicolon',y['_key']=y['_shiftKeyActive']?':':';';else{if(z===0xde)y['_code']='Quote',y['_key']=y['_shiftKeyActive']?'\x22':'\x27';else{if(z===0x9)y['_code']=y['_key']='Tab';else{if(z===0x11)y['_code']='ControlLeft',y['_key']='Control';else{if(z===0x4e31)y['_keyCode']=0x11,y['_code']='ControlRight',y['_key']='Control';else{if(z===0x10)y['_code']='ShiftLeft',y['_key']='Shift';else{if(z===0x4e30)y['_keyCode']=0x10,y['_code']='ShiftRight',y['_key']='Shift';else{if(z===0x12)y['_code']='AltLeft',y['_key']='Alt';else{if(z===0x4e32)y['_keyCode']=0x12,y['_code']='AltRight',y['_key']='Alt';else{if(z===0x5b)y['_code']='MetaLeft',y['_key']='Meta';else{if(z===0x5d)y['_code']='MetaRight',y['_key']='Meta';else{if(z===0x25)y['_code']=y['_key']='ArrowLeft';else{if(z===0x26)y['_code']=y['_key']='ArrowUp';else{if(z===0x27)y['_code']=y['_key']='ArrowRight';else{if(z===0x28)y['_code']=y['_key']='ArrowDown';else{if(z===0x4e7d)y['_keyCode']=0x5d,y['_code']=y['_key']='ContextMenu';else{if(z===0x4e2d)y['_keyCode']=0xd,y['_code']='NumpadEnter',y['_key']='Enter';else{if(z===0x6b)y['_code']='NumpadAdd',y['_key']='+';else{if(z===0x6d)y['_code']='NumpadSubtract',y['_key']='-';else{if(z===0x6a)y['_code']='NumpadMultiply',y['_key']='*';else{if(z===0x6f)y['_code']='NumpadDivide',y['_key']='/';else{if(z===0xc)y['_code']='NumLock',y['_key']='Clear';else{if(z===0x7c)y['_code']=y['_key']='F13';else{if(z===0x24)y['_code']=y['_key']='Home';else{if(z===0x21)y['_code']=y['_key']='PageUp';else{if(z===0x22)y['_code']=y['_key']='PageDown';else{if(z===0x23)y['_code']=y['_key']='End';else{if(z===0xbc)y['_code']='Comma',y['_key']=y['_shiftKeyActive']?'<':',';else{if(z===0xbe)y['_code']='Period',y['_key']=y['_shiftKeyActive']?'>':'.';else{if(z===0xbf)y['_code']='Slash',y['_key']=y['_shiftKeyActive']?'?':'/';else{if(z===0x20)y['_code']='Space',y['_key']='\x20';else{if(z===0x2e)y['_code']=y['_key']='Delete';else{if(z===0x6e)y['_code']='NumpadDecimal',y['_key']='.';else z===0x14?(y['_code']=y['_key']='CapsLock',w==='keyup'&&(s=!s)):console['log']('Unknown\x20keyCode:\x20'+y['_keyCode']);}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return y;}return o(v,u),g(v,[{'key':'getModifierState','value':function w(){return![];}},{'key':'altKey','get':function x(){return this['_altKeyActive'];}},{'key':'code','get':function y(){return this['_code'];}},{'key':'ctrlKey','get':function z(){return this['_ctrlKeyActive'];}},{'key':'isComposing','get':function A(){return![];}},{'key':'key','get':function B(){return this['_key'];}},{'key':'keyCode','get':function C(){return this['_keyCode'];}},{'key':'location','get':function D(){return 0x0;}},{'key':'metaKey','get':function E(){return this['_metaKeyActive'];}},{'key':'repeat','get':function F(){return this['_repeat'];}},{'key':'shiftKey','get':function G(){return this['_shiftKeyActive'];}}]);}(q);b['exports']=t;},{'./Event':0xe}],0x1c:[function(a,b,c){'use strict';function d(p){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(q){return typeof q;}:function(q){return q&&'function'==typeof Symbol&&q['constructor']===Symbol&&q!==Symbol['prototype']?'symbol':typeof q;},d(p);}function e(o,p){if(!(o instanceof p))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function f(p,q){for(var s=0x0;s-0x1)return this['childNodes']['splice'](B,0x1);return null;}},{'key':'contains','value':function A(B){return this['childNodes']['indexOf'](B)>-0x1;}}]);}(q);b['exports']=s;},{'./EventTarget':0xf}],0x1f:[function(a,b,c){'use strict';function d(s){'@babel/helpers - typeof';return d='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;},d(s);}function e(s,u){for(var v=0x0;vy;y++)k(x,x['_deferreds'][y]);x['_deferreds']=null;}function s(x,y){var z=!0x1;try{x(function(A){z||(z=!0x0,m(y,A));},function(A){z||(z=!0x0,p(y,A));});}catch(A){if(z)return;z=!0x0,p(y,A);}}var v=setTimeout;j['prototype']['catch']=function(x){return this['then'](null,x);},j['prototype']['then']=function(x,y){var z=new this['constructor'](h);return k(this,new function(A,B,C){this['onFulfilled']=typeof A==='function'?A:null,this['onRejected']=typeof B==='function'?B:null,this['promise']=C;}(x,y,z)),z;},j['prototype']['finally']=g,j['all']=function(x){return new j(function(y,z){function A(E,F){try{if(F&&(f(F)==='object'||typeof F==='function')){var G=F['then'];if(typeof G==='function')return void G['call'](F,function(H){A(E,H);},z);}B[E]=F,--C==0x0&&y(B);}catch(H){z(H);}}if(!x||typeof x['length']==='undefined')throw new TypeError('Promise.all\x20accepts\x20an\x20array');var B=Array['prototype']['slice']['call'](x);if(B['length']===0x0)return y([]);for(var C=B['length'],D=0x0;B['length']>D;D++)A(D,B[D]);});},j['resolve']=function(x){return x&&f(x)==='object'&&x['constructor']===j?x:new j(function(y){y(x);});},j['reject']=function(x){return new j(function(y,z){z(x);});},j['race']=function(x){return new j(function(y,z){for(var A=0x0,B=x['length'];B>A;A++)x[A]['then'](y,z);});},j['_immediateFn']=typeof e==='function'&&function(x){e(x);}||function(x){v(x,0x0);},j['_unhandledRejectionFn']=function(x){void 0x0!==console&&console&&console['warn']('Possible\x20Unhandled\x20Promise\x20Rejection:',x);};var w=(function(){if(typeof self!=='undefined')return self;if(typeof window!=='undefined')return window;if(typeof d!=='undefined')return d;throw Error('unable\x20to\x20locate\x20global\x20object');}());'Promise'in w?w['Promise']['prototype']['finally']||(w['Promise']['prototype']['finally']=g):w['Promise']=j;});}['call'](this));}['call'](this,typeof global!=='undefined'?global:typeof self!=='undefined'?self:typeof window!=='undefined'?window:{},a('timers')['setImmediate']));},{'timers':0x6}],0x26:[function(a,b,c){'use strict';(function d(){if(!globalThis['WebAssembly']){console['warn']('WebAssembly\x20is\x20not\x20supported!');return;}console['info']('injectWebAssembly\x20...');var e=WebAssembly['instantiate'],f=WebAssembly['compile'];WebAssembly['compile']=function(g){return new Promise(function(h,i){if(!g)i('WebAssembly.compile:\x20Invalid\x20buffer\x20source!');else CC_EDITOR?h(f['call'](WebAssembly,g)):h(new WebAssembly['Module'](g));});},WebAssembly['instantiate']=function(g,h){var i;return g instanceof WebAssembly['Module']?i=e(g,h):i=new Promise(function(j,k){WebAssembly['compile'](g)['then'](function(l){e(l,h)['then'](function(m){j({'instance':m,'module':l});})['catch'](k);})['catch'](k);}),i;};}());},{}],0x27:[function(a,b,c){'use strict';function d(n){this['options']=n||{'locator':{}};}d['prototype']['parseFromString']=function(n,o){var p=this['options'],q=new l(),r=p['domBuilder']||new f(),s=p['errorHandler'],t=p['locator'],u=p['xmlns']||{},v=/\/x?html?$/['test'](o),w=v?k['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return t&&r['setDocumentLocator'](t),q['errorHandler']=e(s,r,t),q['domBuilder']=p['domBuilder']||r,v&&(u['']='http://www.w3.org/1999/xhtml'),u['xml']=u['xml']||'http://www.w3.org/XML/1998/namespace',n?q['parse'](n,u,w):q['errorHandler']['error']('invalid\x20doc\x20source'),r['doc'];};function e(n,o,p){if(!n){if(o instanceof f)return o;n=o;}var q={},r=n instanceof Function;p=p||{};function s(t){var u=n[t];!u&&r&&(u=n['length']==0x2?function(v){n(t,v);}:n),q[t]=u&&function(v){u('[xmldom\x20'+t+']\x09'+v+h(p));}||function(){};}return s('warning'),s('error'),s('fatalError'),q;}function f(){this['cdata']=![];}function g(n,o){o['lineNumber']=n['lineNumber'],o['columnNumber']=n['columnNumber'];}f['prototype']={'startDocument':function n(){this['doc']=new m()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function o(p,q,r,s){var t=this['doc'],u=t['createElementNS'](p,r||q),v=s['length'];j(this,u),this['currentElement']=u,this['locator']&&g(this['locator'],u);for(var w=0x0;w=G+H||G)return new java['lang']['String'](F,G,H)+'';return F;}}'endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl'['replace'](/\w+/g,function(F){f['prototype'][F]=function(){return null;};});function j(F,G){!F['currentElement']?F['doc']['appendChild'](G):F['currentElement']['appendChild'](G);}var k=a('./entities'),l=a('./sax')['XMLReader'],m=c['DOMImplementation']=a('./dom')['DOMImplementation'];c['XMLSerializer']=a('./dom')['XMLSerializer'],c['DOMParser']=d;},{'./dom':0x28,'./entities':0x29,'./sax':0x2a}],0x28:[function(a,b,c){'use strict';function d(ap){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(aq){return typeof aq;}:function(aq){return aq&&'function'==typeof Symbol&&aq['constructor']===Symbol&&aq!==Symbol['prototype']?'symbol':typeof aq;},d(ap);}function f(ap,aq){for(var ar in ap){aq[ar]=ap[ar];}}function g(ap,aq){var ar=ap['prototype'];if(!(ar instanceof aq)){var as=function at(){};;as['prototype']=aq['prototype'],as=new as(),f(ar,as),ap['prototype']=ar=as;}ar['constructor']!=ap&&(typeof ap!='function'&&console['error']('unknow\x20Class:'+ap),ar['constructor']=ap);}var h='http://www.w3.org/1999/xhtml',i={},j=i['ELEMENT_NODE']=0x1,k=i['ATTRIBUTE_NODE']=0x2,l=i['TEXT_NODE']=0x3,m=i['CDATA_SECTION_NODE']=0x4,n=i['ENTITY_REFERENCE_NODE']=0x5,o=i['ENTITY_NODE']=0x6,p=i['PROCESSING_INSTRUCTION_NODE']=0x7,q=i['COMMENT_NODE']=0x8,r=i['DOCUMENT_NODE']=0x9,s=i['DOCUMENT_TYPE_NODE']=0xa,t=i['DOCUMENT_FRAGMENT_NODE']=0xb,u=i['NOTATION_NODE']=0xc,v={},w={},x=v['INDEX_SIZE_ERR']=(w[0x1]='Index\x20size\x20error',0x1),y=v['DOMSTRING_SIZE_ERR']=(w[0x2]='DOMString\x20size\x20error',0x2),z=v['HIERARCHY_REQUEST_ERR']=(w[0x3]='Hierarchy\x20request\x20error',0x3),A=v['WRONG_DOCUMENT_ERR']=(w[0x4]='Wrong\x20document',0x4),B=v['INVALID_CHARACTER_ERR']=(w[0x5]='Invalid\x20character',0x5),C=v['NO_DATA_ALLOWED_ERR']=(w[0x6]='No\x20data\x20allowed',0x6),D=v['NO_MODIFICATION_ALLOWED_ERR']=(w[0x7]='No\x20modification\x20allowed',0x7),E=v['NOT_FOUND_ERR']=(w[0x8]='Not\x20found',0x8),F=v['NOT_SUPPORTED_ERR']=(w[0x9]='Not\x20supported',0x9),G=v['INUSE_ATTRIBUTE_ERR']=(w[0xa]='Attribute\x20in\x20use',0xa),H=v['INVALID_STATE_ERR']=(w[0xb]='Invalid\x20state',0xb),I=v['SYNTAX_ERR']=(w[0xc]='Syntax\x20error',0xc),J=v['INVALID_MODIFICATION_ERR']=(w[0xd]='Invalid\x20modification',0xd),K=v['NAMESPACE_ERR']=(w[0xe]='Invalid\x20namespace',0xe),L=v['INVALID_ACCESS_ERR']=(w[0xf]='Invalid\x20access',0xf);function M(ap,aq){if(aq instanceof Error)var ar=aq;else{ar=this,Error['call'](this,w[ap]),this['message']=w[ap];if(Error['captureStackTrace'])Error['captureStackTrace'](this,M);}ar['code']=ap;if(aq)this['message']=this['message']+':\x20'+aq;return ar;};M['prototype']=Error['prototype'],f(v,M);function N(){};N['prototype']={'length':0x0,'item':function ap(aq){return this[aq]||null;},'toString':function aq(ar,as){for(var at=[],au=0x0;au=0x0){var av=as['length']-0x1;while(au0x0;},'lookupPrefix':function aJ(aK){var aL=this;while(aL){var aM=aL['_nsMap'];if(aM)for(var aN in aM){if(aM[aN]==aK)return aN;}aL=aL['nodeType']==k?aL['ownerDocument']:aL['parentNode'];}return null;},'lookupNamespaceURI':function aK(aL){var aM=this;while(aM){var aN=aM['_nsMap'];if(aN){if(aL in aN)return aN[aL];}aM=aM['nodeType']==k?aM['ownerDocument']:aM['parentNode'];}return null;},'isDefaultNamespace':function aL(aM){var aN=this['lookupPrefix'](aM);return aN==null;}};function W(aM){return aM=='<'&&'<'||aM=='>'&&'>'||aM=='&'&&'&'||aM=='\x22'&&'"'||'&#'+aM['charCodeAt']()+';';}f(i,V),f(i,V['prototype']);function X(aM,aN){if(aN(aM))return!![];if(aM=aM['firstChild'])do{if(X(aM,aN))return!![];}while(aM=aM['nextSibling']);}function Y(){}function Z(aM,aN,aO){aM&&aM['_inc']++;var aP=aO['namespaceURI'];aP=='http://www.w3.org/2000/xmlns/'&&(aN['_nsMap'][aO['prefix']?aO['localName']:'']=aO['value']);}function a0(aM,aN,aO,aP){aM&&aM['_inc']++;var aQ=aO['namespaceURI'];aQ=='http://www.w3.org/2000/xmlns/'&&delete aN['_nsMap'][aO['prefix']?aO['localName']:''];}function a1(aM,aN,aO){if(aM&&aM['_inc']){aM['_inc']++;var aP=aN['childNodes'];if(aO)aP[aP['length']++]=aO;else{var aQ=aN['firstChild'],aR=0x0;while(aQ){aP[aR++]=aQ,aQ=aQ['nextSibling'];}aP['length']=aR;}}}function a2(aM,aN){var aO=aN['previousSibling'],aP=aN['nextSibling'];return aO?aO['nextSibling']=aP:aM['firstChild']=aP,aP?aP['previousSibling']=aO:aM['lastChild']=aO,a1(aM['ownerDocument'],aM),aN;}function a3(aM,aN,aO){var aP=aN['parentNode'];aP&&aP['removeChild'](aN);if(aN['nodeType']===t){var aQ=aN['firstChild'];if(aQ==null)return aN;var aR=aN['lastChild'];}else aQ=aR=aN;var aS=aO?aO['previousSibling']:aM['lastChild'];aQ['previousSibling']=aS,aR['nextSibling']=aO;aS?aS['nextSibling']=aQ:aM['firstChild']=aQ;aO==null?aM['lastChild']=aR:aO['previousSibling']=aR;do{aQ['parentNode']=aM;}while(aQ!==aR&&(aQ=aQ['nextSibling']));return a1(aM['ownerDocument']||aM,aM),aN['nodeType']==t&&(aN['firstChild']=aN['lastChild']=null),aN;}function a4(aM,aN){var aO=aN['parentNode'];if(aO){var aP=aM['lastChild'];aO['removeChild'](aN);var aP=aM['lastChild'];}var aP=aM['lastChild'];return aN['parentNode']=aM,aN['previousSibling']=aP,aN['nextSibling']=null,aP?aP['nextSibling']=aN:aM['firstChild']=aN,aM['lastChild']=aN,a1(aM['ownerDocument'],aM,aN),aN;}Y['prototype']={'nodeName':'#document','nodeType':r,'doctype':null,'documentElement':null,'_inc':0x1,'insertBefore':function aM(aN,aO){if(aN['nodeType']==t){var aP=aN['firstChild'];while(aP){var aQ=aP['nextSibling'];this['insertBefore'](aP,aO),aP=aQ;}return aN;}return this['documentElement']==null&&aN['nodeType']==j&&(this['documentElement']=aN),(a3(this,aN,aO),aN['ownerDocument']=this,aN);},'removeChild':function aN(aO){return this['documentElement']==aO&&(this['documentElement']=null),a2(this,aO);},'importNode':function aO(aP,aQ){return al(this,aP,aQ);},'getElementById':function aP(aQ){var aR=null;return X(this['documentElement'],function(aS){if(aS['nodeType']==j){if(aS['getAttribute']('id')==aQ)return aR=aS,!![];}}),aR;},'createElement':function aQ(aR){var aS=new a5();aS['ownerDocument']=this,aS['nodeName']=aR,aS['tagName']=aR,aS['childNodes']=new N();var aT=aS['attributes']=new Q();return aT['_ownerElement']=aS,aS;},'createDocumentFragment':function aR(){var aS=new af();return aS['ownerDocument']=this,aS['childNodes']=new N(),aS;},'createTextNode':function aS(aT){var aU=new a8();return aU['ownerDocument']=this,aU['appendData'](aT),aU;},'createComment':function aT(aU){var aV=new a9();return aV['ownerDocument']=this,aV['appendData'](aU),aV;},'createCDATASection':function aU(aV){var aW=new aa();return aW['ownerDocument']=this,aW['appendData'](aV),aW;},'createProcessingInstruction':function aV(aW,aX){var aY=new ag();return aY['ownerDocument']=this,aY['tagName']=aY['target']=aW,aY['nodeValue']=aY['data']=aX,aY;},'createAttribute':function aW(aX){var aY=new a6();return aY['ownerDocument']=this,aY['name']=aX,aY['nodeName']=aX,aY['localName']=aX,aY['specified']=!![],aY;},'createEntityReference':function aX(aY){var aZ=new ae();return aZ['ownerDocument']=this,aZ['nodeName']=aY,aZ;},'createElementNS':function aY(aZ,b0){var b1=new a5(),b2=b0['split'](':'),b3=b1['attributes']=new Q();return b1['childNodes']=new N(),b1['ownerDocument']=this,b1['nodeName']=b0,b1['tagName']=b0,b1['namespaceURI']=aZ,b2['length']==0x2?(b1['prefix']=b2[0x0],b1['localName']=b2[0x1]):b1['localName']=b0,b3['_ownerElement']=b1,b1;},'createAttributeNS':function aZ(b0,b1){var b2=new a6(),b3=b1['split'](':');return b2['ownerDocument']=this,b2['nodeName']=b1,b2['name']=b1,b2['namespaceURI']=b0,b2['specified']=!![],b3['length']==0x2?(b2['prefix']=b3[0x0],b2['localName']=b3[0x1]):b2['localName']=b1,b2;}},g(Y,V);function a5(){this['_nsMap']={};};a5['prototype']={'nodeType':j,'hasAttribute':function b0(b1){return this['getAttributeNode'](b1)!=null;},'getAttribute':function b1(b2){var b3=this['getAttributeNode'](b2);return b3&&b3['value']||'';},'getAttributeNode':function b2(b3){return this['attributes']['getNamedItem'](b3);},'setAttribute':function b3(b4,b5){var b6=this['ownerDocument']['createAttribute'](b4);b6['value']=b6['nodeValue']=''+b5,this['setAttributeNode'](b6);},'removeAttribute':function b4(b5){var b6=this['getAttributeNode'](b5);b6&&this['removeAttributeNode'](b6);},'appendChild':function b5(b6){return b6['nodeType']===t?this['insertBefore'](b6,null):a4(this,b6);},'setAttributeNode':function b6(b7){return this['attributes']['setNamedItem'](b7);},'setAttributeNodeNS':function b7(b8){return this['attributes']['setNamedItemNS'](b8);},'removeAttributeNode':function b8(b9){return this['attributes']['removeNamedItem'](b9['nodeName']);},'removeAttributeNS':function b9(ba,bb){var bc=this['getAttributeNodeNS'](ba,bb);bc&&this['removeAttributeNode'](bc);},'hasAttributeNS':function ba(bb,bc){return this['getAttributeNodeNS'](bb,bc)!=null;},'getAttributeNS':function bb(bc,bd){var be=this['getAttributeNodeNS'](bc,bd);return be&&be['value']||'';},'setAttributeNS':function bc(bd,be,bf){var bg=this['ownerDocument']['createAttributeNS'](bd,be);bg['value']=bg['nodeValue']=''+bf,this['setAttributeNode'](bg);},'getAttributeNodeNS':function bd(be,bf){return this['attributes']['getNamedItemNS'](be,bf);},'getElementsByTagName':function be(bf){return new O(this,function(bg){var bh=[];return X(bg,function(bi){bi!==bg&&bi['nodeType']==j&&(bf==='*'||bi['tagName']==bf)&&bh['push'](bi);}),bh;});},'getElementsByTagNameNS':function bf(bg,bh){return new O(this,function(bi){var bj=[];return X(bi,function(bk){bk!==bi&&bk['nodeType']===j&&(bg==='*'||bk['namespaceURI']===bg)&&(bh==='*'||bk['localName']==bh)&&bj['push'](bk);}),bj;});}},Y['prototype']['getElementsByTagName']=a5['prototype']['getElementsByTagName'],Y['prototype']['getElementsByTagNameNS']=a5['prototype']['getElementsByTagNameNS'],g(a5,V);function a6(){};a6['prototype']['nodeType']=k,g(a6,V);function a7(){};a7['prototype']={'data':'','substringData':function bg(bh,bi){return this['data']['substring'](bh,bh+bi);},'appendData':function bh(bi){bi=this['data']+bi,this['nodeValue']=this['data']=bi,this['length']=bi['length'];},'insertData':function bi(bj,bk){this['replaceData'](bj,0x0,bk);},'appendChild':function bj(bk){throw new Error(w[z]);},'deleteData':function bk(bl,bm){this['replaceData'](bl,bm,'');},'replaceData':function bl(bm,bn,bo){var bp=this['data']['substring'](0x0,bm),bq=this['data']['substring'](bm+bn);bo=bp+bo+bq,this['nodeValue']=this['data']=bo,this['length']=bo['length'];}},g(a7,V);function a8(){};a8['prototype']={'nodeName':'#text','nodeType':l,'splitText':function bm(bn){var bo=this['data'],bp=bo['substring'](bn);bo=bo['substring'](0x0,bn),this['data']=this['nodeValue']=bo,this['length']=bo['length'];var bq=this['ownerDocument']['createTextNode'](bp);return this['parentNode']&&this['parentNode']['insertBefore'](bq,this['nextSibling']),bq;}},g(a8,a7);function a9(){};a9['prototype']={'nodeName':'#comment','nodeType':q},g(a9,a7);function aa(){};aa['prototype']={'nodeName':'#cdata-section','nodeType':m},g(aa,a7);function ab(){};ab['prototype']['nodeType']=s,g(ab,V);function ac(){};ac['prototype']['nodeType']=u,g(ac,V);function ad(){};ad['prototype']['nodeType']=o,g(ad,V);function ae(){};ae['prototype']['nodeType']=n,g(ae,V);function af(){};af['prototype']['nodeName']='#document-fragment',af['prototype']['nodeType']=t,g(af,V);function ag(){}ag['prototype']['nodeType']=p,g(ag,V);function ah(){}ah['prototype']['serializeToString']=function(bn,bo,bp){return ai['call'](bn,bo,bp);},V['prototype']['toString']=ai;function ai(bn,bo){var bp=[],bq=this['nodeType']==0x9&&this['documentElement']||this,br=bq['prefix'],bs=bq['namespaceURI'];if(bs&&br==null){var br=bq['lookupPrefix'](bs);if(br==null)var bt=[{'namespace':bs,'prefix':null}];}return ak(this,bp,bn,bo,bt),bp['join']('');}function aj(bn,bo,bp){var bq=bn['prefix']||'',br=bn['namespaceURI'];if(!bq&&!br)return![];if(bq==='xml'&&br==='http://www.w3.org/XML/1998/namespace'||br=='http://www.w3.org/2000/xmlns/')return![];var bs=bp['length'];while(bs--){var bt=bp[bs];if(bt['prefix']==bq)return bt['namespace']!=br;}return!![];}function ak(bn,bo,bp,bq,br){if(bq){bn=bq(bn);if(bn){if(typeof bn=='string'){bo['push'](bn);return;}}else return;}switch(bn['nodeType']){case j:if(!br)br=[];var bs=br['length'],bt=bn['attributes'],bu=bt['length'],bv=bn['firstChild'],bw=bn['tagName'];bp=h===bn['namespaceURI']||bp,bo['push']('<',bw);for(var bx=0x0;bx');if(bp&&/^script$/i['test'](bw))while(bv){bv['data']?bo['push'](bv['data']):ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}else while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}bo['push']('');}else bo['push']('/>');return;case r:case t:var bv=bn['firstChild'];while(bv){ak(bv,bo,bp,bq,br),bv=bv['nextSibling'];}return;case k:return bo['push']('\x20',bn['name'],'=\x22',bn['value']['replace'](/[<&"]/g,W),'\x22');case l:return bo['push'](bn['data']['replace'](/[<&]/g,W));case m:return bo['push']('');case q:return bo['push']('');case s:var bC=bn['publicId'],bD=bn['systemId'];bo['push']('');else{if(bD&&bD!='.')bo['push']('\x20SYSTEM\x20\x22',bD,'\x22>');else{var bE=bn['internalSubset'];bE&&bo['push']('\x20[',bE,']'),bo['push']('>');}}return;case p:return bo['push']('');case n:return bo['push']('&',bn['nodeName'],';');default:bo['push']('??',bn['nodeName']);}}function al(bn,bo,bp){var bq;switch(bo['nodeType']){case j:bq=bo['cloneNode'](![]),bq['ownerDocument']=bn;case t:break;case k:bp=!![];break;}!bq&&(bq=bo['cloneNode'](![]));bq['ownerDocument']=bn,bq['parentNode']=null;if(bp){var br=bo['firstChild'];while(br){bq['appendChild'](al(bn,br,bp)),br=br['nextSibling'];}}return bq;}function am(bn,bo,bp){var bq=new bo['constructor']();for(var br in bo){var bs=bo[br];d(bs)!='object'&&(bs!=bq[br]&&(bq[br]=bs));}bo['childNodes']&&(bq['childNodes']=new N());bq['ownerDocument']=bn;switch(bq['nodeType']){case j:var bt=bo['attributes'],bu=bq['attributes']=new Q(),bv=bt['length'];bu['_ownerElement']=bq;for(var bw=0x0;bw','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x2a:[function(a,b,c){'use strict';var d=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,e=new RegExp('[\x5c-\x5c.0-9'+d['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),f=new RegExp('^'+d['source']+e['source']+'*(?::'+d['source']+e['source']+'*)?$'),g=0x0,h=0x1,i=0x2,j=0x3,k=0x4,l=0x5,m=0x6,n=0x7;function o(){}o['prototype']={'parse':function A(B,C,D){var E=this['domBuilder'];E['startDocument'](),v(C,C={}),p(B,C,D,E,this['errorHandler']),E['endDocument']();}};function p(B,C,D,E,F){function G(a7){if(a7>0xffff){a7-=0x10000;var a8=0xd800+(a7>>0xa),a9=0xdc00+(a7&0x3ff);return String['fromCharCode'](a8,a9);}else return String['fromCharCode'](a7);}function H(a7){var a8=a7['slice'](0x1,-0x1);if(a8 in D)return D[a8];else return a8['charAt'](0x0)==='#'?G(parseInt(a8['substr'](0x1)['replace']('x','0x'))):(F['error']('entity\x20not\x20found:'+a7),a7);}function I(a7){if(a7>Q){var a8=B['substring'](Q,a7)['replace'](/&#?\w+;/g,H);N&&J(Q),E['characters'](a8,0x0,a7-Q),Q=a7;}}function J(a7,a8){while(a7>=L&&(a8=M['exec'](B))){K=a8['index'],L=K+a8[0x0]['length'],N['lineNumber']++;}N['columnNumber']=a7-K+0x1;}var K=0x0,L=0x0,M=/.*(?:\r\n?|\n)|.*$/g,N=E['locator'],O=[{'currentNSMap':C}],P={},Q=0x0;while(!![]){try{var R=B['indexOf']('<',Q);if(R<0x0){if(!B['substr'](Q)['match'](/^\s*$/)){var S=E['doc'],T=S['createTextNode'](B['substr'](Q));S['appendChild'](T),E['currentElement']=T;}return;}R>Q&&I(R);switch(B['charAt'](R+0x1)){case'/':var U=B['indexOf']('>',R+0x3),V=B['substring'](R+0x2,U),W=O['pop']();if(U<0x0)V=B['substring'](R+0x2)['replace'](/[\s<].*/,''),F['error']('end\x20tag\x20name:\x20'+V+'\x20is\x20not\x20complete:'+W['tagName']),U=R+0x1+V['length'];else V['match'](/\sQ?Q=U:I(Math['max'](R,Q)+0x1);}}function q(B,C){return C['lineNumber']=B['lineNumber'],C['columnNumber']=B['columnNumber'],C;}function r(B,C,D,E,F,G){var H,I,J=++C,K=g;while(!![]){var L=B['charAt'](J);switch(L){case'=':if(K===h)H=B['slice'](C,J),K=j;else{if(K===i)K=j;else throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}break;case'\x27':case'\x22':if(K===j||K===h){K===h&&(G['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),H=B['slice'](C,J));C=J+0x1,J=B['indexOf'](L,C);if(J>0x0)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C-0x1),K=l;else throw new Error('attribute\x20value\x20no\x20end\x20\x27'+L+'\x27\x20match');}else{if(K==k)I=B['slice'](C,J)['replace'](/&#?\w+;/g,F),D['add'](H,I,C),G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20start\x20quot('+L+')!!'),C=J+0x1,K=l;else throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');}break;case'/':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:K=n,D['closed']=!![];case k:case h:case i:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':G['error']('unexpected\x20end\x20of\x20input');K==g&&D['setTagName'](B['slice'](C,J));return J;case'>':switch(K){case g:D['setTagName'](B['slice'](C,J));case l:case m:case n:break;case k:case h:I=B['slice'](C,J);I['slice'](-0x1)==='/'&&(D['closed']=!![],I=I['slice'](0x0,-0x1));case i:K===i&&(I=H);K==k?(G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I['replace'](/&#?\w+;/g,F),C)):((E['']!=='http://www.w3.org/1999/xhtml'||!I['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20value!!\x20\x22'+I+'\x22\x20instead!!'),D['add'](I,I,C));break;case j:throw new Error('attribute\x20value\x20missed!!');}return J;case'\u0080':L='\x20';default:if(L<='\x20')switch(K){case g:D['setTagName'](B['slice'](C,J)),K=m;break;case h:H=B['slice'](C,J),K=i;break;case k:var I=B['slice'](C,J)['replace'](/&#?\w+;/g,F);G['warning']('attribute\x20\x22'+I+'\x22\x20missed\x20quot(\x22)!!'),D['add'](H,I,C);case l:K=m;break;}else switch(K){case i:var M=D['tagName'];(E['']!=='http://www.w3.org/1999/xhtml'||!H['match'](/^(?:disabled|checked|selected)$/i))&&G['warning']('attribute\x20\x22'+H+'\x22\x20missed\x20value!!\x20\x22'+H+'\x22\x20instead2!!');D['add'](H,H,C),C=J,K=h;break;case l:G['warning']('attribute\x20space\x20is\x20required\x22'+H+'\x22!!');case m:K=h,C=J;break;case j:K=k,C=J;break;case n:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}J++;}}function s(B,C,D){var E=B['tagName'],F=null,G=B['length'];while(G--){var H=B[G],I=H['qName'],J=H['value'],K=I['indexOf'](':');if(K>0x0)var L=H['prefix']=I['slice'](0x0,K),M=I['slice'](K+0x1),N=L==='xmlns'&&M;else M=I,L=null,N=I==='xmlns'&&'';H['localName']=M,N!==![]&&(F==null&&(F={},v(D,D={})),D[N]=F[N]=J,H['uri']='http://www.w3.org/2000/xmlns/',C['startPrefixMapping'](N,J));}var G=B['length'];while(G--){H=B[G];var L=H['prefix'];L&&(L==='xml'&&(H['uri']='http://www.w3.org/XML/1998/namespace'),L!=='xmlns'&&(H['uri']=D[L||'']));}var K=E['indexOf'](':');K>0x0?(L=B['prefix']=E['slice'](0x0,K),M=B['localName']=E['slice'](K+0x1)):(L=null,M=B['localName']=E);var O=B['uri']=D[L||''];C['startElement'](O,M,E,B);if(B['closed']){C['endElement'](O,M,E);if(F)for(L in F){C['endPrefixMapping'](L);}}else return B['currentNSMap']=D,B['localNSMap']=F,!![];}function t(B,C,D,E,F){if(/^(?:script|textarea)$/i['test'](D)){var G=B['indexOf']('',C),H=B['substring'](C+0x1,G);if(/[&<]/['test'](H)){if(/^script$/i['test'](D))return F['characters'](H,0x0,H['length']),G;return H=H['replace'](/&#?\w+;/g,E),F['characters'](H,0x0,H['length']),G;}}return C+0x1;}function u(B,C,D,E){var F=E[D];return F==null&&(F=B['lastIndexOf'](''),F',C+0x4);return G>C?(D['comment'](B,C+0x4,G-C-0x4),G+0x3):(E['error']('Unclosed\x20comment'),-0x1);}else return-0x1;default:if(B['substr'](C+0x3,0x6)=='CDATA['){var G=B['indexOf'](']]>',C+0x9);return D['startCDATA'](),D['characters'](B,C+0x9,G-C-0x9),D['endCDATA'](),G+0x3;}var H=z(B,C),I=H['length'];if(I>0x1&&/!doctype/i['test'](H[0x0][0x0])){var J=H[0x1][0x0],K=I>0x3&&/^public$/i['test'](H[0x2][0x0])&&H[0x3][0x0],L=I>0x4&&H[0x4][0x0],M=H[I-0x1];return D['startDTD'](J,K&&K['replace'](/^(['"])(.*?)\1$/,'$2'),L&&L['replace'](/^(['"])(.*?)\1$/,'$2')),D['endDTD'](),M['index']+M[0x0]['length'];}}return-0x1;}function x(B,C,D){var E=B['indexOf']('?>',C);if(E){var F=B['substring'](C,E)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(F){var G=F[0x0]['length'];return D['processingInstruction'](F[0x1],F[0x2]),E+0x2;}else return-0x1;}return-0x1;}function y(B){}y['prototype']={'setTagName':function B(C){if(!f['test'](C))throw new Error('invalid\x20tagName:'+C);this['tagName']=C;},'add':function C(D,E,F){if(!f['test'](D))throw new Error('invalid\x20attribute:'+D);this[this['length']++]={'qName':D,'value':E,'offset':F};},'length':0x0,'getLocalName':function D(E){return this[E]['localName'];},'getLocator':function E(F){return this[F]['locator'];},'getQName':function F(G){return this[G]['qName'];},'getURI':function G(H){return this[H]['uri'];},'getValue':function H(I){return this[I]['value'];}};function z(I,J){var K,L=[],M=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;M['lastIndex']=J,M['exec'](I);while(K=M['exec'](I)){L['push'](K);if(K[0x1])return L;}}c['XMLReader']=o;},{}]},{},[0x9])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/web-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/web-adapter.min.js +deleted file mode 100644 +index baee9cd..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/nodejs/web-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function r(b,d,e){function f(j,k){if(!d[j]){if(!b[j]){var l='function'==typeof require&&require;if(!k&&l)return l(j,!0x0);if(g)return g(j,!0x0);throw(k=new Error('Cannot\x20find\x20module\x20\x27'+j+'\x27'))['code']='MODULE_NOT_FOUND',k;}l=d[j]={'exports':{}},b[j][0x0]['call'](l['exports'],function(m){return f(b[j][0x1][m]||m);},l,l['exports'],r,b,d,e);}return d[j]['exports'];}for(var g='function'==typeof require&&require,h=0x0;h0x3*(C+D)/0x4-D)(y,x)),A=0x0,B=0x0>0x10&0xff,z[A++]=v>>0x8&0xff,z[A++]=0xff&v;return 0x2===x&&(v=g[q['charCodeAt'](w)]<<0x2|g[q['charCodeAt'](w+0x1)]>>0x4,z[A++]=0xff&v),0x1===x&&(v=g[q['charCodeAt'](w)]<<0xa|g[q['charCodeAt'](w+0x1)]<<0x4|g[q['charCodeAt'](w+0x2)]>>0x2,z[A++]=v>>0x8&0xff,z[A++]=0xff&v),z;},d['fromByteArray']=function(q){for(var v,w=q['length'],x=w%0x3,y=[],z=0x0,A=w-x;z{for(var E,F=[],G=C;Gf[H>>0x12&0x3f]+f[H>>0xc&0x3f]+f[H>>0x6&0x3f]+f[0x3f&H])(E));return F['join']('');})(q,z,A>0x2]+f[v<<0x4&0x3f]+'==')):0x2==x&&(v=(q[w-0x2]<<0x8)+q[w-0x1],y['push'](f[v>>0xa]+f[v>>0x4&0x3f]+f[v<<0x2&0x3f]+'=')),y['join']('');};for(var f=[],g=[],h='undefined'!=typeof Uint8Array?Uint8Array:Array,j='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',k=0x0,m=j['length'];k{var aj,ak;return F['isBuffer'](ai)?(aj=0x0|K(ai['length']),0x0!==(ak=D(aj))['length']&&ai['copy'](ak,0x0,0x0,aj),ak):void 0x0!==ai['length']?'number'!=typeof ai['length']||a9(ai['length'])?D(0x0):J(ai):'Buffer'===ai['type']&&Array['isArray'](ai['data'])?J(ai['data']):void 0x0;})(aa);if(ah)return ah;if('undefined'!=typeof Symbol&&null!=Symbol['toPrimitive']&&'function'==typeof aa[Symbol['toPrimitive']])return F['from'](aa[Symbol['toPrimitive']]('string'),ab,ac);throw new TypeError('The\x20first\x20argument\x20must\x20be\x20one\x20of\x20type\x20string,\x20Buffer,\x20ArrayBuffer,\x20Array,\x20or\x20Array-like\x20Object.\x20Received\x20type\x20'+typeof aa);}function H(aa){if('number'!=typeof aa)throw new TypeError('\x22size\x22\x20argument\x20must\x20be\x20of\x20type\x20number');if(aa<0x0)throw new RangeError('The\x20value\x20\x22'+aa+'\x22\x20is\x20invalid\x20for\x20option\x20\x22size\x22');}function I(aa){return H(aa),D(aa<0x0?0x0:0x0|K(aa));}function J(aa){for(var ab=aa['length']<0x0?0x0:0x0|K(aa['length']),ac=D(ab),ad=0x0;ad>>0x1;case'base64':return a6(aa)['length'];default:if(ae)return ad?-0x1:a5(aa)['length'];ab=(''+ab)['toLowerCase'](),ae=!0x0;}}function M(aa,ab,ac){var ad,ae=!0x1;if((ab=void 0x0===ab||ab<0x0?0x0:ab)>this['length'])return'';if((ac=void 0x0===ac||ac>this['length']?this['length']:ac)<=0x0)return'';if((ac>>>=0x0)<=(ab>>>=0x0))return'';for(aa=aa||'utf8';;)switch(aa){case'hex':var af=this,ag=ab,ah=ac,ai=af['length'];(!ah||ah<0x0||aiay<0x10?'0'+ay['toString'](0x10):ay['toString'](0x10))(af[ak]);return aj;case'utf8':case'utf-8':return X(this,ab,ac);case'ascii':var al=this,ai=ab,am=ac,an='';am=Math['min'](al['length'],am);for(var ao=ai;ao{for(var af=[],ag=0x0;ag{for(var ag,ah,ai=[],aj=0x0;aj>0x8,ai['push'](ag%0x100),ai['push'](ah);return ai;})(ab,aa['length']-ac),aa,ac,ad);}function X(aa,ab,ac){ac=Math['min'](aa['length'],ac);for(var ad=[],ae=ab;ae>>0xa&0x3ff|0xd800),ak=0xdc00|0x3ff&ak),ad['push'](ak),ae+=al;}var am=ad,an=am['length'];if(an<=Y)return String['fromCharCode']['apply'](String,am);for(var ao='',ap=0x0;ap{try{var aa=new Uint8Array(0x1);return aa['__proto__']={'__proto__':Uint8Array['prototype'],'foo':function(){return 0x2a;}},0x2a===aa['foo']();}catch(ab){return!0x1;}})()))||'undefined'==typeof console||'function'!=typeof console['error']||console['error']('This\x20browser\x20lacks\x20typed\x20array\x20(Uint8Array)\x20support\x20which\x20is\x20required\x20by\x20`buffer`\x20v5.x.\x20Use\x20`buffer`\x20v4.x\x20if\x20you\x20require\x20old\x20browser\x20support.'),Object['defineProperty'](F['prototype'],'parent',{'enumerable':!0x0,'get':function(){if(F['isBuffer'](this))return this['buffer'];}}),Object['defineProperty'](F['prototype'],'offset',{'enumerable':!0x0,'get':function(){if(F['isBuffer'](this))return this['byteOffset'];}}),'undefined'!=typeof Symbol&&null!=Symbol['species']&&F[Symbol['species']]===F&&Object['defineProperty'](F,Symbol['species'],{'value':null,'configurable':!0x0,'enumerable':!0x1,'writable':!0x1}),F['poolSize']=0x2000,F['from']=G,F['prototype']['__proto__']=Uint8Array['prototype'],F['__proto__']=Uint8Array,F['alloc']=function(aa,ab,ac){return ab=ab,ac=ac,H(aa=aa),!(aa<=0x0)&&void 0x0!==ab?'string'==typeof ac?D(aa)['fill'](ab,ac):D(aa)['fill'](ab):D(aa);},F['allocUnsafe']=I,F['allocUnsafeSlow']=I,F['isBuffer']=function(aa){return null!=aa&&!0x0===aa['_isBuffer']&&aa!==F['prototype'];},F['compare']=function(aa,ab){if(a8(aa,Uint8Array)&&(aa=F['from'](aa,aa['offset'],aa['byteLength'])),a8(ab,Uint8Array)&&(ab=F['from'](ab,ab['offset'],ab['byteLength'])),!F['isBuffer'](aa)||!F['isBuffer'](ab))throw new TypeError('The\x20\x22buf1\x22,\x20\x22buf2\x22\x20arguments\x20must\x20be\x20one\x20of\x20type\x20Buffer\x20or\x20Uint8Array');if(aa===ab)return 0x0;for(var ac=aa['length'],ad=ab['length'],ae=0x0,af=Math['min'](ac,ad);aeab&&(aa+='\x20...\x20'),'';},F['prototype']['compare']=function(aa,ab,ac,ad,ae){if(a8(aa,Uint8Array)&&(aa=F['from'](aa,aa['offset'],aa['byteLength'])),!F['isBuffer'](aa))throw new TypeError('The\x20\x22target\x22\x20argument\x20must\x20be\x20one\x20of\x20type\x20Buffer\x20or\x20Uint8Array.\x20Received\x20type\x20'+typeof aa);if(void 0x0===ac&&(ac=aa?aa['length']:0x0),void 0x0===ad&&(ad=0x0),void 0x0===ae&&(ae=this['length']),(ab=void 0x0===ab?0x0:ab)<0x0||ac>aa['length']||ad<0x0||ae>this['length'])throw new RangeError('out\x20of\x20range\x20index');if(ae<=ad&&ac<=ab)return 0x0;if(ae<=ad)return-0x1;if(ac<=ab)return 0x1;if(this===aa)return 0x0;for(var af=(ae>>>=0x0)-(ad>>>=0x0),ag=(ac>>>=0x0)-(ab>>>=0x0),ah=Math['min'](af,ag),ai=this['slice'](ad,ae),aj=aa['slice'](ab,ac),ak=0x0;ak>>=0x0,isFinite(ac)?(ac>>>=0x0,void 0x0===ad&&(ad='utf8')):(ad=ac,ac=void 0x0);}}var ae=this['length']-ab;if((void 0x0===ac||aethis['length'])throw new RangeError('Attempt\x20to\x20write\x20outside\x20buffer\x20bounds');ad=ad||'utf8';for(var af,ag,ah,ai=!0x1;;)switch(ad){case'hex':var aj=this,ak=aa,al=ab,am=ac,an=(al=Number(al)||0x0,aj['length']-al);(!am||an<(am=Number(am)))&&(am=an),(an=ak['length'])/0x2aa['length'])throw new RangeError('Index\x20out\x20of\x20range');}function a1(aa,ab,ac,ad){if(ac+ad>aa['length'])throw new RangeError('Index\x20out\x20of\x20range');if(ac<0x0)throw new RangeError('Index\x20out\x20of\x20range');}function a2(aa,ab,ac,ad,ae){return ab=+ab,ac>>>=0x0,ae||a1(aa,0x0,ac,0x4),z['write'](aa,ab,ac,ad,0x17,0x4),ac+0x4;}function a3(aa,ab,ac,ad,ae){return ab=+ab,ac>>>=0x0,ae||a1(aa,0x0,ac,0x8),z['write'](aa,ab,ac,ad,0x34,0x8),ac+0x8;}F['prototype']['slice']=function(aa,ab){var ac=this['length'],ac=((aa=~~aa)<0x0?(aa+=ac)<0x0&&(aa=0x0):ac>>=0x0,ab>>>=0x0,ac||Z(aa,ab,this['length']);for(var ad=this[aa],ae=0x1,af=0x0;++af>>=0x0,ab>>>=0x0,ac||Z(aa,ab,this['length']);for(var ad=this[aa+--ab],ae=0x1;0x0>>=0x0,ab||Z(aa,0x1,this['length']),this[aa];},F['prototype']['readUInt16LE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x2,this['length']),this[aa]|this[aa+0x1]<<0x8;},F['prototype']['readUInt16BE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x2,this['length']),this[aa]<<0x8|this[aa+0x1];},F['prototype']['readUInt32LE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x4,this['length']),(this[aa]|this[aa+0x1]<<0x8|this[aa+0x2]<<0x10)+0x1000000*this[aa+0x3];},F['prototype']['readUInt32BE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x4,this['length']),0x1000000*this[aa]+(this[aa+0x1]<<0x10|this[aa+0x2]<<0x8|this[aa+0x3]);},F['prototype']['readIntLE']=function(aa,ab,ac){aa>>>=0x0,ab>>>=0x0,ac||Z(aa,ab,this['length']);for(var ad=this[aa],ae=0x1,af=0x0;++af>>=0x0,ab>>>=0x0,ac||Z(aa,ab,this['length']);for(var ad=ab,ae=0x1,af=this[aa+--ad];0x0>>=0x0,ab||Z(aa,0x1,this['length']),0x80&this[aa]?-0x1*(0xff-this[aa]+0x1):this[aa];},F['prototype']['readInt16LE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x2,this['length']),ab=this[aa]|this[aa+0x1]<<0x8,0x8000&ab?0xffff0000|ab:ab;},F['prototype']['readInt16BE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x2,this['length']),ab=this[aa+0x1]|this[aa]<<0x8,0x8000&ab?0xffff0000|ab:ab;},F['prototype']['readInt32LE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x4,this['length']),this[aa]|this[aa+0x1]<<0x8|this[aa+0x2]<<0x10|this[aa+0x3]<<0x18;},F['prototype']['readInt32BE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x4,this['length']),this[aa]<<0x18|this[aa+0x1]<<0x10|this[aa+0x2]<<0x8|this[aa+0x3];},F['prototype']['readFloatLE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x4,this['length']),z['read'](this,aa,!0x0,0x17,0x4);},F['prototype']['readFloatBE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x4,this['length']),z['read'](this,aa,!0x1,0x17,0x4);},F['prototype']['readDoubleLE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x8,this['length']),z['read'](this,aa,!0x0,0x34,0x8);},F['prototype']['readDoubleBE']=function(aa,ab){return aa>>>=0x0,ab||Z(aa,0x8,this['length']),z['read'](this,aa,!0x1,0x34,0x8);},F['prototype']['writeUIntLE']=function(aa,ab,ac,ad){aa=+aa,ab>>>=0x0,ac>>>=0x0,ad||a0(this,aa,ab,ac,Math['pow'](0x2,0x8*ac)-0x1,0x0);var ae=0x1,af=0x0;for(this[ab]=0xff&aa;++af>>=0x0,ac>>>=0x0,ad||a0(this,aa,ab,ac,Math['pow'](0x2,0x8*ac)-0x1,0x0);var ae=ac-0x1,af=0x1;for(this[ab+ae]=0xff&aa;0x0<=--ae&&(af*=0x100);)this[ab+ae]=aa/af&0xff;return ab+ac;},F['prototype']['writeUInt8']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x1,0xff,0x0),this[ab]=0xff&aa,ab+0x1;},F['prototype']['writeUInt16LE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x2,0xffff,0x0),this[ab]=0xff&aa,this[ab+0x1]=aa>>>0x8,ab+0x2;},F['prototype']['writeUInt16BE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x2,0xffff,0x0),this[ab]=aa>>>0x8,this[ab+0x1]=0xff&aa,ab+0x2;},F['prototype']['writeUInt32LE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x4,0xffffffff,0x0),this[ab+0x3]=aa>>>0x18,this[ab+0x2]=aa>>>0x10,this[ab+0x1]=aa>>>0x8,this[ab]=0xff&aa,ab+0x4;},F['prototype']['writeUInt32BE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x4,0xffffffff,0x0),this[ab]=aa>>>0x18,this[ab+0x1]=aa>>>0x10,this[ab+0x2]=aa>>>0x8,this[ab+0x3]=0xff&aa,ab+0x4;},F['prototype']['writeIntLE']=function(aa,ab,ac,ad){aa=+aa,ab>>>=0x0,ad||a0(this,aa,ab,ac,(ad=Math['pow'](0x2,0x8*ac-0x1))-0x1,-ad);var ae=0x0,af=0x1,ag=0x0;for(this[ab]=0xff&aa;++ae>0x0)-ag&0xff;return ab+ac;},F['prototype']['writeIntBE']=function(aa,ab,ac,ad){aa=+aa,ab>>>=0x0,ad||a0(this,aa,ab,ac,(ad=Math['pow'](0x2,0x8*ac-0x1))-0x1,-ad);var ae=ac-0x1,af=0x1,ag=0x0;for(this[ab+ae]=0xff&aa;0x0<=--ae&&(af*=0x100);)aa<0x0&&0x0===ag&&0x0!==this[ab+ae+0x1]&&(ag=0x1),this[ab+ae]=(aa/af>>0x0)-ag&0xff;return ab+ac;},F['prototype']['writeInt8']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x1,0x7f,-0x80),this[ab]=0xff&(aa=aa<0x0?0xff+aa+0x1:aa),ab+0x1;},F['prototype']['writeInt16LE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x2,0x7fff,-0x8000),this[ab]=0xff&aa,this[ab+0x1]=aa>>>0x8,ab+0x2;},F['prototype']['writeInt16BE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x2,0x7fff,-0x8000),this[ab]=aa>>>0x8,this[ab+0x1]=0xff&aa,ab+0x2;},F['prototype']['writeInt32LE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x4,0x7fffffff,-0x80000000),this[ab]=0xff&aa,this[ab+0x1]=aa>>>0x8,this[ab+0x2]=aa>>>0x10,this[ab+0x3]=aa>>>0x18,ab+0x4;},F['prototype']['writeInt32BE']=function(aa,ab,ac){return aa=+aa,ab>>>=0x0,ac||a0(this,aa,ab,0x4,0x7fffffff,-0x80000000),this[ab]=(aa=aa<0x0?0xffffffff+aa+0x1:aa)>>>0x18,this[ab+0x1]=aa>>>0x10,this[ab+0x2]=aa>>>0x8,this[ab+0x3]=0xff&aa,ab+0x4;},F['prototype']['writeFloatLE']=function(aa,ab,ac){return a2(this,aa,ab,!0x0,ac);},F['prototype']['writeFloatBE']=function(aa,ab,ac){return a2(this,aa,ab,!0x1,ac);},F['prototype']['writeDoubleLE']=function(aa,ab,ac){return a3(this,aa,ab,!0x0,ac);},F['prototype']['writeDoubleBE']=function(aa,ab,ac){return a3(this,aa,ab,!0x1,ac);},F['prototype']['copy']=function(aa,ab,ac,ad){if(!F['isBuffer'](aa))throw new TypeError('argument\x20should\x20be\x20a\x20Buffer');if(ac=ac||0x0,ad||0x0===ad||(ad=this['length']),ab>=aa['length']&&(ab=aa['length']),(ad=0x0=this['length'])throw new RangeError('Index\x20out\x20of\x20range');if(ad<0x0)throw new RangeError('sourceEnd\x20out\x20of\x20bounds');ad>this['length']&&(ad=this['length']);var ae=(ad=aa['length']-ab>>=0x0,ac=void 0x0===ac?this['length']:ac>>>0x0,'number'==typeof(aa=aa||0x0)){for(af=ab;af>0x6|0xc0,0x3f&ac|0x80);}else{if(ac<0x10000){if((ab-=0x3)<0x0)break;af['push'](ac>>0xc|0xe0,ac>>0x6&0x3f|0x80,0x3f&ac|0x80);}else{if(!(ac<0x110000))throw new Error('Invalid\x20code\x20point');if((ab-=0x4)<0x0)break;af['push'](ac>>0x12|0xf0,ac>>0xc&0x3f|0x80,ac>>0x6&0x3f|0x80,0x3f&ac|0x80);}}}}return af;}function a6(aa){return q['toByteArray']((ab=>{if((ab=(ab=ab['split']('=')[0x0])['trim']()['replace'](a4,''))['length']<0x2)return'';for(;ab['length']%0x4!=0x0;)ab+='=';return ab;})(aa));}function a7(aa,ab,ac,ad){for(var ae=0x0;ae=ab['length']||ae>=aa['length']);++ae)ab[ae+ac]=aa[ae];return ae;}function a8(aa,ab){return aa instanceof ab||null!=aa&&null!=aa['constructor']&&null!=aa['constructor']['name']&&aa['constructor']['name']===ab['name'];}function a9(aa){return aa!=aa;}}['call'](this);}['call'](this,a('buffer')['Buffer']);},{'base64-js':0x1,'buffer':0x3,'ieee754':0x4}],0x4:[function(a,b,c){c['read']=function(d,g,h,j,k){var m,q,v=0x8*k-j-0x1,w=(0x1<>0x1,y=-0x7,z=h?k-0x1:0x0,A=h?-0x1:0x1,k=d[g+z];for(z+=A,m=k&(0x1<<-y)-0x1,k>>=-y,y+=v;0x0>=-y,y+=j;0x0>0x1,A=0x17===m?Math['pow'](0x2,-0x18)-Math['pow'](0x2,-0x4d):0x0,B=k?0x0:q-0x1,C=k?0x1:-0x1,q=g<0x0||0x0===g&&0x1/g<0x0?0x1:0x0;for(g=Math['abs'](g),isNaN(g)||g===0x1/0x0?(w=isNaN(g)?0x1:0x0,v=y):(v=Math['floor'](Math['log'](g)/Math['LN2']),g*(k=Math['pow'](0x2,-v))<0x1&&(v--,k*=0x2),0x2<=(g+=0x1<=v+z?A/k:A*Math['pow'](0x2,0x1-z))*k&&(v++,k/=0x2),y<=v+z?(w=0x0,v=y):0x1<=v+z?(w=(g*k-0x1)*Math['pow'](0x2,m),v+=z):(w=g*Math['pow'](0x2,z-0x1)*Math['pow'](0x2,m),v=0x0));0x8<=m;d[j+B]=0xff&w,B+=C,w/=0x100,m-=0x8);for(v=v<{function q(O){return Object['prototype']['toString']['call'](O)['match'](/^\[object\s(.*)\]$/)[0x1];}function w(){this['data']=[];}function x(O,P,Q){this['data']=O,this['size']=O['length'],this['type']=P,this['encoding']=Q;}function z(O){this['code']=this[this['name']=O];}var A=w['prototype'],B=x['prototype'],C=h['FileReaderSync'],D='NOT_FOUND_ERR\x20SECURITY_ERR\x20ABORT_ERR\x20NOT_READABLE_ERR\x20ENCODING_ERR\x20NO_MODIFICATION_ALLOWED_ERR\x20INVALID_STATE_ERR\x20SYNTAX_ERR'['split']('\x20'),E=D['length'],F=h['URL']||h['webkitURL']||j,G=F['createObjectURL'],H=F['revokeObjectURL'],I=F,J=h['btoa'],K=h['atob'],L=h['ArrayBuffer'],M=h['Uint8Array'],N=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(x['fake']=B['fake']=!0x0;E--;)z['prototype'][D[E]]=E+0x1;return(I=F['createObjectURL']?I:j['URL']=function(O){var P=document['createElementNS']('http://www.w3.org/1999/xhtml','a');return P['href']=O,'origin'in P||('data:'===P['protocol']['toLowerCase']()?P['origin']=null:(O=O['match'](N),P['origin']=O&&O[0x1])),P;})['createObjectURL']=function(O){var P=O['type'];return null===P&&(P='application/octet-stream'),O instanceof x?(P='data:'['concat'](P),'base64'===O['encoding']?''['concat'](P,';base64,')['concat'](O['data']):'URI'===O['encoding']?''['concat'](P,',')['concat'](decodeURIComponent(O['data'])):J?''['concat'](P,';base64,')['concat'](J(O['data'])):''['concat'](P,',')['concat'](encodeURIComponent(O['data']))):G?G['call'](F,O):void 0x0;},I['revokeObjectURL']=function(O){'data:'!==O['substring'](0x0,0x5)&&H&&H['call'](F,O);},A['append']=function(O){var P=this['data'];if(M&&(O instanceof L||O instanceof M)){for(var Q='',R=new M(O),S=0x0,T=R['length'];S>0x8-m%0x1*0x8)){if(0xff<(k=l['charCodeAt'](m+=0.75)))throw new f('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');j=j<<0x8|k;}return q;}),d['atob']||(d['atob']=function(h){var j=String(h)['replace'](/[=]+$/,'');if(j['length']%0x4==0x1)throw new f('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var k,l,m=0x0,p=0x0,q='';l=j['charAt'](p++);~l&&(k=m%0x4?0x40*k+l:l,m++%0x4)&&(q+=String['fromCharCode'](0xff&k>>(-0x2*m&0x6))))l=g['indexOf'](l);return q;});},{}],0x9:[function(b,c,d){globalThis['__EDITOR__']=globalThis['process']&&'electron'in globalThis['process']['versions'],b('./wasm');var f,g=globalThis['window'],h=b('./base64/base64.min'),j=h['btoa'],h=h['atob'],j=(g['btoa']=j,g['atob']=h,b('./Blob')),h=j['Blob'];for(f in(g['URL']=j['URL'],g['Blob']||(g['Blob']=h),g['DOMParser']=b('./xmldom/dom-parser')['DOMParser'],g['XMLHttpRequest']=globalThis['nodeEnv']['XMLHttpRequest'],g['SocketIO']=globalThis['nodeEnv']['SocketIO'],g['WebSocket']=globalThis['nodeEnv']['WebSocket'],b('./node-adapter'),g['alert']=console['error']['bind'](console),g['requestAnimationFrame']=function(k){},g['cancelAnimationFrame']=function(k){},g))void 0x0===globalThis[f]&&(globalThis[f]=g[f]);void 0x0===globalThis['window']&&(globalThis['window']=globalThis),b('./promise.min');},{'./Blob':0x7,'./base64/base64.min':0x8,'./node-adapter':0x21,'./promise.min':0x25,'./wasm':0x26,'./xmldom/dom-parser':0x27}],0xa:[function(b,d,f){function g(p){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(q){return typeof q;}:function(q){return q&&'function'==typeof Symbol&&q['constructor']===Symbol&&q!==Symbol['prototype']?'symbol':typeof q;})(p);}function h(p,q){for(var s=0x0;s(w=((x,y)=>{if('object'!=g(x)||!x)return x;var z=x[Symbol['toPrimitive']];if(void 0x0===z)return('string'===y?String:Number)(x);if('object'!=g(z=z['call'](x,y||'default')))return z;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(w,'string'),'symbol'==g(w)?w:w+''))(v['key']),v);}}function j(p,q,s){return q&&h(p['prototype'],q),s&&h(p,s),Object['defineProperty'](p,'prototype',{'writable':!0x1}),p;}function k(p,q){if(!(p instanceof q))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var l=b('./ImageData'),m=j(function p(){k(this,p),this['lineWidth']=void 0x0,this['lineJoin']=void 0x0,this['fillStyle']=void 0x0,this['font']=void 0x0,this['lineCap']=void 0x0,this['textAlign']=void 0x0,this['textBaseline']=void 0x0,this['strokeStyle']=void 0x0,this['globalCompositeOperation']=void 0x0,this['shadowBlur']=void 0x0,this['shadowColor']=void 0x0,this['shadowOffsetX']=void 0x0,this['shadowOffsetY']=void 0x0;}),b=((()=>j(function q(s,v){k(this,q),this['width1']=s,this['height1']=v,this['_attris']=new m();},[{'key':'width','get':function(){return this['width1'];},'set':function(s){this['width1']=s;}},{'key':'height','get':function(){return this['height1'];},'set':function(s){this['height1']=s;}},{'key':'lineWidth','get':function(){return this['_attris']['lineWidth'];},'set':function(s){this['_attris']['lineWidth']=s;}},{'key':'lineJoin','get':function(){return this['_attris']['lineJoin'];},'set':function(s){this['_attris']['lineJoin']=s;}},{'key':'fillStyle','get':function(){return this['_attris']['fillStyle'];},'set':function(s){this['_attris']['fillStyle']=s;}},{'key':'font','get':function(){return this['_attris']['font'];},'set':function(s){this['_attris']['font']=s;}},{'key':'lineCap','get':function(){return this['_attris']['lineCap'];},'set':function(s){this['_attris']['lineCap']=s;}},{'key':'textAlign','get':function(){return this['_attris']['textAlign'];},'set':function(s){this['_attris']['textAlign']=s;}},{'key':'textBaseline','get':function(){return this['_attris']['textBaseline'];},'set':function(s){this['_attris']['textBaseline']=s;}},{'key':'strokeStyle','get':function(){return this['_attris']['strokeStyle'];},'set':function(s){this['_attris']['strokeStyle']=s;}},{'key':'globalCompositeOperation','get':function(){return this['_attris']['globalCompositeOperation'];},'set':function(s){this['_attris']['globalCompositeOperation']=s;}},{'key':'shadowBlur','get':function(){return this['_attris']['shadowBlur'];},'set':function(s){this['_attris']['shadowBlur']=s;}},{'key':'shadowColor','get':function(){return this['_attris']['shadowColor'];},'set':function(s){this['_attris']['shadowColor']=s;}},{'key':'shadowOffsetX','get':function(){return this['_attris']['shadowOffsetX'];},'set':function(s){this['_attris']['shadowOffsetX']=s;}},{'key':'shadowOffsetY','get':function(){return this['_attris']['shadowOffsetY'];},'set':function(s){this['_attris']['shadowOffsetY']=s;}},{'key':'restore','value':function(){}},{'key':'moveTo','value':function(s,v){}},{'key':'lineTo','value':function(s,v){}},{'key':'setTransform','value':function(s,v,w,x,y,z){}},{'key':'stroke','value':function(){this['_canvas']['_dataInner']=null;}},{'key':'measureText','value':function(s){return 0x64;}},{'key':'fill','value':function(){this['_canvas']['_dataInner']=null;}},{'key':'_fillImageData','value':function(s,v,w,x,y){this['_canvas']['_dataInner']=null;}},{'key':'scale','value':function(s,v){}},{'key':'clearRect','value':function(s,v,w,x){this['_canvas']['_dataInner']=null;}},{'key':'transform','value':function(s,v,w,x,y,z){}},{'key':'fillText','value':function(s,v,w,x){this['_canvas']['_dataInner']=null;}},{'key':'strokeText','value':function(s,v,w,x){this['_canvas']['_dataInner']=null;}},{'key':'save','value':function(){}},{'key':'fillRect','value':function(s,v,w,x){this['_canvas']['_dataInner']=null;}},{'key':'fetchData','value':function(){}},{'key':'rotate','value':function(s){}},{'key':'beginPath','value':function(){}},{'key':'rect','value':function(s,v,w,x){}},{'key':'translate','value':function(s,v){}},{'key':'createLinearGradient','value':function(s,v,w,x){return 0x64;}},{'key':'closePath','value':function(){}},{'key':'putImageData','value':function(s,v,w,x,y,z,A){this['_canvas']['_data']=s;}},{'key':'createImageData','value':function(s,v){return'number'==typeof s&&'number'==typeof v?new l(s,v):s instanceof l?new l(s['data'],s['width'],s['height']):void 0x0;}},{'key':'_setCanvasBufferUpdatedCallback','value':function(s){}}]))());d['exports']=b;},{'./ImageData':0x1a}],0xb:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}function g(h,j,k){return j&&f(h['prototype'],j),k&&f(h,k),Object['defineProperty'](h,'prototype',{'writable':!0x1}),h;}b['exports']=g(function h(j,k,l,m){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');this['x']=j||0x0,this['y']=k||0x0,this['width']=l||0x0,this['height']=m||0x0,this['left']=this['x'],this['top']=this['y'],this['right']=this['x']+this['width'],this['bottom']=this['y']+this['height'];});},{}],0xc:[function(b,d,f){function g(v){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(w){return typeof w;}:function(w){return w&&'function'==typeof Symbol&&w['constructor']===Symbol&&w!==Symbol['prototype']?'symbol':typeof w;})(v);}function h(v,w){for(var x=0x0;x(z=((A,B)=>{if('object'!=g(A)||!A)return A;var C=A[Symbol['toPrimitive']];if(void 0x0===C)return('string'===B?String:Number)(A);if('object'!=g(C=C['call'](A,B||'default')))return C;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(z,'string'),'symbol'==g(z)?z:z+''))(y['key']),y);}}function j(v,w,x){w=m(w);var y=v,w=k()?Reflect['construct'](w,x||[],m(v)['constructor']):w['apply'](v,x);if(!w||'object'!=g(w)&&'function'!=typeof w){if(void 0x0!==w)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(w=y))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return w;}function k(){try{var v=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(w){}return(k=function(){return!!v;})();}function m(v){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(w){return w['__proto__']||Object['getPrototypeOf'](w);})(v);}function p(v,w){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(x,y){return x['__proto__']=y,x;})(v,w);}var q=b('./Event'),b=((()=>{function v(z){var A;if(this instanceof v)return A=j(this,v,['devicemotion']),z?(A['_acceleration']=z['acceleration']||{'x':0x0,'y':0x0,'z':0x0},A['_accelerationIncludingGravity']=z['accelerationIncludingGravity']||{'x':0x0,'y':0x0,'z':0x0},A['_rotationRate']=z['rotationRate']||{'alpha':0x0,'beta':0x0,'gamma':0x0},A['_interval']=z['interval']):(A['_acceleration']={'x':0x0,'y':0x0,'z':0x0},A['_accelerationIncludingGravity']={'x':0x0,'y':0x0,'z':0x0},A['_rotationRate']={'alpha':0x0,'beta':0x0,'gamma':0x0},A['_interval']=0x0),A;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v,y=q;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),y&&p(x,y),x=v,(y=[{'key':'acceleration','get':function(){return this['_acceleration'];}},{'key':'accelerationIncludingGravity','get':function(){return this['_accelerationIncludingGravity'];}},{'key':'rotationRate','get':function(){return this['_rotationRate'];}},{'key':'interval','get':function(){return this['_interval'];}}])&&h(x['prototype'],y),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})());d['exports']=b;},{'./Event':0xe}],0xd:[function(b,d,g){function h(z){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(A){return typeof A;}:function(A){return A&&'function'==typeof Symbol&&A['constructor']===Symbol&&A!==Symbol['prototype']?'symbol':typeof A;})(z);}function j(z,A){for(var B=0x0;B(D=((E,F)=>{if('object'!=h(E)||!E)return E;var G=E[Symbol['toPrimitive']];if(void 0x0===G)return('string'===F?String:Number)(E);if('object'!=h(G=G['call'](E,F||'default')))return G;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(D,'string'),'symbol'==h(D)?D:D+''))(C['key']),C);}}function k(z,A,B){A=q(A);var C=z,A=m()?Reflect['construct'](A,B||[],q(z)['constructor']):A['apply'](z,B);if(!A||'object'!=h(A)&&'function'!=typeof A){if(void 0x0!==A)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(A=C))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return A;}function m(){try{var z=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(A){}return(m=function(){return!!z;})();}function q(z){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(A){return A['__proto__']||Object['getPrototypeOf'](A);})(z);}function v(z,A){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(B,C){return B['__proto__']=C,B;})(z,A);}var w=b('./Node'),x=b('./DOMRect'),y=globalThis['window'],b=((()=>{function z(){var D;if(this instanceof z)return(D=k(this,z))['className']='',D['children']=[],D['clientLeft']=0x0,D['clientTop']=0x0,D['scrollLeft']=0x0,D['scrollTop']=0x0,D;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var A,B=z,C=w;if('function'!=typeof C&&null!==C)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](C&&C['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),C&&v(B,C),B=z,(C=[{'key':'clientWidth','get':function(){return 0x0;}},{'key':'clientHeight','get':function(){return 0x0;}},{'key':'getBoundingClientRect','value':function(){return new x(0x0,0x0,y['innerWidth'],y['innerHeight']);}},{'key':'removeAttribute','value':function(D){}}])&&j(B['prototype'],C),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})());d['exports']=b;},{'./DOMRect':0xb,'./Node':0x1e}],0xe:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}var g=((()=>{function h(m,p){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');this['_type']=m,this['_target']=null,this['_eventPhase']=0x2,this['_currentTarget']=null,this['_canceled']=!0x1,this['_stopped']=!0x1,this['_passiveListener']=null,this['_timeStamp']=Date['now']();}return j=h,(k=[{'key':'type','get':function(){return this['_type'];}},{'key':'target','get':function(){return this['_target'];}},{'key':'currentTarget','get':function(){return this['_currentTarget'];}},{'key':'isTrusted','get':function(){return!0x1;}},{'key':'timeStamp','get':function(){return this['_timeStamp'];}},{'key':'composedPath','value':function(){var m=this['_currentTarget'];return null===m?[]:[m];}},{'key':'eventPhase','get':function(){return this['_eventPhase'];}},{'key':'stopPropagation','value':function(){}},{'key':'stopImmediatePropagation','value':function(){this['_stopped']=!0x0;}},{'key':'bubbles','get':function(){return!0x1;}},{'key':'cancelable','get':function(){return!0x0;}},{'key':'preventDefault','value':function(){null!==this['_passiveListener']?console['warn']('Event#preventDefault()\x20was\x20called\x20from\x20a\x20passive\x20listener:',this['_passiveListener']):this['cancelable']&&(this['_canceled']=!0x0);}},{'key':'defaultPrevented','get':function(){return this['_canceled'];}},{'key':'composed','get':function(){return!0x1;}}])&&f(j['prototype'],k),l&&f(j,l),Object['defineProperty'](j,'prototype',{'writable':!0x1}),j;var j,k,l;})());g['NONE']=0x0,g['CAPTURING_PHASE']=0x1,g['AT_TARGET']=0x2,g['BUBBLING_PHASE']=0x3,b['exports']=g;},{}],0xf:[function(b,d,g){function h(A,B){for(var C=0x0;C(E=((F,G)=>{if('object'!=j(F)||!F)return F;var H=F[Symbol['toPrimitive']];if(void 0x0===H)return('string'===G?String:Number)(F);if('object'!=j(H=H['call'](F,G||'default')))return H;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(E,'string'),'symbol'==j(E)?E:E+''))(D['key']),D);}}function j(A){return(j='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(B){return typeof B;}:function(B){return B&&'function'==typeof Symbol&&B['constructor']===Symbol&&B!==Symbol['prototype']?'symbol':typeof B;})(A);}var k=0x0,m={'touch':{},'mouse':{},'keyboard':{},'devicemotion':{}},q={'touch':0x0,'mouse':0x0,'keyboard':0x0,'devicemotion':0x0},v={'touch':null,'mouse':null,'keyboard':null,'devicemotion':null},w={'touch':null,'mouse':null,'keyboard':null,'devicemotion':null},x={'touch':['touchstart','touchmove','touchend','touchcancel'],'mouse':['mousedown','mousemove','mouseup','mousewheel'],'keyboard':['keydown','keyup','keypress'],'devicemotion':['devicemotion']};function y(A){return A&&'object'===j(A);}var z=((()=>{function A(){if(!(this instanceof A))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');this['_targetID']=++k,this['_listenerCount']={'touch':0x0,'mouse':0x0,'keyboard':0x0,'devicemotion':0x0},this['_listeners']=new Map();}return B=A,(C=[{'key':'_associateSystemEventListener','value':function(E){for(var F in x)if(-0x1(D=((E,F)=>{if('object'!=h(E)||!E)return E;var G=E[Symbol['toPrimitive']];if(void 0x0===G)return('string'===F?String:Number)(E);if('object'!=h(G=G['call'](E,F||'default')))return G;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(D,'string'),'symbol'==h(D)?D:D+''))(C['key']),C);}}function k(z,A,B){A=q(A);var C=z,A=m()?Reflect['construct'](A,B||[],q(z)['constructor']):A['apply'](z,B);if(!A||'object'!=h(A)&&'function'!=typeof A){if(void 0x0!==A)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(A=C))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return A;}function m(){try{var z=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(A){}return(m=function(){return!!z;})();}function q(z){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(A){return A['__proto__']||Object['getPrototypeOf'](A);})(z);}function v(z,A){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(B,C){return B['__proto__']=C,B;})(z,A);}var w=b('./EventTarget'),x=b('./Event'),y=globalThis['window'],b=((()=>{function z(){var D=this,E=z;if(D instanceof E)return k(this,z,arguments);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var A,B=z,C=w;if('function'!=typeof C&&null!==C)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return B['prototype']=Object['create'](C&&C['prototype'],{'constructor':{'value':B,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](B,'prototype',{'writable':!0x1}),C&&v(B,C),B=z,(C=[{'key':'construct','value':function(){this['result']=null;}},{'key':'abort','value':function(){}},{'key':'readAsArrayBuffer','value':function(){}},{'key':'readAsDataURL','value':function(D){this['result']='data:image/png;base64,'['concat'](y['btoa'](D)),D=new x('load'),this['dispatchEvent'](D);}},{'key':'readAsText','value':function(){}}])&&j(B['prototype'],C),A&&j(B,A),Object['defineProperty'](B,'prototype',{'writable':!0x1}),B;})());d['exports']=b;},{'./Event':0xe,'./EventTarget':0xf}],0x11:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}var g=((()=>{function h(m,p,q){var s=this;if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');this['family']=m,this['source']=p,this['descriptors']=q,this['_status']='unloaded',this['_loaded']=new Promise(function(u,v){s['_resolveCB']=u,s['_rejectCB']=v;});}return j=h,(k=[{'key':'load','value':function(){}},{'key':'status','get':function(){return this['_status'];}},{'key':'loaded','get':function(){return this['_loaded'];}}])&&f(j['prototype'],k),l&&f(j,l),Object['defineProperty'](j,'prototype',{'writable':!0x1}),j;var j,k,l;})());b['exports']=g;},{}],0x12:[function(b,d,g){function h(x){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(y){return typeof y;}:function(y){return y&&'function'==typeof Symbol&&y['constructor']===Symbol&&y!==Symbol['prototype']?'symbol':typeof y;})(x);}function j(x,y){for(var z=0x0;z(B=((C,D)=>{if('object'!=h(C)||!C)return C;var E=C[Symbol['toPrimitive']];if(void 0x0===E)return('string'===D?String:Number)(C);if('object'!=h(E=E['call'](C,D||'default')))return E;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(B,'string'),'symbol'==h(B)?B:B+''))(A['key']),A);}}function k(x,y,z){y=p(y);var A=x,y=m()?Reflect['construct'](y,z||[],p(x)['constructor']):y['apply'](x,z);if(!y||'object'!=h(y)&&'function'!=typeof y){if(void 0x0!==y)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(y=A))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return y;}function m(){try{var x=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(y){}return(m=function(){return!!x;})();}function p(x){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(y){return y['__proto__']||Object['getPrototypeOf'](y);})(x);}function q(x,y){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(z,A){return z['__proto__']=A,z;})(x,y);}var v=b('./EventTarget'),w=b('./Event'),b=((()=>{function x(){var B;if(this instanceof x)return(B=k(this,x))['_status']='loading',B;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var y,z=x,A=v;if('function'!=typeof A&&null!==A)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return z['prototype']=Object['create'](A&&A['prototype'],{'constructor':{'value':z,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](z,'prototype',{'writable':!0x1}),A&&q(z,A),z=x,(A=[{'key':'status','get':function(){return this['_status'];}},{'key':'onloading','set':function(B){this['addEventListener']('loading',B);}},{'key':'onloadingdone','set':function(B){this['addEventListener']('loadingdone',B);}},{'key':'onloadingerror','set':function(B){this['addEventListener']('loadingerror',B);}},{'key':'add','value':function(B){var C=this;this['_status']=B['_status']='loading',this['dispatchEvent'](new w('loading')),setTimeout(function(){B['_status']=C['_status']='error',B['_rejectCB'](),C['dispatchEvent'](new w('loadingerror'));},0x0);}},{'key':'clear','value':function(){}},{'key':'delete','value':function(){}},{'key':'load','value':function(){}},{'key':'ready','value':function(){}}])&&j(z['prototype'],A),y&&j(z,y),Object['defineProperty'](z,'prototype',{'writable':!0x1}),z;})());d['exports']=b;},{'./Event':0xe,'./EventTarget':0xf}],0x13:[function(b,g,j){function k(G,H,I){H=q(H);var J=G,H=m()?Reflect['construct'](H,I||[],q(G)['constructor']):H['apply'](G,I);if(!H||'object'!=w(H)&&'function'!=typeof H){if(void 0x0!==H)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(H=J))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return H;}function m(){try{var G=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(H){}return(m=function(){return!!G;})();}function q(G){return(q=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(H){return H['__proto__']||Object['getPrototypeOf'](H);})(G);}function v(G,H){return(v=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(I,J){return I['__proto__']=J,I;})(G,H);}function w(G){return(w='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(H){return typeof H;}:function(H){return H&&'function'==typeof Symbol&&H['constructor']===Symbol&&H!==Symbol['prototype']?'symbol':typeof H;})(G);}function x(G,H){if(!(G instanceof H))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function z(G,H){for(var I=0x0;I(K=((L,M)=>{if('object'!=w(L)||!L)return L;var N=L[Symbol['toPrimitive']];if(void 0x0===N)return('string'===M?String:Number)(L);if('object'!=w(N=N['call'](L,M||'default')))return N;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(K,'string'),'symbol'==w(K)?K:K+''))(J['key']),J);}}function A(G,H,I){return H&&z(G['prototype'],H),I&&z(G,I),Object['defineProperty'](G,'prototype',{'writable':!0x1}),G;}var B=b('./HTMLElement'),C=b('./ImageData'),D=b('./DOMRect'),E=b('./CanvasRenderingContext2D'),F=globalThis['window'],b=((()=>{function G(J,K){var L;return x(this,G),(L=k(this,G,['canvas']))['id']='glcanvas',L['type']='canvas',L['top']=0x0,L['left']=0x0,L['_width']=J?Math['ceil'](J):0x0,L['_height']=K?Math['ceil'](K):0x0,L['_context2D']=null,L['_dataInner']=null,L;}var H=G,I=B;if('function'!=typeof I&&null!==I)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return H['prototype']=Object['create'](I&&I['prototype'],{'constructor':{'value':H,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](H,'prototype',{'writable':!0x1}),I&&v(H,I),A(G,[{'key':'getContext','value':function(J,K){var L=this;return'2d'===J?(this['_context2D']||(this['_context2D']=new E(this['_width'],this['_height']),(this['_context2D']['_canvas']=this)['_context2D']['_setCanvasBufferUpdatedCallback'](function(M){L['_dataInner']=new C(M,L['_width'],L['_height']);})),this['_context2D']):null;}},{'key':'_data','get':function(){return null===this['_context2D']?null:(this['_dataInner']||this['_context2D']['fetchData'](),this['_dataInner']);},'set':function(J){this['_dataInner']=J;}},{'key':'width','get':function(){return this['_width'];},'set':function(J){J=Math['ceil'](J),this['_width']!==J&&(this['_dataInner']=null,this['_width']=J,this['_context2D'])&&(this['_context2D']['width']=J);}},{'key':'height','get':function(){return this['_height'];},'set':function(J){J=Math['ceil'](J),this['_height']!==J&&(this['_dataInner']=null,this['_height']=J,this['_context2D'])&&(this['_context2D']['height']=J);}},{'key':'clientWidth','get':function(){return F['innerWidth'];}},{'key':'clientHeight','get':function(){return F['innerHeight'];}},{'key':'data','get':function(){return this['_data']?this['_data']['data']:null;}},{'key':'getBoundingClientRect','value':function(){return new D(0x0,0x0,F['innerWidth'],F['innerHeight']);}},{'key':'requestPointerLock','value':function(){}},{'key':'_destroy','value':function(){this['_context2D']&&(this['_context2D']['_setCanvasBufferUpdatedCallback'](null),this['_context2D']=null);}}]);})());g['exports']=b;},{'./CanvasRenderingContext2D':0xa,'./DOMRect':0xb,'./HTMLElement':0x14,'./ImageData':0x1a}],0x14:[function(b,d,g){function h(x){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(y){return typeof y;}:function(y){return y&&'function'==typeof Symbol&&y['constructor']===Symbol&&y!==Symbol['prototype']?'symbol':typeof y;})(x);}function j(x,y){for(var z=0x0;z(B=((C,D)=>{if('object'!=h(C)||!C)return C;var E=C[Symbol['toPrimitive']];if(void 0x0===E)return('string'===D?String:Number)(C);if('object'!=h(E=E['call'](C,D||'default')))return E;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(B,'string'),'symbol'==h(B)?B:B+''))(A['key']),A);}}function k(x,y,z){y=p(y);var A=x,y=m()?Reflect['construct'](y,z||[],p(x)['constructor']):y['apply'](x,z);if(!y||'object'!=h(y)&&'function'!=typeof y){if(void 0x0!==y)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(y=A))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return y;}function m(){try{var x=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(y){}return(m=function(){return!!x;})();}function p(x){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(y){return y['__proto__']||Object['getPrototypeOf'](y);})(x);}function q(x,y){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(z,A){return z['__proto__']=A,z;})(x,y);}var v=b('./Element'),w=(b('./util')['noop'],globalThis['window']),b=((()=>{function x(){var B=0x0(F=((G,H)=>{if('object'!=j(G)||!G)return G;var I=G[Symbol['toPrimitive']];if(void 0x0===I)return('string'===H?String:Number)(G);if('object'!=j(I=I['call'](G,H||'default')))return I;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(F,'string'),'symbol'==j(F)?F:F+''))(E['key']),E);}}function m(B,C,D){C=v(C);var E=B,C=q()?Reflect['construct'](C,D||[],v(B)['constructor']):C['apply'](B,D);if(!C||'object'!=j(C)&&'function'!=typeof C){if(void 0x0!==C)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(C=E))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return C;}function q(){try{var B=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(C){}return(q=function(){return!!B;})();}function v(B){return(v=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(C){return C['__proto__']||Object['getPrototypeOf'](C);})(B);}function w(B,C){return(w=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(D,E){return D['__proto__']=E,D;})(B,C);}var x=b('./HTMLElement'),y=b('./Event'),z=globalThis['nodeEnv']['sharp'],A=((()=>{function B(F,G,H){if(!(this instanceof B))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');if(H)return(H=m(this,B,['img']))['width']=F||0x0,H['height']=G||0x0,H['_data']=null,H['_src']=null,H['complete']=!0x1,H['crossOrigin']=null,H['_mipmapLevelDataSize']=[],H;throw new TypeError('Illegal\x20constructor,\x20use\x20\x27new\x20Image(w,\x20h);\x20instead!\x27');}var C,D=B,E=x;if('function'!=typeof E&&null!==E)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return D['prototype']=Object['create'](E&&E['prototype'],{'constructor':{'value':D,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](D,'prototype',{'writable':!0x1}),E&&w(D,E),D=B,(E=[{'key':'destroy','value':function(){this['_data']&&(this['_data']=null),this['_src']=null;}},{'key':'src','get':function(){return this['_src'];},'set':function(F){var G,H,I,J=this;''!==(this['_src']=F)&&('string'==typeof(I=F)&&F['startsWith']('data:')&&(G=F['match'](/^data:([A-Za-z-+\/]+);base64,(.+)$/))&&0x3===G['length']&&(H=b('buffer')['Buffer'],I=new Uint8Array(H['from'](G[0x2],'base64'))),z(I)['metadata']()['then'](function(K){return J['width']=K['width'],J['height']=K['height'],setTimeout(function(){var L=new y('load');J['dispatchEvent'](L);},0x0);})['catch'](function(K){console['warn']('Failed\x20to\x20load\x20source\x20image\x20from\x20'['concat'](F,',\x20error\x20reason:\x20')['concat'](K)),J['_data']=null,setTimeout(function(){var L=new y('error');J['dispatchEvent'](L);},0x0);}));}},{'key':'clientWidth','get':function(){return this['width'];}},{'key':'clientHeight','get':function(){return this['height'];}},{'key':'getBoundingClientRect','value':function(){return new DOMRect(0x0,0x0,this['width'],this['height']);}}])&&k(D['prototype'],E),C&&k(D,C),Object['defineProperty'](D,'prototype',{'writable':!0x1}),D;})());d['exports']=A;},{'./Event':0xe,'./HTMLElement':0x14,'buffer':0x3}],0x16:[function(b,d,g){function h(x){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(y){return typeof y;}:function(y){return y&&'function'==typeof Symbol&&y['constructor']===Symbol&&y!==Symbol['prototype']?'symbol':typeof y;})(x);}function j(x,y){for(var z=0x0;z(B=((C,D)=>{if('object'!=h(C)||!C)return C;var E=C[Symbol['toPrimitive']];if(void 0x0===E)return('string'===D?String:Number)(C);if('object'!=h(E=E['call'](C,D||'default')))return E;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(B,'string'),'symbol'==h(B)?B:B+''))(A['key']),A);}}function k(x,y,z){y=p(y);var A=x,y=m()?Reflect['construct'](y,z||[],p(x)['constructor']):y['apply'](x,z);if(!y||'object'!=h(y)&&'function'!=typeof y){if(void 0x0!==y)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(y=A))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return y;}function m(){try{var x=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(y){}return(m=function(){return!!x;})();}function p(x){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(y){return y['__proto__']||Object['getPrototypeOf'](y);})(x);}function q(x,y){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(z,A){return z['__proto__']=A,z;})(x,y);}var v=b('./HTMLElement'),w=b('./MediaError'),b=((()=>{function x(B){if(this instanceof x)return(B=k(this,x,[B]))['_volume']=0x1,B['_duration']=0x0,B['_isEnded']=!0x1,B['_isMute']=!0x1,B['_readyState']=0x0,B['_error']=new w(),B;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var y,z=x,A=v;if('function'!=typeof A&&null!==A)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return z['prototype']=Object['create'](A&&A['prototype'],{'constructor':{'value':z,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](z,'prototype',{'writable':!0x1}),A&&q(z,A),z=x,(A=[{'key':'addTextTrack','value':function(){}},{'key':'captureStream','value':function(){}},{'key':'fastSeek','value':function(){}},{'key':'load','value':function(){}},{'key':'pause','value':function(){}},{'key':'play','value':function(){}},{'key':'canPlayType','value':function(B){return'';}},{'key':'volume','get':function(){return this['_volume'];},'set':function(B){this['_volume']=B;}},{'key':'duration','get':function(){return this['_duration'];}},{'key':'ended','get':function(){return this['_isEnded'];}},{'key':'muted','get':function(){return this['_isMute'];}},{'key':'readyState','get':function(){return this['_readyState'];}},{'key':'error','get':function(){return this['_error'];}},{'key':'currentTime','get':function(){return 0x0;}}])&&j(z['prototype'],A),y&&j(z,y),Object['defineProperty'](z,'prototype',{'writable':!0x1}),z;})());d['exports']=b;},{'./HTMLElement':0x14,'./MediaError':0x1c}],0x17:[function(b,d,g){function j(B){return(j='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(C){return typeof C;}:function(C){return C&&'function'==typeof Symbol&&C['constructor']===Symbol&&C!==Symbol['prototype']?'symbol':typeof C;})(B);}function k(B,C){for(var D=0x0;D(F=((G,H)=>{if('object'!=j(G)||!G)return G;var I=G[Symbol['toPrimitive']];if(void 0x0===I)return('string'===H?String:Number)(G);if('object'!=j(I=I['call'](G,H||'default')))return I;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(F,'string'),'symbol'==j(F)?F:F+''))(E['key']),E);}}function m(B,C,D){C=v(C);var E=B,C=q()?Reflect['construct'](C,D||[],v(B)['constructor']):C['apply'](B,D);if(!C||'object'!=j(C)&&'function'!=typeof C){if(void 0x0!==C)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(C=E))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return C;}function q(){try{var B=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(C){}return(q=function(){return!!B;})();}function v(B){return(v=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(C){return C['__proto__']||Object['getPrototypeOf'](C);})(B);}function w(B,C){return(w=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(D,E){return D['__proto__']=E,D;})(B,C);}var x=b('./HTMLElement'),y=b('./Event'),z=[],A=((()=>{function B(F,G){if(this instanceof B)return m(this,B,['script']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var C,D=B,E=x;if('function'!=typeof E&&null!==E)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return D['prototype']=Object['create'](E&&E['prototype'],{'constructor':{'value':D,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](D,'prototype',{'writable':!0x1}),E&&w(D,E),D=B,(E=[{'key':'type','set':function(F){'systemjs-importmap'===F&&-0x1===z['indexOf'](this)&&z['push'](this);}},{'key':'src','set':function(F){var G=this;setTimeout(function(){b(F),G['dispatchEvent'](new y('load'));},0x0);}}])&&k(D['prototype'],E),C&&k(D,C),Object['defineProperty'](D,'prototype',{'writable':!0x1}),D;})());A['_getAllScriptElementsSystemJSImportType']=function(){return z;},d['exports']=A;},{'./Event':0xe,'./HTMLElement':0x14}],0x18:[function(b,d,f){function g(v){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(w){return typeof w;}:function(w){return w&&'function'==typeof Symbol&&w['constructor']===Symbol&&w!==Symbol['prototype']?'symbol':typeof w;})(v);}function h(v,w){for(var x=0x0;x(z=((A,B)=>{if('object'!=g(A)||!A)return A;var C=A[Symbol['toPrimitive']];if(void 0x0===C)return('string'===B?String:Number)(A);if('object'!=g(C=C['call'](A,B||'default')))return C;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(z,'string'),'symbol'==g(z)?z:z+''))(y['key']),y);}}function j(v,w,x){w=m(w);var y=v,w=k()?Reflect['construct'](w,x||[],m(v)['constructor']):w['apply'](v,x);if(!w||'object'!=g(w)&&'function'!=typeof w){if(void 0x0!==w)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(w=y))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return w;}function k(){try{var v=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(w){}return(k=function(){return!!v;})();}function m(v){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(w){return w['__proto__']||Object['getPrototypeOf'](w);})(v);}function p(v,w){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(x,y){return x['__proto__']=y,x;})(v,w);}var q=b('./HTMLMediaElement'),b=((()=>{function v(){if(this instanceof v)return j(this,v,['video']);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v,y=q;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),y&&p(x,y),x=v,(y=[{'key':'canPlayType','value':function(z){return'video/mp4'===z;}}])&&h(x['prototype'],y),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})());d['exports']=b;},{'./HTMLMediaElement':0x16}],0x19:[function(b,d,f){function g(v){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(w){return typeof w;}:function(w){return w&&'function'==typeof Symbol&&w['constructor']===Symbol&&w!==Symbol['prototype']?'symbol':typeof w;})(v);}function h(v,w){for(var x=0x0;x(z=((A,B)=>{if('object'!=g(A)||!A)return A;var C=A[Symbol['toPrimitive']];if(void 0x0===C)return('string'===B?String:Number)(A);if('object'!=g(C=C['call'](A,B||'default')))return C;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(z,'string'),'symbol'==g(z)?z:z+''))(y['key']),y);}}function j(v,w,x){w=m(w);var y=v,w=k()?Reflect['construct'](w,x||[],m(v)['constructor']):w['apply'](v,x);if(!w||'object'!=g(w)&&'function'!=typeof w){if(void 0x0!==w)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(w=y))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return w;}function k(){try{var v=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(w){}return(k=function(){return!!v;})();}function m(v){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(w){return w['__proto__']||Object['getPrototypeOf'](w);})(v);}function p(v,w){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(x,y){return x['__proto__']=y,x;})(v,w);}var q=b('./HTMLImageElement'),b=((()=>{function v(A,B){if(this instanceof v)return j(this,v,[A,B,!0x0]);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x,y=v,z=q;if('function'!=typeof z&&null!==z)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return y['prototype']=Object['create'](z&&z['prototype'],{'constructor':{'value':y,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](y,'prototype',{'writable':!0x1}),z&&p(y,z),y=v,w&&h(y['prototype'],w),x&&h(y,x),Object['defineProperty'](y,'prototype',{'writable':!0x1}),y;})());d['exports']=b;},{'./HTMLImageElement':0x15}],0x1a:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}var g=((()=>{function h(m,p,q){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');'number'==typeof m&&'number'==typeof p&&(q=p,p=m,m=null),this['_data']=null===m?new Uint8ClampedArray(p*q*0x4):m,this['_width']=p,this['_height']=q;}return j=h,(k=[{'key':'data','get':function(){return this['_data'];}},{'key':'width','get':function(){return this['_width'];}},{'key':'height','get':function(){return this['_height'];}}])&&f(j['prototype'],k),l&&f(j,l),Object['defineProperty'](j,'prototype',{'writable':!0x1}),j;var j,k,l;})());b['exports']=g;},{}],0x1b:[function(b,d,g){function h(y){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(z){return typeof z;}:function(z){return z&&'function'==typeof Symbol&&z['constructor']===Symbol&&z!==Symbol['prototype']?'symbol':typeof z;})(y);}function j(y,z){for(var A=0x0;A(C=((D,E)=>{if('object'!=h(D)||!D)return D;var F=D[Symbol['toPrimitive']];if(void 0x0===F)return('string'===E?String:Number)(D);if('object'!=h(F=F['call'](D,E||'default')))return F;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(C,'string'),'symbol'==h(C)?C:C+''))(B['key']),B);}}function k(y,z,A){z=p(z);var B=y,z=m()?Reflect['construct'](z,A||[],p(y)['constructor']):z['apply'](y,A);if(!z||'object'!=h(z)&&'function'!=typeof z){if(void 0x0!==z)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(z=B))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return z;}function m(){try{var y=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(z){}return(m=function(){return!!y;})();}function p(y){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(z){return z['__proto__']||Object['getPrototypeOf'](z);})(y);}function q(y,z){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(A,B){return A['__proto__']=B,A;})(y,z);}var v=b('./Event'),w={0x30:')',0x31:'!',0x32:'@',0x33:'#',0x34:'$',0x35:'%',0x36:'^',0x37:'&',0x38:'*',0x39:'('},x=!0x1,b=((()=>{function y(C,D){var E;if(!(this instanceof y))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');E=k(this,y,[C]),'object'===h(D)?(E['_altKeyActive']=D['altKey']||!0x1,E['_ctrlKeyActive']=D['ctrlKey']||!0x1,E['_metaKeyActive']=D['metaKey']||!0x1,E['_shiftKeyActive']=D['shiftKey']||!0x1,E['_keyCode']=D['keyCode']||-0x1,E['_repeat']=D['repeat']||!0x1):(E['_altKeyActive']=!0x1,E['_ctrlKeyActive']=!0x1,E['_metaKeyActive']=!0x1,E['_shiftKeyActive']=!0x1,E['_keyCode']=-0x1,E['_repeat']=!0x1);var F,G,D=E['_keyCode'];return 0x30<=D&&D<=0x39?(E['_code']='Digit'+(F=D-0x30),E['_key']=E['_shiftKeyActive']?w[D]:''+F):0x2740<=D&&D<=0x2749?(F=(D=E['_keyCode']=D-0x2710)-0x30,E['_code']='Numpad'+F,E['_key']=''+F):0x41<=D&&D<=0x5a?(G=String['fromCharCode'](D),E['_code']='Key'+G,E['_key']=E['_shiftKeyActive']^x?G:G['toLowerCase']()):0x61<=D&&D<=0x7a?(G=String['fromCharCode'](D),E['_keyCode']=D-0x20,E['_code']='Key'+G,E['_key']=E['_shiftKeyActive']^x?G['toUpperCase']():G):0x70<=D&&D<=0x7b?E['_code']=E['_key']='F'+(D-0x6f):0x1b===D?E['_code']=E['_key']='Escape':0xbd===D?(E['_code']='Minus',E['_key']=E['_shiftKeyActive']?'_':'-'):0xbb===D?(E['_code']='Equal',E['_key']=E['_shiftKeyActive']?'+':'='):0xdc===D?(E['_code']='Backslash',E['_key']=E['_shiftKeyActive']?'|':'\x5c'):0xc0===D?(E['_code']='Backquote',E['_key']=E['_shiftKeyActive']?'~':'`'):0x8===D?E['_code']=E['_key']='Backspace':0xd===D?E['_code']=E['_key']='Enter':0xdb===D?(E['_code']='BracketLeft',E['_key']=E['_shiftKeyActive']?'{':'['):0xdd===D?(E['_code']='BracketRight',E['_key']=E['_shiftKeyActive']?'}':']'):0xba===D?(E['_code']='Semicolon',E['_key']=E['_shiftKeyActive']?':':';'):0xde===D?(E['_code']='Quote',E['_key']=E['_shiftKeyActive']?'\x22':'\x27'):0x9===D?E['_code']=E['_key']='Tab':0x11===D?(E['_code']='ControlLeft',E['_key']='Control'):0x4e31===D?(E['_keyCode']=0x11,E['_code']='ControlRight',E['_key']='Control'):0x10===D?(E['_code']='ShiftLeft',E['_key']='Shift'):0x4e30===D?(E['_keyCode']=0x10,E['_code']='ShiftRight',E['_key']='Shift'):0x12===D?(E['_code']='AltLeft',E['_key']='Alt'):0x4e32===D?(E['_keyCode']=0x12,E['_code']='AltRight',E['_key']='Alt'):0x5b===D?(E['_code']='MetaLeft',E['_key']='Meta'):0x5d===D?(E['_code']='MetaRight',E['_key']='Meta'):0x25===D?E['_code']=E['_key']='ArrowLeft':0x26===D?E['_code']=E['_key']='ArrowUp':0x27===D?E['_code']=E['_key']='ArrowRight':0x28===D?E['_code']=E['_key']='ArrowDown':0x4e7d===D?(E['_keyCode']=0x5d,E['_code']=E['_key']='ContextMenu'):0x4e2d===D?(E['_keyCode']=0xd,E['_code']='NumpadEnter',E['_key']='Enter'):0x6b===D?(E['_code']='NumpadAdd',E['_key']='+'):0x6d===D?(E['_code']='NumpadSubtract',E['_key']='-'):0x6a===D?(E['_code']='NumpadMultiply',E['_key']='*'):0x6f===D?(E['_code']='NumpadDivide',E['_key']='/'):0xc===D?(E['_code']='NumLock',E['_key']='Clear'):0x7c===D?E['_code']=E['_key']='F13':0x24===D?E['_code']=E['_key']='Home':0x21===D?E['_code']=E['_key']='PageUp':0x22===D?E['_code']=E['_key']='PageDown':0x23===D?E['_code']=E['_key']='End':0xbc===D?(E['_code']='Comma',E['_key']=E['_shiftKeyActive']?'<':','):0xbe===D?(E['_code']='Period',E['_key']=E['_shiftKeyActive']?'>':'.'):0xbf===D?(E['_code']='Slash',E['_key']=E['_shiftKeyActive']?'?':'/'):0x20===D?(E['_code']='Space',E['_key']='\x20'):0x2e===D?E['_code']=E['_key']='Delete':0x6e===D?(E['_code']='NumpadDecimal',E['_key']='.'):0x14===D?(E['_code']=E['_key']='CapsLock','keyup'===C&&(x=!x)):console['log']('Unknown\x20keyCode:\x20'+E['_keyCode']),E;}var z,A=y,B=v;if('function'!=typeof B&&null!==B)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return A['prototype']=Object['create'](B&&B['prototype'],{'constructor':{'value':A,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](A,'prototype',{'writable':!0x1}),B&&q(A,B),A=y,(B=[{'key':'getModifierState','value':function(){return!0x1;}},{'key':'altKey','get':function(){return this['_altKeyActive'];}},{'key':'code','get':function(){return this['_code'];}},{'key':'ctrlKey','get':function(){return this['_ctrlKeyActive'];}},{'key':'isComposing','get':function(){return!0x1;}},{'key':'key','get':function(){return this['_key'];}},{'key':'keyCode','get':function(){return this['_keyCode'];}},{'key':'location','get':function(){return 0x0;}},{'key':'metaKey','get':function(){return this['_metaKeyActive'];}},{'key':'repeat','get':function(){return this['_repeat'];}},{'key':'shiftKey','get':function(){return this['_shiftKeyActive'];}}])&&j(A['prototype'],B),z&&j(A,z),Object['defineProperty'](A,'prototype',{'writable':!0x1}),A;})());d['exports']=b;},{'./Event':0xe}],0x1c:[function(a,b,c){function d(h){return(d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(j){return typeof j;}:function(j){return j&&'function'==typeof Symbol&&j['constructor']===Symbol&&j!==Symbol['prototype']?'symbol':typeof j;})(h);}function f(h,j){for(var k=0x0;k(m=((p,q)=>{if('object'!=d(p)||!p)return p;var s=p[Symbol['toPrimitive']];if(void 0x0===s)return('string'===q?String:Number)(p);if('object'!=d(s=s['call'](p,q||'default')))return s;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(m,'string'),'symbol'==d(m)?m:m+''))(l['key']),l);}}var g=((()=>{function h(){if(!(this instanceof h))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}return j=h,(k=[{'key':'code','get':function(){return 0x1;}},{'key':'message','get':function(){return'';}}])&&f(j['prototype'],k),l&&f(j,l),Object['defineProperty'](j,'prototype',{'writable':!0x1}),j;var j,k,l;})());b['exports']=g;},{}],0x1d:[function(b,d,f){function g(v){return(g='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(w){return typeof w;}:function(w){return w&&'function'==typeof Symbol&&w['constructor']===Symbol&&w!==Symbol['prototype']?'symbol':typeof w;})(v);}function h(v,w){for(var x=0x0;x(z=((A,B)=>{if('object'!=g(A)||!A)return A;var C=A[Symbol['toPrimitive']];if(void 0x0===C)return('string'===B?String:Number)(A);if('object'!=g(C=C['call'](A,B||'default')))return C;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(z,'string'),'symbol'==g(z)?z:z+''))(y['key']),y);}}function j(v,w,x){w=m(w);var y=v,w=k()?Reflect['construct'](w,x||[],m(v)['constructor']):w['apply'](v,x);if(!w||'object'!=g(w)&&'function'!=typeof w){if(void 0x0!==w)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(w=y))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return w;}function k(){try{var v=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(w){}return(k=function(){return!!v;})();}function m(v){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(w){return w['__proto__']||Object['getPrototypeOf'](w);})(v);}function p(v,w){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(x,y){return x['__proto__']=y,x;})(v,w);}var q=b('./Event'),b=((()=>{function v(z,A){if(this instanceof v)return(z=j(this,v,[z]))['_button']=A['button'],z['_which']=A['which'],z['_wheelDelta']=A['wheelDelta'],z['_clientX']=A['clientX'],z['_clientY']=A['clientY'],z['_screenX']=A['screenX'],z['_screenY']=A['screenY'],z['_pageX']=A['pageX'],z['_pageY']=A['pageY'],z;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x=v,y=q;if('function'!=typeof y&&null!==y)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return x['prototype']=Object['create'](y&&y['prototype'],{'constructor':{'value':x,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](x,'prototype',{'writable':!0x1}),y&&p(x,y),x=v,(y=[{'key':'button','get':function(){return this['_button'];}},{'key':'which','get':function(){return this['_which'];}},{'key':'wheelDelta','get':function(){return this['_wheelDelta'];}},{'key':'clientX','get':function(){return this['_clientX'];}},{'key':'clientY','get':function(){return this['_clientY'];}},{'key':'screenX','get':function(){return this['_screenX'];}},{'key':'screenY','get':function(){return this['_screenY'];}},{'key':'pageX','get':function(){return this['_pageX'];}},{'key':'pageY','get':function(){return this['_pageY'];}}])&&h(x['prototype'],y),w&&h(x,w),Object['defineProperty'](x,'prototype',{'writable':!0x1}),x;})());d['exports']=b;},{'./Event':0xe}],0x1e:[function(b,d,g){function h(x){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(y){return typeof y;}:function(y){return y&&'function'==typeof Symbol&&y['constructor']===Symbol&&y!==Symbol['prototype']?'symbol':typeof y;})(x);}function j(x,y){for(var z=0x0;z(B=((C,D)=>{if('object'!=h(C)||!C)return C;var E=C[Symbol['toPrimitive']];if(void 0x0===E)return('string'===D?String:Number)(C);if('object'!=h(E=E['call'](C,D||'default')))return E;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(B,'string'),'symbol'==h(B)?B:B+''))(A['key']),A);}}function k(x,y,z){y=p(y);var A=x,y=m()?Reflect['construct'](y,z||[],p(x)['constructor']):y['apply'](x,z);if(!y||'object'!=h(y)&&'function'!=typeof y){if(void 0x0!==y)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(y=A))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return y;}function m(){try{var x=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(y){}return(m=function(){return!!x;})();}function p(x){return(p=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(y){return y['__proto__']||Object['getPrototypeOf'](y);})(x);}function q(x,y){return(q=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(z,A){return z['__proto__']=A,z;})(x,y);}var v=b('./EventTarget'),w=globalThis['window'],b=((()=>{function x(){var B;if(this instanceof x)return(B=k(this,x))['childNodes']=[],B['parentNode']=w['__canvas'],B;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var y,z=x,A=v;if('function'!=typeof A&&null!==A)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return z['prototype']=Object['create'](A&&A['prototype'],{'constructor':{'value':z,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](z,'prototype',{'writable':!0x1}),A&&q(z,A),z=x,(A=[{'key':'appendChild','value':function(B){if(!(B instanceof x))throw new TypeError('Failed\x20to\x20executed\x20\x27appendChild\x27\x20on\x20\x27Node\x27:\x20parameter\x201\x20is\x20not\x20of\x20type\x20\x27Node\x27.');this['childNodes']['push'](B);}},{'key':'insertBefore','value':function(B,C){return B;}},{'key':'replaceChild','value':function(B,C){return C;}},{'key':'cloneNode','value':function(){var B=Object['create'](this);return Object['assign'](B,this),B;}},{'key':'removeChild','value':function(B){var C=this['childNodes']['findIndex'](function(D){return D===B;});return-0x1(z=((A,B)=>{if('object'!=g(A)||!A)return A;var C=A[Symbol['toPrimitive']];if(void 0x0===C)return('string'===B?String:Number)(A);if('object'!=g(C=C['call'](A,B||'default')))return C;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(z,'string'),'symbol'==g(z)?z:z+''))(y['key']),y);}}function j(v,w,x){w=m(w);var y=v,w=k()?Reflect['construct'](w,x||[],m(v)['constructor']):w['apply'](v,x);if(!w||'object'!=g(w)&&'function'!=typeof w){if(void 0x0!==w)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(w=y))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return w;}function k(){try{var v=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(w){}return(k=function(){return!!v;})();}function m(v){return(m=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(w){return w['__proto__']||Object['getPrototypeOf'](w);})(v);}function p(v,w){return(p=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(x,y){return x['__proto__']=y,x;})(v,w);}var q=b('./Event'),b=((()=>{function v(A,B){if(this instanceof v)return(A=j(this,v,[A]))['touches']=[],A['targetTouches']=[],A['changedTouches']=[],A;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var w,x,y=v,z=q;if('function'!=typeof z&&null!==z)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return y['prototype']=Object['create'](z&&z['prototype'],{'constructor':{'value':y,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](y,'prototype',{'writable':!0x1}),z&&p(y,z),y=v,w&&h(y['prototype'],w),x&&h(y,x),Object['defineProperty'](y,'prototype',{'writable':!0x1}),y;})());d['exports']=b;},{'./Event':0xe}],0x20:[function(j,k,n){function q(L){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(M){return typeof M;}:function(M){return M&&'function'==typeof Symbol&&M['constructor']===Symbol&&M!==Symbol['prototype']?'symbol':typeof M;})(L);}function w(L,M){for(var N=0x0;N(P=((Q,R)=>{if('object'!=q(Q)||!Q)return Q;var S=Q[Symbol['toPrimitive']];if(void 0x0===S)return('string'===R?String:Number)(Q);if('object'!=q(S=S['call'](Q,R||'default')))return S;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(P,'string'),'symbol'==q(P)?P:P+''))(O['key']),O);}}function x(L,M,N){M=A(M);var O=L,M=z()?Reflect['construct'](M,N||[],A(L)['constructor']):M['apply'](L,N);if(!M||'object'!=q(M)&&'function'!=typeof M){if(void 0x0!==M)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(M=O))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return M;}function z(){try{var L=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(M){}return(z=function(){return!!L;})();}function A(L){return(A=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(M){return M['__proto__']||Object['getPrototypeOf'](M);})(L);}function B(L,M){return(B=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(N,O){return N['__proto__']=O,N;})(L,M);}var C=j('./HTMLElement'),D=j('./Image'),E=j('./HTMLCanvasElement'),F=j('./HTMLVideoElement'),G=j('./HTMLScriptElement'),H=j('./Node'),I=j('./FontFaceSet'),J=globalThis['window'],K=new((()=>{function L(){var P;if(this instanceof L)return(P=x(this,L))['readyState']='complete',P['visibilityState']='visible',P['documentElement']=globalThis,P['hidden']=!0x1,P['style']={},P['location']=j('./location'),P['head']=new C('head'),P['body']=new C('body'),P['fonts']=new I(),P['scripts']=[],P;throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var M,N=L,O=H;if('function'!=typeof O&&null!==O)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return N['prototype']=Object['create'](O&&O['prototype'],{'constructor':{'value':N,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](N,'prototype',{'writable':!0x1}),O&&B(N,O),N=L,(O=[{'key':'createElementNS','value':function(P,Q,R){return this['createElement'](Q);}},{'key':'createElement','value':function(P){return'canvas'===P?new E(0x1,0x1):'img'===P?new D():'video'===P?new F():'script'===P?new G():new C(P);}},{'key':'getElementById','value':function(P){return P===J['__canvas']['id']||'canvas'===P?J['__canvas']:new C(P);}},{'key':'getElementsByTagName','value':function(P){return'head'===P?[K['head']]:'body'===P?[K['body']]:'canvas'===P?[J['__canvas']]:[new C(P)];}},{'key':'getElementsByName','value':function(P){return'head'===P?[K['head']]:'body'===P?[K['body']]:'canvas'===P?[J['__canvas']]:[new C(P)];}},{'key':'querySelector','value':function(P){return'head'===P?K['head']:'body'===P?K['body']:'canvas'===P||P==='#'['concat'](J['__canvas']['id'])?J['__canvas']:new C(P);}},{'key':'querySelectorAll','value':function(P){return'head'===P?[K['head']]:'body'===P?[K['body']]:'canvas'===P?[J['__canvas']]:P['startsWith']('script[type=\x22systemjs-importmap\x22]')?G['_getAllScriptElementsSystemJSImportType']():[new C(P)];}},{'key':'createTextNode','value':function(){return new C('text');}},{'key':'elementFromPoint','value':function(){return J['canvas'];}},{'key':'createEvent','value':function(P){return J[P]?new J[P]():null;}},{'key':'exitPointerLock','value':function(){}}])&&w(N['prototype'],O),M&&w(N,M),Object['defineProperty'](N,'prototype',{'writable':!0x1}),N;})())();k['exports']=K;},{'./FontFaceSet':0x12,'./HTMLCanvasElement':0x13,'./HTMLElement':0x14,'./HTMLScriptElement':0x17,'./HTMLVideoElement':0x18,'./Image':0x19,'./Node':0x1e,'./location':0x22}],0x21:[function(a,b,c){a('./window');},{'./window':0x24}],0x22:[function(a,b,c){b['exports']={'href':'game.js','pathname':'game.js','search':'','hash':'','protocol':'','reload':function(){}};},{}],0x23:[function(a,b,c){b['exports']=function(){};},{}],0x24:[function(a,b,c){a('fs')['glob'];var d=globalThis['window'];d['_isInjected']||(d['ontouchstart']=null,d['ontouchmove']=null,d['ontouchend']=null,d['ontouchcancel']=null,d['pageXOffset']=d['pageYOffset']=d['clientTop']=d['clientLeft']=0x0,d['outerWidth']=d['innerWidth'],d['outerHeight']=d['innerHeight'],d['clientWidth']=d['innerWidth'],d['clientHeight']=d['innerHeight'],(d['top']=d['parent']=d)['location']=a('./location'),d['document']=a('./document'),d['CanvasRenderingContext2D']=a('./CanvasRenderingContext2D'),d['Element']=a('./Element'),d['HTMLElement']=a('./HTMLElement'),d['HTMLCanvasElement']=a('./HTMLCanvasElement'),d['HTMLImageElement']=a('./HTMLImageElement'),d['HTMLMediaElement']=a('./HTMLMediaElement'),d['HTMLVideoElement']=a('./HTMLVideoElement'),d['HTMLScriptElement']=a('./HTMLScriptElement'),d['__canvas']=new d['HTMLCanvasElement'](),d['__canvas']['_width']=d['innerWidth'],d['__canvas']['_height']=d['innerHeight'],d['Image']=a('./Image'),d['FileReader']=a('./FileReader'),d['FontFace']=a('./FontFace'),d['FontFaceSet']=a('./FontFaceSet'),d['EventTarget']=a('./EventTarget'),d['Event']=d['Event']||a('./Event'),d['TouchEvent']=a('./TouchEvent'),d['MouseEvent']=a('./MouseEvent'),d['KeyboardEvent']=a('./KeyboardEvent'),d['DeviceMotionEvent']=a('./DeviceMotionEvent'),d['fetch']=globalThis['nodeEnv']['fetch'],d['Headers']=globalThis['nodeEnv']['Headers'],d['Request']=globalThis['nodeEnv']['Request'],d['Response']=globalThis['nodeEnv']['Response'],d['orientation']=0x0,Object['defineProperty'](d,'devicePixelRatio',{'get':function(){return 0x1;},'set':function(f){},'enumerable':!0x0,'configurable':!0x0}),d['screen']={'availTop':0x0,'availLeft':0x0,'availHeight':d['innerWidth'],'availWidth':d['innerHeight'],'colorDepth':0x8,'pixelDepth':0x8,'left':0x0,'top':0x0,'width':d['innerWidth'],'height':d['innerHeight'],'orientation':{'type':'portrait-primary'},'onorientationchange':function(f){}},d['addEventListener']=function(f,g,h){d['__canvas']['addEventListener'](f,g,h);},d['removeEventListener']=function(f,g,h){d['__canvas']['removeEventListener'](f,g,h);},d['dispatchEvent']=function(f){d['__canvas']['dispatchEvent'](f);},d['getComputedStyle']=function(f){return{'position':'absolute','left':'0px','top':'0px','height':'0px'};},d['resize']=function(f,g){d['innerWidth']=f,d['innerHeight']=g,d['outerWidth']=d['innerWidth'],d['outerHeight']=d['innerHeight'],d['__canvas']['_width']=d['innerWidth'],d['__canvas']['_height']=d['innerHeight'],d['screen']['availWidth']=d['innerWidth'],d['screen']['availHeight']=d['innerHeight'],d['screen']['width']=d['innerWidth'],d['screen']['height']=d['innerHeight'],d['clientWidth']=d['innerWidth'],d['clientHeight']=d['innerHeight'],f=new d['Event']('resize'),(f['_target']=d)['dispatchEvent'](f);},d['focus']=function(){},d['scroll']=function(){},d['_isInjected']=!0x0),d['localStorage']=globalThis['nodeEnv']['localStorage'];},{'./CanvasRenderingContext2D':0xa,'./DeviceMotionEvent':0xc,'./Element':0xd,'./Event':0xe,'./EventTarget':0xf,'./FileReader':0x10,'./FontFace':0x11,'./FontFaceSet':0x12,'./HTMLCanvasElement':0x13,'./HTMLElement':0x14,'./HTMLImageElement':0x15,'./HTMLMediaElement':0x16,'./HTMLScriptElement':0x17,'./HTMLVideoElement':0x18,'./Image':0x19,'./KeyboardEvent':0x1b,'./MouseEvent':0x1d,'./TouchEvent':0x1f,'./document':0x20,'./location':0x22,'fs':0x2}],0x25:[function(a,b,c){!function(d,g){!function(){function h(j){return(h='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(k){return typeof k;}:function(k){return k&&'function'==typeof Symbol&&k['constructor']===Symbol&&k!==Symbol['prototype']?'symbol':typeof k;})(j);}var i;i=function(){function j(B){var C=this['constructor'];return this['then'](function(D){return C['resolve'](B())['then'](function(){return D;});},function(D){return C['resolve'](B())['then'](function(){return C['reject'](D);});});}function k(){}function m(B){if(!(this instanceof m))throw new TypeError('Promises\x20must\x20be\x20constructed\x20via\x20new');if('function'!=typeof B)throw new TypeError('not\x20a\x20function');this['_state']=0x0,this['_handled']=!0x1,this['_value']=void 0x0,this['_deferreds']=[],y(B,this);}function q(B,C){for(;0x3===B['_state'];)B=B['_value'];0x0!==B['_state']?(B['_handled']=!0x0,m['_immediateFn'](function(){var D,E=0x1===B['_state']?C['onFulfilled']:C['onRejected'];if(null!==E){try{D=E(B['_value']);}catch(F){return void w(C['promise'],F);}v(C['promise'],D);}else(0x1===B['_state']?v:w)(C['promise'],B['_value']);})):B['_deferreds']['push'](C);}function v(B,C){try{if(C===B)throw new TypeError('A\x20promise\x20cannot\x20be\x20resolved\x20with\x20itself.');if(C&&('object'===h(C)||'function'==typeof C)){var D=C['then'];if(C instanceof m)return B['_state']=0x3,B['_value']=C,x(B);if('function'==typeof D)return y((E=D,F=C,function(){E['apply'](F,arguments);}),B);}B['_state']=0x1,B['_value']=C,x(B);}catch(G){w(B,G);}var E,F;}function w(B,C){B['_state']=0x2,B['_value']=C,x(B);}function x(B){0x2===B['_state']&&0x0===B['_deferreds']['length']&&m['_immediateFn'](function(){B['_handled']||m['_unhandledRejectionFn'](B['_value']);});for(var C=0x0,D=B['_deferreds']['length'];CG;G++)!function H(I,J){try{if(J&&('object'===h(J)||'function'==typeof J)){var K=J['then'];if('function'==typeof K)return K['call'](J,function(L){H(I,L);},D);}E[I]=J,0x0==--F&&C(E);}catch(L){D(L);}}(G,E[G]);});},m['resolve']=function(B){return B&&'object'===h(B)&&B['constructor']===m?B:new m(function(C){C(B);});},m['reject']=function(B){return new m(function(C,D){D(B);});},m['race']=function(B){return new m(function(C,D){for(var E=0x0,F=B['length'];E{if('undefined'!=typeof self)return self;if('undefined'!=typeof window)return window;if(void 0x0!==d)return d;throw Error('unable\x20to\x20locate\x20global\x20object');})()));'Promise'in A?A['Promise']['prototype']['finally']||(A['Promise']['prototype']['finally']=j):A['Promise']=m;},('object'!==(void 0x0===c?'undefined':h(c))||void 0x0===b)&&'function'==typeof define&&define['amd']?define(i):i();}['call'](this);}['call'](this,'undefined'!=typeof global?global:'undefined'!=typeof self?self:'undefined'!=typeof window?window:{},a('timers')['setImmediate']);},{'timers':0x6}],0x26:[function(a,b,c){var d,f;globalThis['WebAssembly']?(console['info']('injectWebAssembly\x20...'),d=WebAssembly['instantiate'],f=WebAssembly['compile'],WebAssembly['compile']=function(g){return new Promise(function(h,i){g?CC_EDITOR?h(f['call'](WebAssembly,g)):h(new WebAssembly['Module'](g)):i('WebAssembly.compile:\x20Invalid\x20buffer\x20source!');});},WebAssembly['instantiate']=function(g,h){var i=g instanceof WebAssembly['Module']?d(g,h):new Promise(function(j,k){WebAssembly['compile'](g)['then'](function(l){d(l,h)['then'](function(m){j({'instance':m,'module':l});})['catch'](k);})['catch'](k);});return i;}):console['warn']('WebAssembly\x20is\x20not\x20supported!');},{}],0x27:[function(a,b,c){function d(x){this['options']=x||{'locator':{}};}function g(){this['cdata']=!0x1;}function j(x,z){z['lineNumber']=x['lineNumber'],z['columnNumber']=x['columnNumber'];}function k(x){if(x)return'\x0a@'+(x['systemId']||'')+'#[line:'+x['lineNumber']+',col:'+x['columnNumber']+']';}function m(x,z,A){return'string'==typeof x?x['substr'](z,A):x['length']>=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}d['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new g(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},z=/\/x?html?$/['test'](z),G=z?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=((H,I,J)=>{if(!H){if(I instanceof g)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;})(D,C,E),B['domBuilder']=A['domBuilder']||C,z&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,G):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},g['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==az&&'>')||('&'==az?'&':'\x22'==az&&'"')||'&#'+az['charCodeAt']()+';';}function ac(az,aA){if(aA(az))return 0x1;if(az=az['firstChild'])do{if(ac(az,aA))return 0x1;}while(az=az['nextSibling']);}function ad(){}function ae(az,aA,aB){az&&az['_inc']++,'http://www.w3.org/2000/xmlns/'==aB['namespaceURI']&&delete aA['_nsMap'][aB['prefix']?aB['localName']:''];}function af(az,aA,aB){if(az&&az['_inc']){az['_inc']++;var aC=aA['childNodes'];if(aB)aC[aC['length']++]=aB;else{for(var aD=aA['firstChild'],aE=0x0;aD;)aD=(aC[aE++]=aD)['nextSibling'];aC['length']=aE;}}}function ag(az,aA){var aB=aA['previousSibling'],aC=aA['nextSibling'];return aB?aB['nextSibling']=aC:az['firstChild']=aC,aC?aC['previousSibling']=aB:az['lastChild']=aB,af(az['ownerDocument'],az),aA;}function ah(az,aA,aB){var aC=aA['parentNode'];if(aC&&aC['removeChild'](aA),0xb===aA['nodeType']){var aD=aA['firstChild'];if(null==aD)return aA;var aE=aA['lastChild'];}else aD=aE=aA;aC=aB?aB['previousSibling']:az['lastChild'];for(aD['previousSibling']=aC,aE['nextSibling']=aB,aC?aC['nextSibling']=aD:az['firstChild']=aD,null==aB?az['lastChild']=aE:aB['previousSibling']=aE;aD['parentNode']=az,aD!==aE&&(aD=aD['nextSibling']););return af(az['ownerDocument']||az,az),0xb==aA['nodeType']&&(aA['firstChild']=aA['lastChild']=null),aA;}function ai(){this['_nsMap']={};}function aj(){}function ak(){}function al(){}function am(){}function an(){}function ao(){}function ap(){}function aq(){}function ar(){}function as(){}function at(){}function au(){}function av(az,aA){var aB,aC=[],aD=0x9==this['nodeType']&&this['documentElement']||this,aE=aD['prefix'],aF=aD['namespaceURI'];return ax(this,aC,az,aA,aB=aF&&null==aE&&null==aD['lookupPrefix'](aF)?[{'namespace':aF,'prefix':null}]:aB),aC['join']('');}function aw(az,aA,aB){var aC=az['prefix']||'',aD=az['namespaceURI'];if((aC||aD)&&('xml'!==aC||'http://www.w3.org/XML/1998/namespace'!==aD)&&'http://www.w3.org/2000/xmlns/'!=aD){for(var aE=aB['length'];aE--;){var aF=aB[aE];if(aF['prefix']==aC)return aF['namespace']!=aD;}return 0x1;}}function ax(az,aA,aB,aC,aD){if(aC){if(!(az=aC(az)))return;if('string'==typeof az)return void aA['push'](az);}switch(az['nodeType']){case 0x1:aD=aD||[];var aE=az['attributes'],aF=aE['length'],aG=az['firstChild'],aH=az['tagName'];aB='http://www.w3.org/1999/xhtml'===az['namespaceURI']||aB,aA['push']('<',aH);for(var aI=0x0;aI'),aB&&/^script$/i['test'](aH)){for(;aG;)aG['data']?aA['push'](aG['data']):ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}else{for(;aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];}aA['push']('');}else aA['push']('/>');return;case 0x9:case 0xb:for(aG=az['firstChild'];aG;)ax(aG,aA,aB,aC,aD),aG=aG['nextSibling'];return;case 0x2:return aA['push']('\x20',az['name'],'=\x22',az['value']['replace'](/[<&"]/g,ab),'\x22');case 0x3:return aA['push'](az['data']['replace'](/[<&]/g,ab));case 0x4:return aA['push']('');case 0x8:return aA['push']('');case 0xa:var aH=az['publicId'],aM=az['systemId'];return aA['push']('')):aM&&'.'!=aM?aA['push']('\x20SYSTEM\x20\x22',aM,'\x22>'):((aH=az['internalSubset'])&&aA['push']('\x20[',aH,']'),aA['push']('>')));case 0x7:return aA['push']('');case 0x5:return aA['push']('&',az['nodeName'],';');default:aA['push']('??',az['nodeName']);}}function ay(az,aA,aB){az[aA]=aB;}a1['prototype']=Error['prototype'],Q(Z,a1),a2['prototype']={'length':0x0,'item':function(az){return this[az]||null;},'toString':function(az,aA){for(var aB=[],aC=0x0;aC','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x2a:[function(b,c,d){var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),j=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,u=0x6,v=0x7;function w(){}function x(F,G){return G['lineNumber']=F['lineNumber'],G['columnNumber']=F['columnNumber'],G;}function y(F,G,J){for(var K=F['tagName'],N=null,O=F['length'];O--;){var Q=F[O],S=Q['qName'],T=Q['value'],S=0x0<(W=S['indexOf'](':'))?(V=Q['prefix']=S['slice'](0x0,W),X=S['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=S)&&'');Q['localName']=X,!0x1!==S&&(null==N&&(N={},z(J,J={})),J[S]=N[S]=T,Q['uri']='http://www.w3.org/2000/xmlns/',G['startPrefixMapping'](S,T));}for(var V,O=F['length'];O--;)(V=(Q=F[O])['prefix'])&&('xml'===V&&(Q['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V)&&(Q['uri']=J[V||'']);var W,X=0x0<(W=K['indexOf'](':'))?(V=F['prefix']=K['slice'](0x0,W),F['localName']=K['slice'](W+0x1)):(V=null,F['localName']=K),Y=F['uri']=J[V||''];if(G['startElement'](Y,X,K,F),!F['closed'])return F['currentNSMap']=J,F['localNSMap']=N,0x1;if(G['endElement'](Y,X,K),N){for(V in N)G['endPrefixMapping'](V);}}function z(F,G){for(var J in F)G[J]=F[J];}function E(F){}w['prototype']={'parse':function(F,G,J){var K=this['domBuilder'];K['startDocument'](),z(G,G={}),((Q,V,W,X,Y)=>{function Z(ao){var ap=ao['slice'](0x1,-0x1);return ap in W?W[ap]:'#'===ap['charAt'](0x0)?0xffff<(ap=parseInt(ap['substr'](0x1)['replace']('x','0x')))?(ap-=0x10000,String['fromCharCode'](0xd800+(ap>>0xa),0xdc00+(0x3ff&ap))):String['fromCharCode'](ap):(Y['error']('entity\x20not\x20found:'+ao),ao);}function a0(ao){var ap;a8',ab+0x3),ad=Q['substring'](ab+0x2,ac),ae=a6['pop'](),af=(ac<0x0?(ad=Q['substring'](ab+0x2)['replace'](/[\s<].*/,''),Y['error']('end\x20tag\x20name:\x20'+ad+'\x20is\x20not\x20complete:'+ae['tagName']),ac=ab+0x1+ad['length']):ad['match'](/\s{var ar=ao['indexOf']('?>',ap);if(ar){ao=ao['substring'](ap,ar)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(ao)return ao[0x0]['length'],aq['processingInstruction'](ao[0x1],ao[0x2]),ar+0x2;}return-0x1;})(Q,ab,X);break;case'!':a5&&a1(ab),ac=((ao,ap,aq,ar)=>{var as,at;return'-'===ao['charAt'](ap+0x2)?'-'===ao['charAt'](ap+0x3)?(at=ao['indexOf']('-->',ap+0x4),ap',ap+0x9),aq['startCDATA'](),aq['characters'](ao,ap+0x9,at-ap-0x9),aq['endCDATA'](),at+0x3):0x1<(at=(ar=((au,av)=>{var aw,ax=[],ay=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(ay['lastIndex']=av,ay['exec'](au);aw=ay['exec'](au);)if(ax['push'](aw),aw[0x1])return ax;})(ao,ap))['length'])&&/!doctype/i['test'](ar[0x0][0x0])?(ao=ar[0x1][0x0],ap=0x3{for(var au,av=++ap,aw=k;;){var ax=ao['charAt'](av);switch(ax){case'=':if(aw===l)au=ao['slice'](ap,av);else{if(aw!==m)throw new Error('attribute\x20equal\x20must\x20after\x20attrName');}aw=p;break;case'\x27':case'\x22':if(aw===p||aw===l){if(aw===l&&(at['warning']('attribute\x20value\x20must\x20after\x20\x22=\x22'),au=ao['slice'](ap,av)),ap=av+0x1,!(0x0<(av=ao['indexOf'](ax,ap))))throw new Error('attribute\x20value\x20no\x20end\x20\x27'+ax+'\x27\x20match');ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as),aq['add'](au,ay,ap-0x1);}else{if(aw!=q)throw new Error('attribute\x20value\x20must\x20after\x20\x22=\x22');ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as),aq['add'](au,ay,ap),at['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20start\x20quot('+ax+')!!'),ap=av+0x1;}aw=s;break;case'/':switch(aw){case k:aq['setTagName'](ao['slice'](ap,av));case s:case u:case v:aw=v,aq['closed']=!0x0;case q:case l:case m:break;default:throw new Error('attribute\x20invalid\x20close\x20char(\x27/\x27)');}break;case'':return at['error']('unexpected\x20end\x20of\x20input'),aw==k&&aq['setTagName'](ao['slice'](ap,av)),av;case'>':switch(aw){case k:aq['setTagName'](ao['slice'](ap,av));case s:case u:case v:break;case q:case l:'/'===(ay=ao['slice'](ap,av))['slice'](-0x1)&&(aq['closed']=!0x0,ay=ay['slice'](0x0,-0x1));case m:aw===m&&(ay=au),aw==q?(at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20quot(\x22)!!'),aq['add'](au,ay['replace'](/&#?\w+;/g,as),ap)):('http://www.w3.org/1999/xhtml'===ar['']&&ay['match'](/^(?:disabled|checked|selected)$/i)||at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20value!!\x20\x22'+ay+'\x22\x20instead!!'),aq['add'](ay,ay,ap));break;case p:throw new Error('attribute\x20value\x20missed!!');}return av;case'\u0080':ax='\x20';default:if(ax<='\x20')switch(aw){case k:aq['setTagName'](ao['slice'](ap,av)),aw=u;break;case l:au=ao['slice'](ap,av),aw=m;break;case q:var ay=ao['slice'](ap,av)['replace'](/&#?\w+;/g,as);at['warning']('attribute\x20\x22'+ay+'\x22\x20missed\x20quot(\x22)!!'),aq['add'](au,ay,ap);case s:aw=u;}else switch(aw){case m:aq['tagName'],('http://www.w3.org/1999/xhtml'===ar['']&&au['match'](/^(?:disabled|checked|selected)$/i)||at['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead2!!'),aq['add'](au,au,ap),ap=av,aw=l);break;case s:at['warning']('attribute\x20space\x20is\x20required\x22'+au+'\x22!!');case u:aw=l,ap=av;break;case p:aw=q,ap=av;break;case v:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}av++;}})(Q,ab,ai,aj,Z,Y),ak=ai['length'];if(!ai['closed']&&((ao,ap,aq,ar)=>{var as=ar[aq];return null==as&&((as=ao['lastIndexOf']('')){if(/^(?:script|textarea)$/i['test'](aq)){var at=ao['indexOf']('',ap),ao=ao['substring'](ap+0x1,at);if(/[&<]/['test'](ao))return/^script$/i['test'](aq)?as['characters'](ao,0x0,ao['length']):(ao=ao['replace'](/&#?\w+;/g,ar),as['characters'](ao,0x0,ao['length'])),at;}return ap+0x1;})(Q,ac,ai['tagName'],Z,X);}}catch(ao){Y['error']('element\x20parse\x20error:\x20'+ao),ac=-0x1;}a8{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(j,q,z){var G=j('./cache-manager'),H=j('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();j(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a6{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(j,q,z){var G=j('./cache-manager'),H=j('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();j(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a60x0?setTimeout(J,F['deleteInterval']):q=![];}setTimeout(J,F['deleteInterval']);},'removeCache':function E(F){if(this['cachedFiles']['has'](F)){var G=this['cachedFiles']['remove'](F)['url'];clearTimeout(p),this['_write'](),this['_removePathOrFile'](F,G);}},'_removePathOrFile':function F(G,H){this['_isZipFile'](G)?this['_isZipFile'](H)?k(H,this['_deleteFileCB']['bind'](this)):(l(H,!![]),this['_deleteFileCB']()):k(H,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function G(H){if(!H)this['outOfStorage']=![];},'makeBundleFolder':function H(I){g(''['concat'](this['cacheDir'],'/')['concat'](I),!![]);},'unzipAndCacheBundle':function I(J,K,L,M){var N=Date['now']()['toString'](),O=''['concat'](this['cacheDir'],'/')['concat'](L,'/')['concat'](N)['concat'](r++),P=this;g(O,!![]),m(K,O,function(Q){if(Q){l(O,!![]);n(Q['message'])&&(P['outOfStorage']=!![],P['autoClear']&&P['clearLRU']());M&&M(Q);return;}P['cachedFiles']['add'](J,{'bundle':L,'url':O,'lastTime':N}),P['writeCacheFile'](),M&&M(null,O);});},'_isZipFile':function J(K){return K['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=t;},{'./fs-utils':0x4}],0x3:[function(a,b,c){'use strict';var d=ral['createCanvas']['bind'](ral);ral['createCanvas']=function(){var canvas=d();return canvas['style']={},canvas;};},{}],0x4:[function(a,b,c){'use strict';var d=ral['getFileSystemManager']?ral['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'_subpackagesPath':'usr_','isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return ral['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errMsg'])),l&&l(new Error(o['errMsg']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){t['statusCode']===0xc8?p&&p(null,t['tempFilePath']||t['filePath']):(t['filePath']&&f['deleteFile'](t['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](t['statusCode'])),p&&p(new Error(t['statusCode']),null));},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errMsg'])),p&&p(new Error(u['errMsg']),null);}};if(m)q['filePath']=m;if(n)q['header']=n;var r=ral['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){ral['saveFile']({'tempFilePath':m,'filePath':n,'success':function p(q){o&&o(null);},'fail':function q(r){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](m,'\x20message:\x20')['concat'](r['errMsg'])),o&&o(new Error(r['errMsg']));}});},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errMsg'])),r&&r(new Error(u['errMsg']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync'](p,q,r),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'binary',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync'](v,'utf8');return JSON['parse'](w);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync'](w,x),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync'](x,y),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=ral['loadSubpackage']({'name':''['concat'](f['_subpackagesPath'])['concat'](z),'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errMsg'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errMsg'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errMsg'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errMsg'])));}});}};window['fsUtils']=b['exports']=f;},{}],0x5:[function(a,b,c){'use strict';cc['game']['restart']=function(){},ral['onWindowResize']&&ral['onWindowResize'](function(d,e){cc['game']['canvas']&&cc['view']['setCanvasSize'](d,e);});},{}],0x6:[function(a,b,c){'use strict';var d=a('../../../common/engine/cache-manager'),e=a('../../../common/engine/fs-utils'),f=e['downloadFile'],g=e['readText'],h=e['readArrayBuffer'],i=e['readJson'],j=e['loadSubpackage'],k=e['getUserDataPath'],l=e['_subpackagesPath'];cc['assetManager']['fsUtils']=ral['fsUtils'];var m=/^https?:\/\/.*/,n=cc['assetManager']['downloader'],o=cc['assetManager']['parser'],p=cc['assetManager']['presets'];n['maxConcurrency']=0xc,n['maxRequestsPerFrame']=0x40,p['scene']['maxConcurrency']=0xc,p['scene']['maxRequestsPerFrame']=0x40;var q={},r={};function s(R,S,T){if(m['test'](R)){T&&T(new Error('Can\x20not\x20load\x20remote\x20scripts'));return;}if(r[R])return T&&T();a(R),r[R]=!![],T&&T(null);}function t(R,S,T){var U=d['cachedFiles']['get'](R);if(U)d['updateLastTime'](R),T&&T(null,U['url']);else m['test'](R)?f(R,null,S['header'],S['onFileProgress'],function(V,W){if(V){T&&T(V);return;}d['unzipAndCacheBundle'](R,W,S['__cacheBundleRoot__'],T);}):d['unzipAndCacheBundle'](R,R,S['__cacheBundleRoot__'],T);}function u(R,S,T){cc['AudioPlayer']['load'](R)['then'](function(U){var V={'player':U,'url':R,'duration':U['duration'],'type':U['type']};T(null,V);})['catch'](function(U){T(U);});}function v(R,S,T,U,V){var W=P(R,T);if(W['inLocal'])S(W['url'],T,V);else W['inCache']?(d['updateLastTime'](R),S(W['url'],T,function(X,Y){X&&d['removeCache'](R),V(X,Y);})):f(R,null,T['header'],U,function(X,Y){if(X){V(X,null);return;}S(Y,T,function(Z,a0){!Z&&(d['tempFiles']['add'](R,Y),d['cacheFile'](R,Y,T['cacheEnabled'],T['__cacheBundleRoot__'],!![])),V(Z,a0);});});}function w(R,S,T){h(R,T);}function x(R,S,T){g(R,T);}function y(R,S,T){i(R,T);}function z(R,S,T){v(R,x,S,S['onFileProgress'],T);}function A(R,S,T){v(R,y,S,S['onFileProgress'],T);}function B(R,S,T){var U=C(R),V=new FontFace(U,'url(\x27'['concat'](R,'\x27)'));document['fonts']['add'](V),V['load'](),V['loaded']['then'](function(){T(null,U);},function(){cc['warnID'](0x1345,U),T(null,U);});}function C(R){var S=R['lastIndexOf']('.ttf');S===-0x1&&(S=R['lastIndexOf']('.tmp'));if(S===-0x1)return R;var T=R['lastIndexOf']('/'),U;return T===-0x1?U=''['concat'](R['substring'](0x0,S),'_LABEL'):U=''['concat'](R['substring'](T+0x1,S),'_LABEL'),U;}function D(R,S,T){T(null,R);}function E(R,S,T){v(R,D,S,S['onFileProgress'],T);}function F(R,S,T){var U=cc['path']['basename'](R),V=S['version']||cc['assetManager']['downloader']['bundleVers'][U],W=V?''['concat'](V,'.'):'';if(q[U]){var X=''['concat'](U,'/config.')['concat'](W,'json');j(U,S['onFileProgress'],function(a0){if(a0){T(a0,null);return;}A(X,S,function(a1,a2){a2&&(a2['base']=''['concat'](U,'/')),T(a1,a2);});});}else{var Y,Z;if(m['test'](R)||R['startsWith'](k()))Z=R,Y='src/bundle-scripts/'['concat'](U,'/index.')['concat'](W,'js'),d['makeBundleFolder'](U);else n['remoteBundles']['indexOf'](U)!==-0x1?(Z=''['concat'](n['remoteServerAddress'],'remote/')['concat'](U),Y='src/bundle-scripts/'['concat'](U,'/index.')['concat'](W,'js'),d['makeBundleFolder'](U)):(Z='assets/'['concat'](U),Y='assets/'['concat'](U,'/index.')['concat'](W,'js'));!r[Y]&&(a(Y),r[Y]=!![]);S['__cacheBundleRoot__']=U;var X=''['concat'](Z,'/config.')['concat'](W,'json');A(X,S,function(a0,a1){if(a0){T&&T(a0);return;}if(a1['isZip']){var a2=a1['zipVersion'],a3=''['concat'](Z,'/res.')['concat'](a2?''['concat'](a2,'.'):'','zip');t(a3,S,function(a4,a5){if(a4){T&&T(a4);return;}a1['base']=''['concat'](a5,'/res/'),T&&T(null,a1);});}else a1['base']=''['concat'](Z,'/'),T&&T(null,a1);});}}function G(R,S,T){v(R,w,S,S['onFileProgress'],T);}var H=o['parsePVRTex'],I=function R(S,T,U){h(S,function(V,W){if(V)return U(V);H(W,T,U);});},J=o['parsePKMTex'],K=function S(T,U,V){h(T,function(W,X){if(W)return V(W);J(X,U,V);});},L=o['parseASTCTex'],M=function T(U,V,W){h(U,function(X,Y){if(X)return W(X);L(Y,V,W);});},N=o['parsePlist'],O=function U(V,W,X){g(V,function(Y,Z){if(Y)return X(Y);N(Z,W,X);});};n['downloadScript']=s,n['_downloadArrayBuffer']=G,n['_downloadJson']=A,o['parsePVRTex']=I,o['parsePKMTex']=K,o['parseASTCTex']=M,o['parsePlist']=O,n['register']({'.js':s,'.mp3':E,'.ogg':E,'.wav':E,'.m4a':E,'.png':E,'.jpg':E,'.bmp':E,'.jpeg':E,'.gif':E,'.ico':E,'.tiff':E,'.image':E,'.webp':E,'.pvr':E,'.pkm':E,'.astc':E,'.font':E,'.eot':E,'.ttf':E,'.woff':E,'.svg':E,'.ttc':E,'.txt':E,'.xml':E,'.vsh':E,'.fsh':E,'.atlas':E,'.tmx':E,'.tsx':E,'.plist':E,'.fnt':E,'.json':A,'.ExportJson':E,'.binary':E,'.bin':E,'.dbbin':E,'.skel':E,'.mp4':E,'.avi':E,'.mov':E,'.mpg':E,'.mpeg':E,'.rm':E,'.rmvb':E,'bundle':F,'default':z}),o['register']({'.png':n['downloadDomImage'],'.jpg':n['downloadDomImage'],'.bmp':n['downloadDomImage'],'.jpeg':n['downloadDomImage'],'.gif':n['downloadDomImage'],'.ico':n['downloadDomImage'],'.tiff':n['downloadDomImage'],'.image':n['downloadDomImage'],'.webp':n['downloadDomImage'],'.pvr':I,'.pkm':K,'.astc':M,'.font':B,'.eot':B,'.ttf':B,'.woff':B,'.svg':B,'.ttc':B,'.mp3':u,'.ogg':u,'.wav':u,'.m4a':u,'.txt':x,'.xml':x,'.vsh':x,'.fsh':x,'.atlas':x,'.tmx':x,'.tsx':x,'.fnt':x,'.plist':O,'.binary':w,'.bin':w,'.dbbin':w,'.skel':w,'.ExportJson':y});var P=function V(W,X){var Y=![],Z=![],a0=W['startsWith'](k());if(a0)Y=!![];else{if(m['test'](W)){if(!X['reload']){var a1=d['cachedFiles']['get'](W);if(a1)Z=!![],W=a1['url'];else{var a2=d['tempFiles']['get'](W);a2&&(Y=!![],W=a2);}}}else Y=!![];}return{'url':W,'inLocal':Y,'inCache':Z};};cc['assetManager']['transformPipeline']['append'](function(W){var X=W['output']=W['input'];for(var Y=0x0,Z=X['length'];Y{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(b,j,k){var b=b('./fs-utils'),q=b['getUserDataPath'],w=b['readJsonSync'],x=b['makeDirSync'],y=b['writeFileSync'],z=b['copyFile'],A=b['downloadFile'],B=b['deleteFile'],C=b['rmdirSync'],D=b['unzip'],E=b['isOutOfStorage'],F=!0x1,G=null,H=!0x1,I=0x0,J=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=j['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(K){return this['cachedFiles']['has'](K)?this['cachedFiles']['get'](K)['url']:'';},'getTemp':function(K){return this['tempFiles']['has'](K)?this['tempFiles']['get'](K):'';},'init':function(){this['cacheDir']=''['concat'](q(),'/')['concat'](this['cacheDir']);var K=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),L=w(K);L instanceof Error||!L['version']?(L instanceof Error||C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),y(K,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](L['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(K){this['cachedFiles']['has'](K)&&(this['cachedFiles']['get'](K)['lastTime']=Date['now']());},'_write':function(){G=null,y(''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');},'writeCacheFile':function(){G=G||setTimeout(this['_write']['bind'](this),this['writeFileInterval']);},'_cache':function(){F=!0x1;var K,L,M,N,O,P,Q,R=this,S='';for(K in this['cacheQueue']){S=K;break;}function T(U){if(U){if(E(U['message']))return R['outOfStorage']=!0x0,void(R['autoClear']&&R['clearLRU']());}else R['cachedFiles']['add'](S,{'bundle':O,'url':Q,'lastTime':P}),R['writeCacheFile']();delete R['cacheQueue'][S],cc['js']['isEmptyObject'](R['cacheQueue'])||F||(F=!0x0,setTimeout(R['_cache']['bind'](R),R['cacheInterval']));}S&&(M=(L=this['cacheQueue'][S])['srcUrl'],N=L['isCopy'],O=L['cacheBundleRoot'],P=Date['now']()['toString'](),Q='',Q=(O?''['concat'](this['cacheDir'],'/')['concat'](O,'/'):''['concat'](this['cacheDir'],'/'))['concat'](P)['concat'](I++)['concat'](cc['path']['extname'](S)),N?z(M,Q,T):A(M,Q,null,T));},'cacheFile':function(K,L,M,N,O){!(M=void 0x0!==M?M:this['cacheEnabled'])||this['cacheQueue'][K]||this['cachedFiles']['has'](K)||(this['cacheQueue'][K]={'srcUrl':L,'cacheBundleRoot':N,'isCopy':O},F)||this['outOfStorage']||(F=!0x0,setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var K=this;C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),this['outOfStorage']=!0x1,clearTimeout(G),this['_write'](),cc['assetManager']['bundles']['forEach'](function(L){J['test'](L['base'])&&K['makeBundleFolder'](L['name']);});},'clearLRU':function(){if(!H){H=!0x0;var K=[],L=this;this['cachedFiles']['forEach'](function(P,Q){L['_isZipFile'](Q)&&cc['assetManager']['bundles']['find'](function(R){return-0x1!==R['base']['indexOf'](P['url']);})||K['push']({'originUrl':Q,'url':P['url'],'lastTime':P['lastTime']});}),K['sort'](function(P,Q){return P['lastTime']-Q['lastTime'];}),K['length']=Math['floor'](K['length']/0x3),K['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):K['length']=Math['floor'](K['length']/0x3);for(var M=0x0,N=K['length'];M{var aq,ar=ap['lastIndexOf']('.ttf');return-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)&&(aq=ap['lastIndexOf']('/'),ap=''['concat'](-0x1===aq?ap['substring'](0x0,ar):ap['substring'](aq+0x1,ar),'_LABEL')),ap;})(al),al=new FontFace(ao,'url(\x27'['concat'](al,'\x27)'));document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){J(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=G['parsePVRTex'],ag=G['parsePKMTex'],ah=G['parseASTCTex'],ai=G['parsePlist'],aj=(X['downloadScript']=a1,X['_downloadArrayBuffer']=function(al,am,an){a3(al,a4,am,am['onFileProgress'],an);},X['_downloadJson']=a7,G['parsePVRTex']=ab,G['parsePKMTex']=ac,G['parseASTCTex']=ad,G['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';Z[ar]?(aq=''['concat'](ar,'/config.')['concat'](as,'json'),Q(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),A['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),A['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(k(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),an&&an(null,au));},(at=A['cachedFiles']['get'](av))?(A['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?H(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):A['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):A['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](ap,'/'),an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),G['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=A['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=A['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an0x0?setTimeout(J,F['deleteInterval']):q=![];}setTimeout(J,F['deleteInterval']);},'removeCache':function E(F){if(this['cachedFiles']['has'](F)){var G=this['cachedFiles']['remove'](F)['url'];clearTimeout(p),this['_write'](),this['_removePathOrFile'](F,G);}},'_removePathOrFile':function F(G,H){this['_isZipFile'](G)?this['_isZipFile'](H)?k(H,this['_deleteFileCB']['bind'](this)):(l(H,!![]),this['_deleteFileCB']()):k(H,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function G(H){if(!H)this['outOfStorage']=![];},'makeBundleFolder':function H(I){g(''['concat'](this['cacheDir'],'/')['concat'](I),!![]);},'unzipAndCacheBundle':function I(J,K,L,M){var N=Date['now']()['toString'](),O=''['concat'](this['cacheDir'],'/')['concat'](L,'/')['concat'](N)['concat'](r++),P=this;g(O,!![]),m(K,O,function(Q){if(Q){l(O,!![]);n(Q['message'])&&(P['outOfStorage']=!![],P['autoClear']&&P['clearLRU']());M&&M(Q);return;}P['cachedFiles']['add'](J,{'bundle':L,'url':O,'lastTime':N}),P['writeCacheFile'](),M&&M(null,O);});},'_isZipFile':function J(K){return K['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=t;},{'./fs-utils':0x5}],0x4:[function(a,b,c){'use strict';var d=ral['createCanvas']['bind'](ral);ral['createCanvas']=function(){var canvas=d();return canvas['style']={},canvas;};},{}],0x5:[function(a,b,c){'use strict';var d=ral['getFileSystemManager']?ral['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'_subpackagesPath':'usr_','isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return ral['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errMsg'])),l&&l(new Error(o['errMsg']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){t['statusCode']===0xc8?p&&p(null,t['tempFilePath']||t['filePath']):(t['filePath']&&f['deleteFile'](t['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](t['statusCode'])),p&&p(new Error(t['statusCode']),null));},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errMsg'])),p&&p(new Error(u['errMsg']),null);}};if(m)q['filePath']=m;if(n)q['header']=n;var r=ral['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){ral['saveFile']({'tempFilePath':m,'filePath':n,'success':function p(q){o&&o(null);},'fail':function q(r){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](m,'\x20message:\x20')['concat'](r['errMsg'])),o&&o(new Error(r['errMsg']));}});},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errMsg'])),r&&r(new Error(u['errMsg']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync'](p,q,r),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'binary',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync'](v,'utf8');return JSON['parse'](w);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync'](w,x),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync'](x,y),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=ral['loadSubpackage']({'name':''['concat'](f['_subpackagesPath'])['concat'](z),'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errMsg'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errMsg'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errMsg'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errMsg'])));}});}};window['fsUtils']=b['exports']=f;},{}],0x6:[function(a,b,c){'use strict';cc['game']['restart']=function(){},ral['onWindowResize']&&ral['onWindowResize'](function(d,e){cc['game']['canvas']&&cc['view']['setCanvasSize'](d,e);});},{}],0x7:[function(a,b,c){'use strict';a('./fs-utils'),a('./canvas'),a('./asset-manager.js'),a('./EditBox.js'),a('./game.js'),a('./wasm.js');},{'./EditBox.js':0x1,'./asset-manager.js':0x2,'./canvas':0x4,'./fs-utils':0x5,'./game.js':0x6,'./wasm.js':0x8}],0x8:[function(a,b,c){'use strict';function d(e){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(f){return typeof f;}:function(f){return f&&'function'==typeof Symbol&&f['constructor']===Symbol&&f!==Symbol['prototype']?'symbol':typeof f;},d(e);}d(ral['WebAssembly'])==='object'&&typeof ral['WebAssembly']['instantiateFromFile']==='function'&&(ral['WebAssembly']['instantiate']=ral['WebAssembly']['instantiateFromFile'],window['CCWebAssembly']=ral['WebAssembly']);},{}],0x9:[function(a,b,c){'use strict';a('../../../common/engine/index');},{'../../../common/engine/index':0x7}]},{},[0x9])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/runtime/huawei-quick-game/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/runtime/huawei-quick-game/engine-adapter.min.js +deleted file mode 100644 +index 0f75055..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/runtime/huawei-quick-game/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function a(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],a,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(k,q,z){var G=k('./cache-manager'),H=k('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0xc,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xc,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();k(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){ao={'player':ao,'url':al,'duration':ao['duration'],'type':ao['type']},an(null,ao);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)&&(aq=ap['lastIndexOf']('/'),ap=''['concat'](-0x1===aq?ap['substring'](0x0,ar):ap['substring'](aq+0x1,ar),'_LABEL')),ap;})(al),al=new FontFace(ao,'url(\x27'['concat'](al,'\x27)'));document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,X['_downloadArrayBuffer']=function(al,am,an){a3(al,a4,am,am['onFileProgress'],an);},X['_downloadJson']=a7,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(k(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](ap,'/'),an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(j,q,z){var G=j('./cache-manager'),H=j('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();j(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a6{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(j,k,q){var z=j('./cache-manager'),G=j('./fs-utils'),H=G['downloadFile'],J=G['readText'],L=G['readArrayBuffer'],N=G['readJson'],Q=G['loadSubpackage'],U=G['getUserDataPath'],V=G['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],G=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();j(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(z['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&z['removeCache'](al),ap(ar,as);})):H(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(z['tempFiles']['add'](al,as),z['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){L(al,an);}function a5(al,am,an){J(al,an);}function a6(al,am,an){N(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){J(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=G['parsePVRTex'],ag=G['parsePKMTex'],ah=G['parseASTCTex'],ai=G['parsePlist'],aj=(X['downloadScript']=a1,G['parsePVRTex']=ab,G['parsePKMTex']=ac,G['parseASTCTex']=ad,G['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),Q(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),z['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=z['cachedFiles']['get'](av))?(z['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?H(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):z['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):z['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),G['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=z['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=z['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];ans['length'])&&(v=s['length']);for(var w=0x0,x=new Array(v);w>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a60x0?setTimeout(J,F['deleteInterval']):q=![];}setTimeout(J,F['deleteInterval']);},'removeCache':function E(F){if(this['cachedFiles']['has'](F)){var G=this['cachedFiles']['remove'](F)['url'];clearTimeout(p),this['_write'](),this['_removePathOrFile'](F,G);}},'_removePathOrFile':function F(G,H){this['_isZipFile'](G)?this['_isZipFile'](H)?k(H,this['_deleteFileCB']['bind'](this)):(l(H,!![]),this['_deleteFileCB']()):k(H,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function G(H){if(!H)this['outOfStorage']=![];},'makeBundleFolder':function H(I){g(''['concat'](this['cacheDir'],'/')['concat'](I),!![]);},'unzipAndCacheBundle':function I(J,K,L,M){var N=Date['now']()['toString'](),O=''['concat'](this['cacheDir'],'/')['concat'](L,'/')['concat'](N)['concat'](r++),P=this;g(O,!![]),m(K,O,function(Q){if(Q){l(O,!![]);n(Q['message'])&&(P['outOfStorage']=!![],P['autoClear']&&P['clearLRU']());M&&M(Q);return;}P['cachedFiles']['add'](J,{'bundle':L,'url':O,'lastTime':N}),P['writeCacheFile'](),M&&M(null,O);});},'_isZipFile':function J(K){return K['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=t;},{'./fs-utils':0x4}],0x3:[function(a,b,c){'use strict';var d=ral['createCanvas']['bind'](ral);ral['createCanvas']=function(){var canvas=d();return canvas['style']={},canvas;};},{}],0x4:[function(a,b,c){'use strict';var d=ral['getFileSystemManager']?ral['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'_subpackagesPath':'usr_','isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return ral['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errMsg'])),l&&l(new Error(o['errMsg']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){t['statusCode']===0xc8?p&&p(null,t['tempFilePath']||t['filePath']):(t['filePath']&&f['deleteFile'](t['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](t['statusCode'])),p&&p(new Error(t['statusCode']),null));},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errMsg'])),p&&p(new Error(u['errMsg']),null);}};if(m)q['filePath']=m;if(n)q['header']=n;var r=ral['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){ral['saveFile']({'tempFilePath':m,'filePath':n,'success':function p(q){o&&o(null);},'fail':function q(r){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](m,'\x20message:\x20')['concat'](r['errMsg'])),o&&o(new Error(r['errMsg']));}});},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errMsg'])),r&&r(new Error(u['errMsg']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync'](p,q,r),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'binary',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync'](v,'utf8');return JSON['parse'](w);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync'](w,x),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync'](x,y),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=ral['loadSubpackage']({'name':''['concat'](f['_subpackagesPath'])['concat'](z),'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errMsg'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errMsg'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errMsg'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errMsg'])));}});}};window['fsUtils']=b['exports']=f;},{}],0x5:[function(a,b,c){'use strict';cc['game']['restart']=function(){},ral['onWindowResize']&&ral['onWindowResize'](function(d,e){cc['game']['canvas']&&cc['view']['setCanvasSize'](d,e);});},{}],0x6:[function(a,b,c){'use strict';var d=a('../../../common/engine/cache-manager'),e=a('../../../common/engine/fs-utils'),f=e['downloadFile'],g=e['readText'],h=e['readArrayBuffer'],i=e['readJson'],j=e['loadSubpackage'],k=e['getUserDataPath'],l=e['_subpackagesPath'];cc['assetManager']['fsUtils']=ral['fsUtils'];var m=/^https?:\/\/.*/,n=cc['assetManager']['downloader'],o=cc['assetManager']['parser'],p=cc['assetManager']['presets'];n['maxConcurrency']=0xc,n['maxRequestsPerFrame']=0x40,p['scene']['maxConcurrency']=0xc,p['scene']['maxRequestsPerFrame']=0x40;var q={},r={};function s(R,S,T){if(m['test'](R)){T&&T(new Error('Can\x20not\x20load\x20remote\x20scripts'));return;}if(r[R])return T&&T();a(R),r[R]=!![],T&&T(null);}function t(R,S,T){var U=d['cachedFiles']['get'](R);if(U)d['updateLastTime'](R),T&&T(null,U['url']);else m['test'](R)?f(R,null,S['header'],S['onFileProgress'],function(V,W){if(V){T&&T(V);return;}d['unzipAndCacheBundle'](R,W,S['__cacheBundleRoot__'],T);}):d['unzipAndCacheBundle'](R,R,S['__cacheBundleRoot__'],T);}function u(R,S,T){cc['AudioPlayer']['load'](R)['then'](function(U){var V={'player':U,'url':R,'duration':U['duration'],'type':U['type']};T(null,V);})['catch'](function(U){T(U);});}function v(R,S,T,U,V){var W=P(R,T);if(W['inLocal'])S(W['url'],T,V);else W['inCache']?(d['updateLastTime'](R),S(W['url'],T,function(X,Y){X&&d['removeCache'](R),V(X,Y);})):f(R,null,T['header'],U,function(X,Y){if(X){V(X,null);return;}S(Y,T,function(Z,a0){!Z&&(d['tempFiles']['add'](R,Y),d['cacheFile'](R,Y,T['cacheEnabled'],T['__cacheBundleRoot__'],!![])),V(Z,a0);});});}function w(R,S,T){h(R,T);}function x(R,S,T){g(R,T);}function y(R,S,T){i(R,T);}function z(R,S,T){v(R,x,S,S['onFileProgress'],T);}function A(R,S,T){v(R,y,S,S['onFileProgress'],T);}function B(R,S,T){var U=C(R),V=new FontFace(U,'url(\x27'['concat'](R,'\x27)'));document['fonts']['add'](V),V['load'](),V['loaded']['then'](function(){T(null,U);},function(){cc['warnID'](0x1345,U),T(null,U);});}function C(R){var S=R['lastIndexOf']('.ttf');S===-0x1&&(S=R['lastIndexOf']('.tmp'));if(S===-0x1)return R;var T=R['lastIndexOf']('/'),U;return T===-0x1?U=''['concat'](R['substring'](0x0,S),'_LABEL'):U=''['concat'](R['substring'](T+0x1,S),'_LABEL'),U;}function D(R,S,T){T(null,R);}function E(R,S,T){v(R,D,S,S['onFileProgress'],T);}function F(R,S,T){var U=cc['path']['basename'](R),V=S['version']||cc['assetManager']['downloader']['bundleVers'][U],W=V?''['concat'](V,'.'):'';if(q[U]){var X=''['concat'](U,'/config.')['concat'](W,'json');j(U,S['onFileProgress'],function(a0){if(a0){T(a0,null);return;}A(X,S,function(a1,a2){a2&&(a2['base']=''['concat'](U,'/')),T(a1,a2);});});}else{var Y,Z;if(m['test'](R)||R['startsWith'](k()))Z=R,Y='src/bundle-scripts/'['concat'](U,'/index.')['concat'](W,'js'),d['makeBundleFolder'](U);else n['remoteBundles']['indexOf'](U)!==-0x1?(Z=''['concat'](n['remoteServerAddress'],'remote/')['concat'](U),Y='src/bundle-scripts/'['concat'](U,'/index.')['concat'](W,'js'),d['makeBundleFolder'](U)):(Z='assets/'['concat'](U),Y='assets/'['concat'](U,'/index.')['concat'](W,'js'));!r[Y]&&(a(Y),r[Y]=!![]);S['__cacheBundleRoot__']=U;var X=''['concat'](Z,'/config.')['concat'](W,'json');A(X,S,function(a0,a1){if(a0){T&&T(a0);return;}if(a1['isZip']){var a2=a1['zipVersion'],a3=''['concat'](Z,'/res.')['concat'](a2?''['concat'](a2,'.'):'','zip');t(a3,S,function(a4,a5){if(a4){T&&T(a4);return;}a1['base']=''['concat'](a5,'/res/'),T&&T(null,a1);});}else a1['base']=''['concat'](Z,'/'),T&&T(null,a1);});}}function G(R,S,T){v(R,w,S,S['onFileProgress'],T);}var H=o['parsePVRTex'],I=function R(S,T,U){h(S,function(V,W){if(V)return U(V);H(W,T,U);});},J=o['parsePKMTex'],K=function S(T,U,V){h(T,function(W,X){if(W)return V(W);J(X,U,V);});},L=o['parseASTCTex'],M=function T(U,V,W){h(U,function(X,Y){if(X)return W(X);L(Y,V,W);});},N=o['parsePlist'],O=function U(V,W,X){g(V,function(Y,Z){if(Y)return X(Y);N(Z,W,X);});};n['downloadScript']=s,n['_downloadArrayBuffer']=G,n['_downloadJson']=A,o['parsePVRTex']=I,o['parsePKMTex']=K,o['parseASTCTex']=M,o['parsePlist']=O,n['register']({'.js':s,'.mp3':E,'.ogg':E,'.wav':E,'.m4a':E,'.png':E,'.jpg':E,'.bmp':E,'.jpeg':E,'.gif':E,'.ico':E,'.tiff':E,'.image':E,'.webp':E,'.pvr':E,'.pkm':E,'.astc':E,'.font':E,'.eot':E,'.ttf':E,'.woff':E,'.svg':E,'.ttc':E,'.txt':E,'.xml':E,'.vsh':E,'.fsh':E,'.atlas':E,'.tmx':E,'.tsx':E,'.plist':E,'.fnt':E,'.json':A,'.ExportJson':E,'.binary':E,'.bin':E,'.dbbin':E,'.skel':E,'.mp4':E,'.avi':E,'.mov':E,'.mpg':E,'.mpeg':E,'.rm':E,'.rmvb':E,'bundle':F,'default':z}),o['register']({'.png':n['downloadDomImage'],'.jpg':n['downloadDomImage'],'.bmp':n['downloadDomImage'],'.jpeg':n['downloadDomImage'],'.gif':n['downloadDomImage'],'.ico':n['downloadDomImage'],'.tiff':n['downloadDomImage'],'.image':n['downloadDomImage'],'.webp':n['downloadDomImage'],'.pvr':I,'.pkm':K,'.astc':M,'.font':B,'.eot':B,'.ttf':B,'.woff':B,'.svg':B,'.ttc':B,'.mp3':u,'.ogg':u,'.wav':u,'.m4a':u,'.txt':x,'.xml':x,'.vsh':x,'.fsh':x,'.atlas':x,'.tmx':x,'.tsx':x,'.fnt':x,'.plist':O,'.binary':w,'.bin':w,'.dbbin':w,'.skel':w,'.ExportJson':y});var P=function V(W,X){var Y=![],Z=![],a0=W['startsWith'](k());if(a0)Y=!![];else{if(m['test'](W)){if(!X['reload']){var a1=d['cachedFiles']['get'](W);if(a1)Z=!![],W=a1['url'];else{var a2=d['tempFiles']['get'](W);a2&&(Y=!![],W=a2);}}}else Y=!![];}return{'url':W,'inLocal':Y,'inCache':Z};};cc['assetManager']['transformPipeline']['append'](function(W){var X=W['output']=W['input'];for(var Y=0x0,Z=X['length'];Y{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(b,j,k){var b=b('./fs-utils'),q=b['getUserDataPath'],w=b['readJsonSync'],x=b['makeDirSync'],y=b['writeFileSync'],z=b['copyFile'],A=b['downloadFile'],B=b['deleteFile'],C=b['rmdirSync'],D=b['unzip'],E=b['isOutOfStorage'],F=!0x1,G=null,H=!0x1,I=0x0,J=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=j['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(K){return this['cachedFiles']['has'](K)?this['cachedFiles']['get'](K)['url']:'';},'getTemp':function(K){return this['tempFiles']['has'](K)?this['tempFiles']['get'](K):'';},'init':function(){this['cacheDir']=''['concat'](q(),'/')['concat'](this['cacheDir']);var K=''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),L=w(K);L instanceof Error||!L['version']?(L instanceof Error||C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),y(K,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](L['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(K){this['cachedFiles']['has'](K)&&(this['cachedFiles']['get'](K)['lastTime']=Date['now']());},'_write':function(){G=null,y(''['concat'](this['cacheDir'],'/')['concat'](this['cachedFileName']),JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');},'writeCacheFile':function(){G=G||setTimeout(this['_write']['bind'](this),this['writeFileInterval']);},'_cache':function(){F=!0x1;var K,L,M,N,O,P,Q,R=this,S='';for(K in this['cacheQueue']){S=K;break;}function T(U){if(U){if(E(U['message']))return R['outOfStorage']=!0x0,void(R['autoClear']&&R['clearLRU']());}else R['cachedFiles']['add'](S,{'bundle':O,'url':Q,'lastTime':P}),R['writeCacheFile']();delete R['cacheQueue'][S],cc['js']['isEmptyObject'](R['cacheQueue'])||F||(F=!0x0,setTimeout(R['_cache']['bind'](R),R['cacheInterval']));}S&&(M=(L=this['cacheQueue'][S])['srcUrl'],N=L['isCopy'],O=L['cacheBundleRoot'],P=Date['now']()['toString'](),Q='',Q=(O?''['concat'](this['cacheDir'],'/')['concat'](O,'/'):''['concat'](this['cacheDir'],'/'))['concat'](P)['concat'](I++)['concat'](cc['path']['extname'](S)),N?z(M,Q,T):A(M,Q,null,T));},'cacheFile':function(K,L,M,N,O){!(M=void 0x0!==M?M:this['cacheEnabled'])||this['cacheQueue'][K]||this['cachedFiles']['has'](K)||(this['cacheQueue'][K]={'srcUrl':L,'cacheBundleRoot':N,'isCopy':O},F)||this['outOfStorage']||(F=!0x0,setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var K=this;C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),this['outOfStorage']=!0x1,clearTimeout(G),this['_write'](),cc['assetManager']['bundles']['forEach'](function(L){J['test'](L['base'])&&K['makeBundleFolder'](L['name']);});},'clearLRU':function(){if(!H){H=!0x0;var K=[],L=this;this['cachedFiles']['forEach'](function(P,Q){L['_isZipFile'](Q)&&cc['assetManager']['bundles']['find'](function(R){return-0x1!==R['base']['indexOf'](P['url']);})||K['push']({'originUrl':Q,'url':P['url'],'lastTime':P['lastTime']});}),K['sort'](function(P,Q){return P['lastTime']-Q['lastTime'];}),K['length']=Math['floor'](K['length']/0x3),K['length']<0x3?console['warn']('Insufficient\x20storage,\x20cleaning\x20now'):K['length']=Math['floor'](K['length']/0x3);for(var M=0x0,N=K['length'];M{var aq,ar=ap['lastIndexOf']('.ttf');return-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)&&(aq=ap['lastIndexOf']('/'),ap=''['concat'](-0x1===aq?ap['substring'](0x0,ar):ap['substring'](aq+0x1,ar),'_LABEL')),ap;})(al),al=new FontFace(ao,'url(\x27'['concat'](al,'\x27)'));document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){J(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=G['parsePVRTex'],ag=G['parsePKMTex'],ah=G['parseASTCTex'],ai=G['parsePlist'],aj=(X['downloadScript']=a1,X['_downloadArrayBuffer']=function(al,am,an){a3(al,a4,am,am['onFileProgress'],an);},X['_downloadJson']=a7,G['parsePVRTex']=ab,G['parsePKMTex']=ac,G['parseASTCTex']=ad,G['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';Z[ar]?(aq=''['concat'](ar,'/config.')['concat'](as,'json'),Q(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),A['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),A['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(k(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),an&&an(null,au));},(at=A['cachedFiles']['get'](av))?(A['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?H(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):A['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):A['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](ap,'/'),an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),G['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=A['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=A['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(b,j,k){var b=b('./fs-utils'),q=b['getUserDataPath'],v=b['readJsonSync'],x=b['makeDirSync'],y=b['writeFileSync'],z=b['copyFile'],A=b['downloadFile'],B=b['deleteFile'],C=b['rmdirSync'],D=b['unzip'],E=b['isOutOfStorage'],F=!0x1,G=null,H=!0x1,I=0x0,J=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=j['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(K){return this['cachedFiles']['has'](K)?this['cachedFiles']['get'](K)['url']:'';},'getTemp':function(K){return this['tempFiles']['has'](K)?this['tempFiles']['get'](K):'';},'init':function(){this['cacheDir']=q()+'/'+this['cacheDir'];var K=this['cacheDir']+'/'+this['cachedFileName'],L=v(K);L instanceof Error||!L['version']?(L instanceof Error||C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),y(K,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](L['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(K){this['cachedFiles']['has'](K)&&(this['cachedFiles']['get'](K)['lastTime']=Date['now']());},'_write':function(){G=null,y(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');},'writeCacheFile':function(){G=G||setTimeout(this['_write']['bind'](this),this['writeFileInterval']);},'_cache':function(){F=!0x1;var K,L,M,N,O,P,Q,R=this,S='';for(K in this['cacheQueue']){S=K;break;}function T(U){if(U){if(E(U['message']))return R['outOfStorage']=!0x0,void(R['autoClear']&&R['clearLRU']());}else R['cachedFiles']['add'](S,{'bundle':O,'url':Q,'lastTime':P}),R['writeCacheFile']();delete R['cacheQueue'][S],cc['js']['isEmptyObject'](R['cacheQueue'])||F||(F=!0x0,setTimeout(R['_cache']['bind'](R),R['cacheInterval']));}S&&(M=(L=this['cacheQueue'][S])['srcUrl'],N=L['isCopy'],O=L['cacheBundleRoot'],P=Date['now']()['toString'](),Q='',Q=(O?''['concat'](this['cacheDir'],'/')['concat'](O,'/'):''['concat'](this['cacheDir'],'/'))['concat'](P)['concat'](I++)['concat'](cc['path']['extname'](S)),N?z(M,Q,T):A(M,Q,null,T));},'cacheFile':function(K,L,M,N,O){!(M=void 0x0!==M?M:this['cacheEnabled'])||this['cacheQueue'][K]||this['cachedFiles']['has'](K)||(this['cacheQueue'][K]={'srcUrl':L,'cacheBundleRoot':N,'isCopy':O},F)||this['outOfStorage']||(F=!0x0,setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var K=this;C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),this['outOfStorage']=!0x1,clearTimeout(G),this['_write'](),cc['assetManager']['bundles']['forEach'](function(L){J['test'](L['base'])&&K['makeBundleFolder'](L['name']);});},'clearLRU':function(){if(!H){H=!0x0;var K=[],L=this;if(this['cachedFiles']['forEach'](function(O,P){L['_isZipFile'](P)&&cc['assetManager']['bundles']['find'](function(Q){return-0x1!==Q['base']['indexOf'](O['url']);})||K['push']({'originUrl':P,'url':O['url'],'lastTime':O['lastTime']});}),K['sort'](function(O,P){return O['lastTime']-P['lastTime'];}),K['length']=Math['floor'](this['cachedFiles']['count']/0x3),0x0!==K['length']){for(var M=0x0,N=K['length'];M{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(b,j,k){var b=b('./fs-utils'),q=b['getUserDataPath'],v=b['readJsonSync'],x=b['makeDirSync'],y=b['writeFileSync'],z=b['copyFile'],A=b['downloadFile'],B=b['deleteFile'],C=b['rmdirSync'],D=b['unzip'],E=b['isOutOfStorage'],F=!0x1,G=null,H=!0x1,I=0x0,J=/^https?:\/\/.*/;cc['assetManager']['cacheManager']=j['exports']={'cacheDir':'gamecaches','cachedFileName':'cacheList.json','cacheEnabled':!0x0,'autoClear':!0x0,'cacheInterval':0x1f4,'deleteInterval':0x1f4,'writeFileInterval':0x7d0,'outOfStorage':!0x1,'tempFiles':null,'cachedFiles':null,'cacheQueue':{},'version':'1.0','getCache':function(K){return this['cachedFiles']['has'](K)?this['cachedFiles']['get'](K)['url']:'';},'getTemp':function(K){return this['tempFiles']['has'](K)?this['tempFiles']['get'](K):'';},'init':function(){this['cacheDir']=q()+'/'+this['cacheDir'];var K=this['cacheDir']+'/'+this['cachedFileName'],L=v(K);L instanceof Error||!L['version']?(L instanceof Error||C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),y(K,JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8')):this['cachedFiles']=new cc['AssetManager']['Cache'](L['files']),this['tempFiles']=new cc['AssetManager']['Cache']();},'updateLastTime':function(K){this['cachedFiles']['has'](K)&&(this['cachedFiles']['get'](K)['lastTime']=Date['now']());},'_write':function(){G=null,y(this['cacheDir']+'/'+this['cachedFileName'],JSON['stringify']({'files':this['cachedFiles']['_map'],'version':this['version']}),'utf8');},'writeCacheFile':function(){G=G||setTimeout(this['_write']['bind'](this),this['writeFileInterval']);},'_cache':function(){F=!0x1;var K,L,M,N,O,P,Q,R=this,S='';for(K in this['cacheQueue']){S=K;break;}function T(U){if(U){if(E(U['message']))return R['outOfStorage']=!0x0,void(R['autoClear']&&R['clearLRU']());}else R['cachedFiles']['add'](S,{'bundle':O,'url':Q,'lastTime':P}),R['writeCacheFile']();delete R['cacheQueue'][S],cc['js']['isEmptyObject'](R['cacheQueue'])||F||(F=!0x0,setTimeout(R['_cache']['bind'](R),R['cacheInterval']));}S&&(M=(L=this['cacheQueue'][S])['srcUrl'],N=L['isCopy'],O=L['cacheBundleRoot'],P=Date['now']()['toString'](),Q='',Q=(O?''['concat'](this['cacheDir'],'/')['concat'](O,'/'):''['concat'](this['cacheDir'],'/'))['concat'](P)['concat'](I++)['concat'](cc['path']['extname'](S)),N?z(M,Q,T):A(M,Q,null,T));},'cacheFile':function(K,L,M,N,O){!(M=void 0x0!==M?M:this['cacheEnabled'])||this['cacheQueue'][K]||this['cachedFiles']['has'](K)||(this['cacheQueue'][K]={'srcUrl':L,'cacheBundleRoot':N,'isCopy':O},F)||this['outOfStorage']||(F=!0x0,setTimeout(this['_cache']['bind'](this),this['cacheInterval']));},'clearCache':function(){var K=this;C(this['cacheDir'],!0x0),this['cachedFiles']=new cc['AssetManager']['Cache'](),x(this['cacheDir'],!0x0),this['outOfStorage']=!0x1,clearTimeout(G),this['_write'](),cc['assetManager']['bundles']['forEach'](function(L){J['test'](L['base'])&&K['makeBundleFolder'](L['name']);});},'clearLRU':function(){if(!H){H=!0x0;var K=[],L=this;if(this['cachedFiles']['forEach'](function(O,P){L['_isZipFile'](P)&&cc['assetManager']['bundles']['find'](function(Q){return-0x1!==Q['base']['indexOf'](O['url']);})||K['push']({'originUrl':P,'url':O['url'],'lastTime':O['lastTime']});}),K['sort'](function(O,P){return O['lastTime']-P['lastTime'];}),K['length']=Math['floor'](this['cachedFiles']['count']/0x3),0x0!==K['length']){for(var M=0x0,N=K['length'];M{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an0x0?setTimeout(J,F['deleteInterval']):q=![];}setTimeout(J,F['deleteInterval']);},'removeCache':function E(F){if(this['cachedFiles']['has'](F)){var G=this['cachedFiles']['remove'](F)['url'];clearTimeout(p),this['_write'](),this['_removePathOrFile'](F,G);}},'_removePathOrFile':function F(G,H){this['_isZipFile'](G)?this['_isZipFile'](H)?k(H,this['_deleteFileCB']['bind'](this)):(l(H,!![]),this['_deleteFileCB']()):k(H,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function G(H){if(!H)this['outOfStorage']=![];},'makeBundleFolder':function H(I){g(''['concat'](this['cacheDir'],'/')['concat'](I),!![]);},'unzipAndCacheBundle':function I(J,K,L,M){var N=Date['now']()['toString'](),O=''['concat'](this['cacheDir'],'/')['concat'](L,'/')['concat'](N)['concat'](r++),P=this;g(O,!![]),m(K,O,function(Q){if(Q){l(O,!![]);n(Q['message'])&&(P['outOfStorage']=!![],P['autoClear']&&P['clearLRU']());M&&M(Q);return;}P['cachedFiles']['add'](J,{'bundle':L,'url':O,'lastTime':N}),P['writeCacheFile'](),M&&M(null,O);});},'_isZipFile':function J(K){return K['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=t;},{'./fs-utils':0x5}],0x4:[function(a,b,c){'use strict';var d=ral['createCanvas']['bind'](ral);ral['createCanvas']=function(){var canvas=d();return canvas['style']={},canvas;};},{}],0x5:[function(a,b,c){'use strict';var d=ral['getFileSystemManager']?ral['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'_subpackagesPath':'usr_','isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return ral['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errMsg'])),l&&l(new Error(o['errMsg']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){t['statusCode']===0xc8?p&&p(null,t['tempFilePath']||t['filePath']):(t['filePath']&&f['deleteFile'](t['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](t['statusCode'])),p&&p(new Error(t['statusCode']),null));},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errMsg'])),p&&p(new Error(u['errMsg']),null);}};if(m)q['filePath']=m;if(n)q['header']=n;var r=ral['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){ral['saveFile']({'tempFilePath':m,'filePath':n,'success':function p(q){o&&o(null);},'fail':function q(r){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](m,'\x20message:\x20')['concat'](r['errMsg'])),o&&o(new Error(r['errMsg']));}});},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errMsg'])),r&&r(new Error(u['errMsg']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync'](p,q,r),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'binary',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync'](v,'utf8');return JSON['parse'](w);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync'](w,x),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync'](x,y),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=ral['loadSubpackage']({'name':''['concat'](f['_subpackagesPath'])['concat'](z),'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errMsg'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errMsg'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errMsg'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errMsg'])));}});}};window['fsUtils']=b['exports']=f;},{}],0x6:[function(a,b,c){'use strict';cc['game']['restart']=function(){},ral['onWindowResize']&&ral['onWindowResize'](function(d,e){cc['game']['canvas']&&cc['view']['setCanvasSize'](d,e);});},{}],0x7:[function(a,b,c){'use strict';a('./fs-utils'),a('./canvas'),a('./asset-manager.js'),a('./EditBox.js'),a('./game.js'),a('./wasm.js');},{'./EditBox.js':0x1,'./asset-manager.js':0x2,'./canvas':0x4,'./fs-utils':0x5,'./game.js':0x6,'./wasm.js':0x8}],0x8:[function(a,b,c){'use strict';function d(e){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(f){return typeof f;}:function(f){return f&&'function'==typeof Symbol&&f['constructor']===Symbol&&f!==Symbol['prototype']?'symbol':typeof f;},d(e);}d(ral['WebAssembly'])==='object'&&typeof ral['WebAssembly']['instantiateFromFile']==='function'&&(ral['WebAssembly']['instantiate']=ral['WebAssembly']['instantiateFromFile'],window['CCWebAssembly']=ral['WebAssembly']);},{}],0x9:[function(a,b,c){'use strict';function d(A){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(B){return typeof B;}:function(B){return B&&'function'==typeof Symbol&&B['constructor']===Symbol&&B!==Symbol['prototype']?'symbol':typeof B;},d(A);}function e(A,B){var C=Object['keys'](A);if(Object['getOwnPropertySymbols']){var D=Object['getOwnPropertySymbols'](A);B&&(D=D['filter'](function(E){return Object['getOwnPropertyDescriptor'](A,E)['enumerable'];})),C['push']['apply'](C,D);}return C;}function f(A){for(var B=0x1;B{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(q,z,A){var B=q('./cache-manager'),G=q('./fs-utils'),H=G['downloadFile'],J=G['readText'],L=G['readArrayBuffer'],N=G['readJson'],Q=G['loadSubpackage'],U=G['getUserDataPath'],V=G['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],G=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0xc,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xc,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();q(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){ao={'player':ao,'url':al,'duration':ao['duration'],'type':ao['type']},an(null,ao);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(B['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&B['removeCache'](al),ap(ar,as);})):H(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(B['tempFiles']['add'](al,as),B['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){L(al,an);}function a5(al,am,an){J(al,an);}function a6(al,am,an){N(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)&&(aq=ap['lastIndexOf']('/'),ap=''['concat'](-0x1===aq?ap['substring'](0x0,ar):ap['substring'](aq+0x1,ar),'_LABEL')),ap;})(al),al=new FontFace(ao,'url(\x27'['concat'](al,'\x27)'));document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){J(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=G['parsePVRTex'],ag=G['parsePKMTex'],ah=G['parseASTCTex'],ai=G['parsePlist'],aj=(X['downloadScript']=a1,X['_downloadArrayBuffer']=function(al,am,an){a3(al,a4,am,am['onFileProgress'],an);},X['_downloadJson']=a7,G['parsePVRTex']=ab,G['parsePKMTex']=ac,G['parseASTCTex']=ad,G['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),Q(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),B['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),B['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(q(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),an&&an(null,au));},(at=B['cachedFiles']['get'](av))?(B['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?H(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):B['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):B['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](ap,'/'),an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),G['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=B['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=B['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{if('object'!=q(N)||!N)return N;var P=N[Symbol['toPrimitive']];if(void 0x0===P)return('string'===O?String:Number)(N);if('object'!=q(P=P['call'](N,O||'default')))return P;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(M,'string'),'symbol'==q(M)?M:M+'';}function B(M,N,O){N=D(N);var P=M,N=C()?Reflect['construct'](N,O||[],D(M)['constructor']):N['apply'](M,O);if(!N||'object'!=q(N)&&'function'!=typeof N){if(void 0x0!==N)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(N=P))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return N;}function C(){try{var M=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(N){}return(C=function(){return!!M;})();}function D(M){return(D=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(N){return N['__proto__']||Object['getPrototypeOf'](N);})(M);}function E(M,N){return(E=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(O,P){return O['__proto__']=P,O;})(M,N);}var F,G,H,I,J,K,L;cc['internal']['VideoPlayer']&&(F=cc['internal']['VideoPlayer']['EventType'],G=cc['Vec3'],H=cc['mat4'](),I=new G(),J=new G(),K=ral['getSystemInfoSync']()['pixelRatio'],cc['internal']['VideoPlayerImplManager']['getImpl']=function(M){return new L(M);},L=(M=>{function N(Q){if(this instanceof N)return B(this,N,[Q]);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var O,P=N;if('function'!=typeof M&&null!==M)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return P['prototype']=Object['create'](M&&M['prototype'],{'constructor':{'value':P,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](P,'prototype',{'writable':!0x1}),M&&E(P,M),P=N,(M=[{'key':'syncClip','value':function(Q){this['removeVideoPlayer'](),Q&&this['createVideoPlayer'](Q['_nativeAsset']);}},{'key':'syncURL','value':function(Q){this['removeVideoPlayer'](),Q&&this['createVideoPlayer'](Q);}},{'key':'onCanplay','value':function(){this['_loaded']||(this['_loaded']=!0x0,this['setVisible'](this['_visible']),this['dispatchEvent'](F['READY_TO_PLAY']),this['delayedPlay']());}},{'key':'_bindEvent','value':function(){var Q=this['_video'],R=this;Q&&(Q['onPlay'](function(){R['_video']===Q&&(R['_playing']=!0x0,R['dispatchEvent'](F['PLAYING']));}),Q['onEnded'](function(){R['_video']===Q&&(R['_playing']=!0x1,R['_currentTime']=R['_duration'],R['dispatchEvent'](F['COMPLETED']));}),Q['onPause'](function(){R['_video']===Q&&(R['_playing']=!0x1,R['dispatchEvent'](F['PAUSED']));}),Q['onTimeUpdate'](function(S){R['_duration']=S['duration'],R['_currentTime']=S['position'];}));}},{'key':'_unbindEvent','value':function(){var Q=this['_video'];Q&&(Q['offPlay'](),Q['offEnded'](),Q['offPause'](),Q['offTimeUpdate']());}},{'key':'createVideoPlayer','value':function(Q){var R;ral['createVideo']?(this['_video']||(R=this['_getInitRect'](),this['_video']=ral['createVideo'](x(x({},R),{},{'src':Q,'objectFit':'contain','live':!0x1,'showCenterPlayBtn':!0x1,'controls':!0x1})),this['_duration']=0x0,this['_currentTime']=0x0,this['_loaded']=!0x1,this['setVisible'](this['_visible']),this['_bindEvent'](),this['_forceUpdate']=!0x0),this['setURL'](Q),this['_forceUpdate']=!0x0):console['warn']('VideoPlayer\x20not\x20supported');}},{'key':'setURL','value':function(Q){var R,S,T,U=this['_video'];U&&U['src']!==Q&&(U['stop'](),this['_unbindEvent'](),U['src']=Q,U['muted']=!0x0,(R=this)['_loaded']=!0x1,S=function(){U['offPlay'](S),U['offTimeUpdate'](T),R['enable'](),R['_bindEvent'](),U['stop'](),U['muted']=!0x1,R['_loaded']=!0x0,R['_playing']=!0x1,R['_currentTime']=0x0,R['dispatchEvent'](F['READY_TO_PLAY']);},T=function(V){var W=JSON['parse'](V['position']);'object'===q(W)?(R['_duration']=W['duration'],R['_currentTime']=W['position']):(R['_duration']=V['duration'],R['_currentTime']=V['position']);},U['onPlay'](S),U['onTimeUpdate'](T),U['play']());}},{'key':'removeVideoPlayer','value':function(){var Q=this['video'];Q&&(Q['stop'](),Q['destroy'](),this['_playing']=!0x1,this['_loaded']=!0x1,this['_loadedMeta']=!0x1,this['_ignorePause']=!0x1,this['_cachedCurrentTime']=0x0,this['_video']=null);}},{'key':'setVisible','value':function(Q){var R=this['_video'];R&&this['_visible']!==Q&&(R['width']=Q&&this['_actualWidth']||0x0,this['_visible']=Q);}},{'key':'getDuration','value':function(){return this['duration']();}},{'key':'duration','value':function(){return this['_duration'];}},{'key':'syncPlaybackRate','value':function(Q){var R=this['_video'];R&&Q!==R['playbackRate']&&(0.5===Q|0.8===Q|0x1===Q|1.25===Q|1.5===Q?R['playbackRate']=Q:console['warn']('The\x20platform\x20does\x20not\x20support\x20this\x20PlaybackRate!'));}},{'key':'syncVolume','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'syncMute','value':function(Q){var R=this['_video'];R&&R['muted']!==Q&&(R['muted']=Q);}},{'key':'syncLoop','value':function(Q){var R=this['_video'];R&&R['loop']!==Q&&(R['loop']=Q);}},{'key':'syncStayOnBottom','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'getCurrentTime','value':function(){return this['video']?this['currentTime']():-0x1;}},{'key':'currentTime','value':function(){return this['_currentTime'];}},{'key':'seekTo','value':function(Q){var R=this['_video'];R&&this['_loaded']&&R['seek'](Q);}},{'key':'disable','value':function(Q){this['_video']&&(Q||this['_video']['pause'](),this['setVisible'](!0x1),this['_visible']=!0x1);}},{'key':'enable','value':function(){this['_video']&&(this['setVisible'](!0x0),this['_visible']=!0x0);}},{'key':'canPlay','value':function(){this['_video']['play'](),this['syncCurrentTime']();}},{'key':'resume','value':function(){var Q=this['_video'];!this['_playing']&&Q&&Q['play']();}},{'key':'pause','value':function(){var Q=this['_video'];this['_playing']&&Q&&Q['pause']();}},{'key':'stop','value':function(){var Q=this,R=this['_video'];R&&this['_visible']&&R['stop']()['then'](function(S){S['errMsg']&&!S['errMsg']['includes']('ok')?console['error']('failed\x20to\x20stop\x20video\x20player'):(Q['_currentTime']=0x0,Q['_playing']=!0x1,Q['dispatchEvent'](F['STOPPED']));});}},{'key':'canFullScreen','value':function(Q){this['_video']&&this['setFullScreenEnabled'](Q);}},{'key':'setFullScreenEnabled','value':function(Q){var R=this['_video'];R&&this['_fullScreenEnabled']!==Q&&(Q?R['requestFullScreen']():R['exitFullScreen'](),this['_fullScreenEnabled']=Q);}},{'key':'syncKeepAspectRatio','value':function(Q){console['warn']('On\x20wechat\x20game\x20videoPlayer\x20is\x20always\x20keep\x20the\x20aspect\x20ratio');}},{'key':'syncMatrix','value':function(){}},{'key':'_getInitRect','value':function(){if(this['_component']&&this['_uiTrans']){var Q,R,S=this['UICamera'];if(S)return this['_component']['node']['getWorldMatrix'](H),Q=this['_uiTrans']['contentSize']['width'],R=this['_uiTrans']['contentSize']['height'],this['_m00']=H['m00'],this['_m01']=H['m01'],this['_m04']=H['m04'],this['_m05']=H['m05'],this['_m12']=H['m12'],this['_m13']=H['m13'],this['_w']=Q,this['_h']=R,cc['game']['canvas']['width'],Q=cc['game']['canvas']['height'],R=this['_uiTrans']['anchorPoint'],G['set'](I,-R['x']*this['_w'],(0x1-R['y'])*this['_h'],0x0),G['set'](J,(0x1-R['x'])*this['_w'],-R['y']*this['_h'],0x0),G['transformMat4'](I,I,H),G['transformMat4'](J,J,H),S['worldToScreen'](I,I),S['worldToScreen'](J,J),R=J['x']-I['x'],S=I['y']-J['y'],{'x':I['x']/K,'y':(Q-I['y'])/K,'width':R/K,'height':S/K};}}}])&&z(P['prototype'],M),O&&z(P,O),Object['defineProperty'](P,'prototype',{'writable':!0x1}),P;})(cc['internal']['VideoPlayerImpl']));},{}],0xa:[function(a,b,c){a('../../../common/engine/index'),a('./VideoPlayer');},{'../../../common/engine/index':0x7,'./VideoPlayer':0x9}]},{},[0xa]); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/runtime/oppo-mini-game/runtime-adapter/engine-adapter.js b/node_modules/@cocos/engine-platforms/bin/adapter/runtime/oppo-mini-game/runtime-adapter/engine-adapter.js +new file mode 100644 +index 0000000..bdf4416 +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/runtime/oppo-mini-game/runtime-adapter/engine-adapter.js +@@ -0,0 +1 @@ ++!function i(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],i,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(q,z,A){var G=q('./cache-manager'),H=q('./fs-utils'),I=H['downloadFile'],J=H['readText'],L=H['readArrayBuffer'],N=H['readJson'],Q=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();q(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):I(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){L(al,an);}function a5(al,am,an){J(al,an);}function a6(al,am,an){N(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){J(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),Q(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(q(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?I(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{if('object'!=q(L)||!L)return L;var N=L[Symbol['toPrimitive']];if(void 0x0===N)return('string'===M?String:Number)(L);if('object'!=q(N=N['call'](L,M||'default')))return N;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');})(K,'string'),'symbol'==q(K)?K:K+'';}function A(K,L,M){L=C(L);var N=K,L=B()?Reflect['construct'](L,M||[],C(K)['constructor']):L['apply'](K,M);if(!L||'object'!=q(L)&&'function'!=typeof L){if(void 0x0!==L)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');if(void 0x0===(L=N))throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');}return L;}function B(){try{var K=!Boolean['prototype']['valueOf']['call'](Reflect['construct'](Boolean,[],function(){}));}catch(L){}return(B=function(){return!!K;})();}function C(K){return(C=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function(L){return L['__proto__']||Object['getPrototypeOf'](L);})(K);}function D(K,L){return(D=Object['setPrototypeOf']?Object['setPrototypeOf']['bind']():function(M,N){return M['__proto__']=N,M;})(K,L);}var E,F,G,H,I,J;cc['internal']['VideoPlayer']&&(E=cc['internal']['VideoPlayer']['EventType'],F=cc['Vec3'],G=cc['mat4'](),H=new F(),I=new F(),cc['internal']['VideoPlayerImplManager']['getImpl']=function(K){return new J(K);},J=(K=>{function L(O){if(this instanceof L)return A(this,L,[O]);throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}var M,N=L;if('function'!=typeof K&&null!==K)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');return N['prototype']=Object['create'](K&&K['prototype'],{'constructor':{'value':N,'writable':!0x0,'configurable':!0x0}}),Object['defineProperty'](N,'prototype',{'writable':!0x1}),K&&D(N,K),N=L,(K=[{'key':'syncClip','value':function(O){this['removeVideoPlayer'](),O&&this['createVideoPlayer'](O['_nativeAsset']);}},{'key':'syncURL','value':function(O){this['removeVideoPlayer'](),O&&this['createVideoPlayer'](O);}},{'key':'onCanplay','value':function(){this['_loaded']||(this['_loaded']=!0x0,this['setVisible'](this['_visible']),this['dispatchEvent'](E['READY_TO_PLAY']),this['delayedPlay']());}},{'key':'_bindEvent','value':function(){var O=this['_video'],P=this;O&&(O['onPlay'](function(){P['_video']===O&&(P['_playing']=!0x0,P['dispatchEvent'](E['PLAYING']));}),O['onEnded'](function(){P['_video']===O&&(P['_playing']=!0x1,P['_currentTime']=P['_duration'],P['dispatchEvent'](E['COMPLETED']));}),O['onPause'](function(){P['_video']===O&&(P['_playing']=!0x1,P['dispatchEvent'](E['PAUSED']));}),O['onTimeUpdate'](function(Q){P['_duration']=Q['duration'],P['_currentTime']=Q['position'];}));}},{'key':'_unbindEvent','value':function(){var O=this['_video'];O&&(O['offPlay'](),O['offEnded'](),O['offPause'](),O['offTimeUpdate']());}},{'key':'createVideoPlayer','value':function(O){var P;ral['createVideo']?(this['_video']||(P=this['_getInitRect'](),this['_video']=ral['createVideo'](w(w({},P),{},{'src':O,'objectFit':'contain','live':!0x1,'showCenterPlayBtn':!0x1,'controls':!0x1})),this['_duration']=0x0,this['_currentTime']=0x0,this['_loaded']=!0x1,this['setVisible'](this['_visible']),this['_bindEvent'](),this['_forceUpdate']=!0x0),this['setURL'](O),this['_forceUpdate']=!0x0):console['warn']('VideoPlayer\x20not\x20supported');}},{'key':'setURL','value':function(O){var P,Q,R,S=this['_video'];S&&S['src']!==O&&(S['stop'](),this['_unbindEvent'](),S['src']=O,S['muted']=!0x0,(P=this)['_loaded']=!0x1,Q=function(){S['offPlay'](Q),S['offTimeUpdate'](R),P['enable'](),P['_bindEvent'](),S['stop'](),S['muted']=!0x1,P['_loaded']=!0x0,P['_playing']=!0x1,P['_currentTime']=0x0,P['dispatchEvent'](E['READY_TO_PLAY']);},R=function(T){var U=JSON['parse'](T['position']);'object'===q(U)?(P['_duration']=U['duration'],P['_currentTime']=U['position']):(P['_duration']=T['duration'],P['_currentTime']=T['position']);},S['onPlay'](Q),S['onTimeUpdate'](R),S['play']());}},{'key':'removeVideoPlayer','value':function(){var O=this['video'];O&&(O['stop'](),O['destroy'](),this['_playing']=!0x1,this['_loaded']=!0x1,this['_loadedMeta']=!0x1,this['_ignorePause']=!0x1,this['_cachedCurrentTime']=0x0,this['_video']=null);}},{'key':'setVisible','value':function(O){var P=this['_video'];P&&this['_visible']!==O&&(P['width']=O&&this['_actualWidth']||0x0,this['_visible']=O);}},{'key':'getDuration','value':function(){return this['duration']();}},{'key':'duration','value':function(){return this['_duration'];}},{'key':'syncPlaybackRate','value':function(O){var P=this['_video'];P&&O!==P['playbackRate']&&(0.5===O|0.8===O|0x1===O|1.25===O|1.5===O?P['playbackRate']=O:console['warn']('The\x20platform\x20does\x20not\x20support\x20this\x20PlaybackRate!'));}},{'key':'syncVolume','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'syncMute','value':function(O){var P=this['_video'];P&&P['muted']!==O&&(P['muted']=O);}},{'key':'syncLoop','value':function(O){var P=this['_video'];P&&P['loop']!==O&&(P['loop']=O);}},{'key':'syncStayOnBottom','value':function(){console['warn']('The\x20platform\x20does\x20not\x20support');}},{'key':'getCurrentTime','value':function(){return this['video']?this['currentTime']():-0x1;}},{'key':'currentTime','value':function(){return this['_currentTime'];}},{'key':'seekTo','value':function(O){var P=this['_video'];P&&this['_loaded']&&P['seek'](O);}},{'key':'disable','value':function(O){this['_video']&&(O||this['_video']['pause'](),this['setVisible'](!0x1),this['_visible']=!0x1);}},{'key':'enable','value':function(){this['_video']&&(this['setVisible'](!0x0),this['_visible']=!0x0);}},{'key':'canPlay','value':function(){this['_video']['play'](),this['syncCurrentTime']();}},{'key':'resume','value':function(){var O=this['_video'];!this['_playing']&&O&&O['play']();}},{'key':'pause','value':function(){var O=this['_video'];this['_playing']&&O&&O['pause']();}},{'key':'stop','value':function(){var O=this,P=this['_video'];P&&this['_visible']&&P['stop']()['then'](function(Q){Q['errMsg']&&!Q['errMsg']['includes']('ok')?console['error']('failed\x20to\x20stop\x20video\x20player'):(O['_currentTime']=0x0,O['_playing']=!0x1,O['dispatchEvent'](E['STOPPED']));});}},{'key':'canFullScreen','value':function(O){this['_video']&&this['setFullScreenEnabled'](O);}},{'key':'setFullScreenEnabled','value':function(O){var P=this['_video'];P&&this['_fullScreenEnabled']!==O&&(O?P['requestFullScreen']():P['exitFullScreen'](),this['_fullScreenEnabled']=O);}},{'key':'syncKeepAspectRatio','value':function(O){console['warn']('On\x20wechat\x20game\x20videoPlayer\x20is\x20always\x20keep\x20the\x20aspect\x20ratio');}},{'key':'syncMatrix','value':function(){}},{'key':'_getInitRect','value':function(){if(this['_component']&&this['_uiTrans']){var O,P,Q,R=this['UICamera'];if(R)return this['_component']['node']['getWorldMatrix'](G),O=this['_uiTrans']['contentSize']['width'],P=this['_uiTrans']['contentSize']['height'],this['_m00']=G['m00'],this['_m01']=G['m01'],this['_m04']=G['m04'],this['_m05']=G['m05'],this['_m12']=G['m12'],this['_m13']=G['m13'],this['_w']=O,this['_h']=P,cc['game']['canvas']['width'],O=cc['game']['canvas']['height'],P=cc['view']['_devicePixelRatio'],Q=this['_uiTrans']['anchorPoint'],F['set'](H,-Q['x']*this['_w'],(0x1-Q['y'])*this['_h'],0x0),F['set'](I,(0x1-Q['x'])*this['_w'],-Q['y']*this['_h'],0x0),F['transformMat4'](H,H,G),F['transformMat4'](I,I,G),R['worldToScreen'](H,H),R['worldToScreen'](I,I),Q=I['x']-H['x'],R=H['y']-I['y'],{'x':H['x']/P,'y':(O-H['y'])/P,'width':Q/P,'height':R/P};}}}])&&x(N['prototype'],K),M&&x(N,M),Object['defineProperty'](N,'prototype',{'writable':!0x1}),N;})(cc['internal']['VideoPlayerImpl']));},{}],0x9:[function(a,b,c){a('../../../common/engine/index'),a('./VideoPlayer');},{'../../../common/engine/index':0x7,'./VideoPlayer':0x8}]},{},[0x9]); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/runtime/oppo-mini-game/runtime-adapter/ral.js b/node_modules/@cocos/engine-platforms/bin/adapter/runtime/oppo-mini-game/runtime-adapter/ral.js +new file mode 100644 +index 0000000..ec5289b +--- /dev/null ++++ b/node_modules/@cocos/engine-platforms/bin/adapter/runtime/oppo-mini-game/runtime-adapter/ral.js +@@ -0,0 +1 @@ ++!function n(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(m=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',m;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],n,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a6{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(j,q,z){var G=j('./cache-manager'),H=j('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();j(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a60x0?setTimeout(J,F['deleteInterval']):q=![];}setTimeout(J,F['deleteInterval']);},'removeCache':function E(F){if(this['cachedFiles']['has'](F)){var G=this['cachedFiles']['remove'](F)['url'];clearTimeout(p),this['_write'](),this['_removePathOrFile'](F,G);}},'_removePathOrFile':function F(G,H){this['_isZipFile'](G)?this['_isZipFile'](H)?k(H,this['_deleteFileCB']['bind'](this)):(l(H,!![]),this['_deleteFileCB']()):k(H,this['_deleteFileCB']['bind'](this));},'_deleteFileCB':function G(H){if(!H)this['outOfStorage']=![];},'makeBundleFolder':function H(I){g(''['concat'](this['cacheDir'],'/')['concat'](I),!![]);},'unzipAndCacheBundle':function I(J,K,L,M){var N=Date['now']()['toString'](),O=''['concat'](this['cacheDir'],'/')['concat'](L,'/')['concat'](N)['concat'](r++),P=this;g(O,!![]),m(K,O,function(Q){if(Q){l(O,!![]);n(Q['message'])&&(P['outOfStorage']=!![],P['autoClear']&&P['clearLRU']());M&&M(Q);return;}P['cachedFiles']['add'](J,{'bundle':L,'url':O,'lastTime':N}),P['writeCacheFile'](),M&&M(null,O);});},'_isZipFile':function J(K){return K['slice'](-0x4)==='.zip';}};cc['assetManager']['cacheManager']=b['exports']=t;},{'./fs-utils':0x5}],0x4:[function(a,b,c){'use strict';var d=ral['createCanvas']['bind'](ral);ral['createCanvas']=function(){var canvas=d();return canvas['style']={},canvas;};},{}],0x5:[function(a,b,c){'use strict';var d=ral['getFileSystemManager']?ral['getFileSystemManager']():null,e=/the maximum size of the file storage/,f={'fs':d,'_subpackagesPath':'usr_','isOutOfStorage':function g(h){return e['test'](h);},'getUserDataPath':function h(){return ral['env']['USER_DATA_PATH'];},'checkFsValid':function i(){if(!d)return console['warn']('can\x20not\x20get\x20the\x20file\x20system!'),![];return!![];},'deleteFile':function j(k,l){d['unlink']({'filePath':k,'success':function m(){l&&l(null);},'fail':function n(o){console['warn']('Delete\x20file\x20failed:\x20path:\x20'['concat'](k,'\x20message:\x20')['concat'](o['errMsg'])),l&&l(new Error(o['errMsg']));}});},'downloadFile':function k(l,m,n,o,p){var q={'url':l,'success':function s(t){t['statusCode']===0xc8?p&&p(null,t['tempFilePath']||t['filePath']):(t['filePath']&&f['deleteFile'](t['filePath']),console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](t['statusCode'])),p&&p(new Error(t['statusCode']),null));},'fail':function t(u){console['warn']('Download\x20file\x20failed:\x20path:\x20'['concat'](l,'\x20message:\x20')['concat'](u['errMsg'])),p&&p(new Error(u['errMsg']),null);}};if(m)q['filePath']=m;if(n)q['header']=n;var r=ral['downloadFile'](q);o&&r['onProgressUpdate'](o);},'saveFile':function l(m,n,o){ral['saveFile']({'tempFilePath':m,'filePath':n,'success':function p(q){o&&o(null);},'fail':function q(r){console['warn']('Save\x20file\x20failed:\x20path:\x20'['concat'](m,'\x20message:\x20')['concat'](r['errMsg'])),o&&o(new Error(r['errMsg']));}});},'copyFile':function m(n,o,p){d['copyFile']({'srcPath':n,'destPath':o,'success':function q(){p&&p(null);},'fail':function r(s){console['warn']('Copy\x20file\x20failed:\x20path:\x20'['concat'](n,'\x20message:\x20')['concat'](s['errMsg'])),p&&p(new Error(s['errMsg']));}});},'writeFile':function n(o,p,q,r){d['writeFile']({'filePath':o,'encoding':q,'data':p,'success':function s(){r&&r(null);},'fail':function t(u){console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](o,'\x20message:\x20')['concat'](u['errMsg'])),r&&r(new Error(u['errMsg']));}});},'writeFileSync':function o(p,q,r){try{return d['writeFileSync'](p,q,r),null;}catch(s){return console['warn']('Write\x20file\x20failed:\x20path:\x20'['concat'](p,'\x20message:\x20')['concat'](s['message'])),new Error(s['message']);}},'readFile':function p(q,r,s){d['readFile']({'filePath':q,'encoding':r,'success':function t(u){s&&s(null,u['data']);},'fail':function u(v){console['warn']('Read\x20file\x20failed:\x20path:\x20'['concat'](q,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readDir':function q(r,s){d['readdir']({'dirPath':r,'success':function t(u){s&&s(null,u['files']);},'fail':function u(v){console['warn']('Read\x20directory\x20failed:\x20path:\x20'['concat'](r,'\x20message:\x20')['concat'](v['errMsg'])),s&&s(new Error(v['errMsg']),null);}});},'readText':function r(s,t){f['readFile'](s,'utf8',t);},'readArrayBuffer':function s(t,u){f['readFile'](t,'binary',u);},'readJson':function t(u,v){f['readFile'](u,'utf8',function(w,x){var y=null;if(!w)try{y=JSON['parse'](x);}catch(z){console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](u,'\x20message:\x20')['concat'](z['message'])),w=new Error(z['message']);}v&&v(w,y);});},'readJsonSync':function u(v){try{var w=d['readFileSync'](v,'utf8');return JSON['parse'](w);}catch(x){return console['warn']('Read\x20json\x20failed:\x20path:\x20'['concat'](v,'\x20message:\x20')['concat'](x['message'])),new Error(x['message']);}},'makeDirSync':function v(w,x){try{return d['mkdirSync'](w,x),null;}catch(y){return console['warn']('Make\x20directory\x20failed:\x20path:\x20'['concat'](w,'\x20message:\x20')['concat'](y['message'])),new Error(y['message']);}},'rmdirSync':function w(x,y){try{return d['rmdirSync'](x,y),null;}catch(z){return console['warn']('rm\x20directory\x20failed:\x20path:\x20'['concat'](x,'\x20message:\x20')['concat'](z['message'])),new Error(z['message']);}},'exists':function x(y,z){d['access']({'path':y,'success':function A(){z&&z(!![]);},'fail':function B(){z&&z(![]);}});},'loadSubpackage':function y(z,A,B){var C=ral['loadSubpackage']({'name':''['concat'](f['_subpackagesPath'])['concat'](z),'success':function D(){B&&B();},'fail':function E(F){console['warn']('Load\x20Subpackage\x20failed:\x20path:\x20'['concat'](z,'\x20message:\x20')['concat'](F['errMsg'])),B&&B(new Error('Failed\x20to\x20load\x20subpackage\x20'['concat'](z,':\x20')['concat'](F['errMsg'])));}});return A&&C['onProgressUpdate'](A),C;},'unzip':function z(A,B,C){d['unzip']({'zipFilePath':A,'targetPath':B,'success':function D(){C&&C(null);},'fail':function E(F){console['warn']('unzip\x20failed:\x20path:\x20'['concat'](A,'\x20message:\x20')['concat'](F['errMsg'])),C&&C(new Error('unzip\x20failed:\x20'['concat'](F['errMsg'])));}});}};window['fsUtils']=b['exports']=f;},{}],0x6:[function(a,b,c){'use strict';cc['game']['restart']=function(){},ral['onWindowResize']&&ral['onWindowResize'](function(d,e){cc['game']['canvas']&&cc['view']['setCanvasSize'](d,e);});},{}],0x7:[function(a,b,c){'use strict';a('./fs-utils'),a('./canvas'),a('./asset-manager.js'),a('./EditBox.js'),a('./game.js'),a('./wasm.js');},{'./EditBox.js':0x1,'./asset-manager.js':0x2,'./canvas':0x4,'./fs-utils':0x5,'./game.js':0x6,'./wasm.js':0x8}],0x8:[function(a,b,c){'use strict';function d(e){'@babel/helpers - typeof';return d='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(f){return typeof f;}:function(f){return f&&'function'==typeof Symbol&&f['constructor']===Symbol&&f!==Symbol['prototype']?'symbol':typeof f;},d(e);}d(ral['WebAssembly'])==='object'&&typeof ral['WebAssembly']['instantiateFromFile']==='function'&&(ral['WebAssembly']['instantiate']=ral['WebAssembly']['instantiateFromFile'],window['CCWebAssembly']=ral['WebAssembly']);},{}],0x9:[function(a,b,c){'use strict';a('../../../common/engine/index');},{'../../../common/engine/index':0x7}]},{},[0x9])); +\ No newline at end of file +diff --git a/node_modules/@cocos/engine-platforms/bin/adapter/runtime/vivo-mini-game/engine-adapter.min.js b/node_modules/@cocos/engine-platforms/bin/adapter/runtime/vivo-mini-game/engine-adapter.min.js +deleted file mode 100644 +index 0f75055..0000000 +--- a/node_modules/@cocos/engine-platforms/bin/adapter/runtime/vivo-mini-game/engine-adapter.min.js ++++ /dev/null +@@ -1 +0,0 @@ +-!function a(b,d,f){function g(k,l){if(!d[k]){if(!b[k]){var m='function'==typeof require&&require;if(!l&&m)return m(k,!0x0);if(h)return h(k,!0x0);throw(l=new Error('Cannot\x20find\x20module\x20\x27'+k+'\x27'))['code']='MODULE_NOT_FOUND',l;}m=d[k]={'exports':{}},b[k][0x0]['call'](m['exports'],function(p){return g(b[k][0x1][p]||p);},m,m['exports'],a,b,d,f);}return d[k]['exports'];}for(var h='function'==typeof require&&require,j=0x0;j{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(k,q,z){var G=k('./cache-manager'),H=k('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0xc,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xc,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();k(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){ao={'player':ao,'url':al,'duration':ao['duration'],'type':ao['type']},an(null,ao);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)&&(aq=ap['lastIndexOf']('/'),ap=''['concat'](-0x1===aq?ap['substring'](0x0,ar):ap['substring'](aq+0x1,ar),'_LABEL')),ap;})(al),al=new FontFace(ao,'url(\x27'['concat'](al,'\x27)'));document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,X['_downloadArrayBuffer']=function(al,am,an){a3(al,a4,am,am['onFileProgress'],an);},X['_downloadJson']=a7,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?''['concat'](as,'.'):'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(k(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?''['concat'](at,'.'):'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=''['concat'](az,'/res/'),an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=''['concat'](ap,'/'),an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an{switch(q){case j['DEFAULT']:case j['DONE']:return'done';case j['SEND']:return'send';case j['SEARCH']:return'search';case j['GO']:return'go';case j['NEXT']:return'next';}return'done';})(m['returnType']),'success':function(q){},'fail':function(q){cc['warn'](q['errMsg']);}});},'_hideKeyboard':function(){ral['hideKeyboard']({'success':function(m){},'fail':function(m){cc['warn'](m['errMsg']);}});}}));},{}],0x2:[function(j,q,z){var G=j('./cache-manager'),H=j('./fs-utils'),J=H['downloadFile'],L=H['readText'],N=H['readArrayBuffer'],Q=H['readJson'],R=H['loadSubpackage'],U=H['getUserDataPath'],V=H['_subpackagesPath'],W=(cc['assetManager']['fsUtils']=ral['fsUtils'],/^https?:\/\/.*/),X=cc['assetManager']['downloader'],H=cc['assetManager']['parser'],Y=cc['assetManager']['presets'],Z=(X['maxConcurrency']=0x8,X['maxRequestsPerFrame']=0x40,Y['scene']['maxConcurrency']=0xa,Y['scene']['maxRequestsPerFrame']=0x40,{}),a0={};function a1(al,am,an){if(W['test'](al))an&&an(new Error('Can\x20not\x20load\x20remote\x20scripts'));else{if(a0[al])return an&&an();j(al),a0[al]=!0x0,an&&an(null);}}function a2(al,am,an){cc['AudioPlayer']['load'](al)['then'](function(ao){var ap={'url':al,'duration':ao['duration'],'type':ao['type']};ao['destroy'](),an(null,ap);})['catch'](function(ao){an(ao);});}function a3(al,am,an,ao,ap){var aq=aj(al,an);aq['inLocal']?am(aq['url'],an,ap):aq['inCache']?(G['updateLastTime'](al),am(aq['url'],an,function(ar,as){ar&&G['removeCache'](al),ap(ar,as);})):J(al,null,an['header'],ao,function(ar,as){ar?ap(ar,null):am(as,an,function(at,au){at||(G['tempFiles']['add'](al,as),G['cacheFile'](al,as,an['cacheEnabled'],an['__cacheBundleRoot__'],!0x0)),ap(at,au);});});}function a4(al,am,an){N(al,an);}function a5(al,am,an){L(al,an);}function a6(al,am,an){Q(al,an);}function a7(al,am,an){a3(al,a6,am,am['onFileProgress'],an);}function a8(al,am,an){var ao=(ap=>{var aq,ar=ap['lastIndexOf']('.ttf');return ap=-0x1!==(ar=-0x1===ar?ap['lastIndexOf']('.tmp'):ar)?-0x1===(aq=ap['lastIndexOf']('/'))?ap['substring'](0x0,ar)+'_LABEL':ap['substring'](aq+0x1,ar)+'_LABEL':ap;})(al),al=new FontFace(ao,'url(\x27'+al+'\x27)');document['fonts']['add'](al),al['load'](),al['loaded']['then'](function(){an(null,ao);},function(){cc['warnID'](0x1345,ao),an(null,ao);});}function a9(al,am,an){an(null,al);}function aa(al,am,an){a3(al,a9,am,am['onFileProgress'],an);}function ab(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);af(ap,am,an);});}function ac(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ag(ap,am,an);});}function ad(al,am,an){N(al,function(ao,ap){if(ao)return an(ao);ah(ap,am,an);});}function ae(al,am,an){L(al,function(ao,ap){if(ao)return an(ao);ai(ap,am,an);});}var af=H['parsePVRTex'],ag=H['parsePKMTex'],ah=H['parseASTCTex'],ai=H['parsePlist'],aj=(X['downloadScript']=a1,H['parsePVRTex']=ab,H['parsePKMTex']=ac,H['parseASTCTex']=ad,H['parsePlist']=ae,X['register']({'.js':a1,'.mp3':aa,'.ogg':aa,'.wav':aa,'.m4a':aa,'.png':aa,'.jpg':aa,'.bmp':aa,'.jpeg':aa,'.gif':aa,'.ico':aa,'.tiff':aa,'.image':aa,'.webp':aa,'.pvr':aa,'.pkm':aa,'.astc':aa,'.font':aa,'.eot':aa,'.ttf':aa,'.woff':aa,'.svg':aa,'.ttc':aa,'.txt':aa,'.xml':aa,'.vsh':aa,'.fsh':aa,'.atlas':aa,'.tmx':aa,'.tsx':aa,'.plist':aa,'.fnt':aa,'.json':a7,'.ExportJson':aa,'.binary':aa,'.bin':aa,'.dbbin':aa,'.skel':aa,'.mp4':aa,'.avi':aa,'.mov':aa,'.mpg':aa,'.mpeg':aa,'.rm':aa,'.rmvb':aa,'bundle':function(al,am,an){var ao,ap,aq,ar=cc['path']['basename'](al),as=(as=am['version']||cc['assetManager']['downloader']['bundleVers'][ar])?as+'.':'';Z[ar]?(aq=''['concat'](V)['concat'](ar,'/config.')['concat'](as,'json'),R(ar,am['onFileProgress'],function(at){at?an(at,null):a7(aq,am,function(au,av){av&&(av['base']=''['concat'](V)['concat'](ar,'/')),an(au,av);});})):(W['test'](al)||al['startsWith'](U())?(ap=al,ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):-0x1!==X['remoteBundles']['indexOf'](ar)?(ap=''['concat'](X['remoteServerAddress'],'remote/')['concat'](ar),ao='src/bundle-scripts/'['concat'](ar,'/index.')['concat'](as,'js'),G['makeBundleFolder'](ar)):(ap='assets/'['concat'](ar),ao='assets/'['concat'](ar,'/index.')['concat'](as,'js')),a0[ao]||(j(ao),a0[ao]=!0x0),am['__cacheBundleRoot__']=ar,a7(aq=''['concat'](ap,'/config.')['concat'](as,'json'),am,function(at,au){var av,aw,ax;at?an&&an(at):au['isZip']?(at=au['zipVersion'],at=''['concat'](ap,'/res.')['concat'](at?at+'.':'','zip'),av=at,aw=am,ax=function(ay,az){ay?an&&an(ay):(au['base']=az+'/res/',an&&an(null,au));},(at=G['cachedFiles']['get'](av))?(G['updateLastTime'](av),ax&&ax(null,at['url'])):W['test'](av)?J(av,null,aw['header'],aw['onFileProgress'],function(ay,az){ay?ax&&ax(ay):G['unzipAndCacheBundle'](av,az,aw['__cacheBundleRoot__'],ax);}):G['unzipAndCacheBundle'](av,av,aw['__cacheBundleRoot__'],ax)):(au['base']=ap+'/',an&&an(null,au));}));},'default':function(al,am,an){a3(al,a5,am,am['onFileProgress'],an);}}),H['register']({'.png':X['downloadDomImage'],'.jpg':X['downloadDomImage'],'.bmp':X['downloadDomImage'],'.jpeg':X['downloadDomImage'],'.gif':X['downloadDomImage'],'.ico':X['downloadDomImage'],'.tiff':X['downloadDomImage'],'.image':X['downloadDomImage'],'.webp':X['downloadDomImage'],'.pvr':ab,'.pkm':ac,'.astc':ad,'.font':a8,'.eot':a8,'.ttf':a8,'.woff':a8,'.svg':a8,'.ttc':a8,'.mp3':a2,'.ogg':a2,'.wav':a2,'.m4a':a2,'.txt':a5,'.xml':a5,'.vsh':a5,'.fsh':a5,'.atlas':a5,'.tmx':a5,'.tsx':a5,'.fnt':a5,'.plist':ae,'.binary':a4,'.bin':a4,'.dbbin':a4,'.skel':a4,'.ExportJson':a6}),function(al,am){var an=!0x1,ao=!0x1;return!al['startsWith'](U())&&W['test'](al)?am['reload']||((am=G['cachedFiles']['get'](al))?(ao=!0x0,al=am['url']):(am=G['tempFiles']['get'](al))&&(an=!0x0,al=am)):an=!0x0,{'url':al,'inLocal':an,'inCache':ao};}),ak=(cc['assetManager']['transformPipeline']['append'](function(al){for(var am=al['output']=al['input'],an=0x0,ao=am['length'];an>0x8-p%0x1*0x8)){if(0xff<(l=m['charCodeAt'](p+=0.75)))throw new g('\x27btoa\x27\x20failed:\x20The\x20string\x20to\x20be\x20encoded\x20contains\x20characters\x20outside\x20of\x20the\x20Latin1\x20range.');k=k<<0x8|l;}return s;}),f['atob']||(f['atob']=function(j){var k=String(j)['replace'](/[=]+$/,'');if(k['length']%0x4==0x1)throw new g('\x27atob\x27\x20failed:\x20The\x20string\x20to\x20be\x20decoded\x20is\x20not\x20correctly\x20encoded.');for(var l,m,p=0x0,q=0x0,s='';m=k['charAt'](q++);~m&&(l=p%0x4?0x40*l+m:m,p++%0x4)&&(s+=String['fromCharCode'](0xff&l>>(-0x2*p&0x6))))m=h['indexOf'](m);return s;});},{}],0x2:[function(g,j,k){'use strict';function q(K){return(q='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(L){return typeof L;}:function(L){return L&&'function'==typeof Symbol&&L['constructor']===Symbol&&L!==Symbol['prototype']?'symbol':typeof L;})(K);}function v(K,L){var M=(0xffff&K)+(0xffff&L);return(K>>0x10)+(L>>0x10)+(M>>0x10)<<0x10|0xffff&M;}function w(K,L,M,N,O,P){return v((P=v(v(L,K),v(N,P)))<<(O=O)|P>>>0x20-O,M);}function x(K,L,M,N,O,P,Q){return w(L&M|~L&N,K,L,O,P,Q);}function z(K,L,M,N,O,P,Q){return w(L&N|M&~N,K,L,O,P,Q);}function A(K,L,M,N,O,P,Q){return w(L^M^N,K,L,O,P,Q);}function B(K,L,M,N,O,P,Q){return w(M^(L|~N),K,L,O,P,Q);}function C(K,L){K[L>>0x5]|=0x80<>>0x9<<0x4)]=L;for(var M,N,O,P,Q=0x67452301,R=-0x10325477,S=-0x67452302,T=0x10325476,U=0x0;U>0x5]>>>N%0x20&0xff);return L;}function E(K){var L=[];for(L[(K['length']>>0x2)-0x1]=void 0x0,N=0x0;N>0x5]|=(0xff&K['charCodeAt'](N/0x8))<>>0x4&0xf)+'0123456789abcdef'['charAt'](0xf&L);return M;}function G(K){return unescape(encodeURIComponent(K));}function H(K){return D(C(E(K=G(K)),0x8*K['length']));}function I(K,L){return function(M,N){var O,P=E(M),Q=[],R=[];for(Q[0xf]=R[0xf]=void 0x0,0x10=z+A||z?new java['lang']['String'](x,z,A)+'':x;}function q(x,z){(x['currentElement']||x['doc'])['appendChild'](z);}g['prototype']['parseFromString']=function(x,z){var A=this['options'],B=new v(),C=A['domBuilder']||new h(),D=A['errorHandler'],E=A['locator'],F=A['xmlns']||{},G=/\/x?html?$/['test'](z),z=G?u['entityMap']:{'lt':'<','gt':'>','amp':'&','quot':'\x22','apos':'\x27'};return E&&C['setDocumentLocator'](E),B['errorHandler']=function(H,I,J){if(!H){if(I instanceof h)return I;H=I;}var K={},L=H instanceof Function;function M(N){var O=H[N];!O&&L&&(O=0x2==H['length']?function(P){H(N,P);}:H),K[N]=O?function(P){O('[xmldom\x20'+N+']\x09'+P+k(J));}:function(){};}return J=J||{},M('warning'),M('error'),M('fatalError'),K;}(D,C,E),B['domBuilder']=A['domBuilder']||C,G&&(F['']='http://www.w3.org/1999/xhtml'),F['xml']=F['xml']||'http://www.w3.org/XML/1998/namespace',x?B['parse'](x,F,z):B['errorHandler']['error']('invalid\x20doc\x20source'),C['doc'];},h['prototype']={'startDocument':function(){this['doc']=new w()['createDocument'](null,null,null),this['locator']&&(this['doc']['documentURI']=this['locator']['systemId']);},'startElement':function(x,z,A,B){var C=this['doc'],D=C['createElementNS'](x,A||z),E=B['length'];q(this,D),this['currentElement']=D,this['locator']&&j(this['locator'],D);for(var F=0x0;F'==aS&&'>')||'&'==aS&&'&'||'\x22'==aS&&'"'||'&#'+aS['charCodeAt']()+';';}function aw(aS,aT){if(aT(aS))return 0x1;if(aS=aS['firstChild'])do{if(aw(aS,aT))return 0x1;}while(aS=aS['nextSibling']);}function ax(){}function ay(aS,aT,aU){aS&&aS['_inc']++,'http://www.w3.org/2000/xmlns/'==aU['namespaceURI']&&delete aT['_nsMap'][aU['prefix']?aU['localName']:''];}function az(aS,aT,aU){if(aS&&aS['_inc']){aS['_inc']++;var aV=aT['childNodes'];if(aU)aV[aV['length']++]=aU;else{for(var aW=aT['firstChild'],aX=0x0;aW;)aW=(aV[aX++]=aW)['nextSibling'];aV['length']=aX;}}}function aA(aS,aT){var aU=aT['previousSibling'],aV=aT['nextSibling'];return aU?aU['nextSibling']=aV:aS['firstChild']=aV,aV?aV['previousSibling']=aU:aS['lastChild']=aU,az(aS['ownerDocument'],aS),aT;}function aB(aS,aT,aU){var aV=aT['parentNode'];if(aV&&aV['removeChild'](aT),aT['nodeType']===ai){var aW=aT['firstChild'];if(null==aW)return aT;var aX=aT['lastChild'];}else aW=aX=aT;aV=aU?aU['previousSibling']:aS['lastChild'];for(aW['previousSibling']=aV,aX['nextSibling']=aU,aV?aV['nextSibling']=aW:aS['firstChild']=aW,null==aU?aS['lastChild']=aX:aU['previousSibling']=aX;aW['parentNode']=aS,aW!==aX&&(aW=aW['nextSibling']););return az(aS['ownerDocument']||aS,aS),aT['nodeType']==ai&&(aT['firstChild']=aT['lastChild']=null),aT;}function aC(){this['_nsMap']={};}function aD(){}function aE(){}function aF(){}function aG(){}function aH(){}function aI(){}function aJ(){}function aK(){}function aL(){}function aM(){}function aN(){}function aO(){}function aP(aS,aT){var aU,aV=[],aW=0x9==this['nodeType']&&this['documentElement']||this,aX=aW['prefix'],aY=aW['namespaceURI'];return aR(this,aV,aS,aT,aU=aY&&null==aX&&null==(aX=aW['lookupPrefix'](aY))?[{'namespace':aY,'prefix':null}]:aU),aV['join']('');}function aQ(aS,aT,aU){var aV=aS['prefix']||'',aW=aS['namespaceURI'];if((aV||aW)&&('xml'!==aV||'http://www.w3.org/XML/1998/namespace'!==aW)&&'http://www.w3.org/2000/xmlns/'!=aW){for(var aX=aU['length'];aX--;){var aY=aU[aX];if(aY['prefix']==aV)return aY['namespace']!=aW;}return 0x1;}}function aR(aS,aT,aU,aV,aW){if(aV){if(!(aS=aV(aS)))return;if('string'==typeof aS)return void aT['push'](aS);}switch(aS['nodeType']){case a9:aW=aW||[];var aX=aS['attributes'],aY=aX['length'],aZ=aS['firstChild'],b0=aS['tagName'];aU=a7===aS['namespaceURI']||aU,aT['push']('<',b0);for(var b1=0x0;b1'),aU&&/^script$/i['test'](b0)){for(;aZ;)aZ['data']?aT['push'](aZ['data']):aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}else{for(;aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];}aT['push']('');}else aT['push']('/>');return;case ag:case ai:for(aZ=aS['firstChild'];aZ;)aR(aZ,aT,aU,aV,aW),aZ=aZ['nextSibling'];return;case aa:return aT['push']('\x20',aS['name'],'=\x22',aS['value']['replace'](/[<&"]/g,av),'\x22');case ab:return aT['push'](aS['data']['replace'](/[<&]/g,av));case ac:return aT['push']('');case af:return aT['push']('');case ah:var b6=aS['publicId'],b0=aS['systemId'];return aT['push']('')):b0&&'.'!=b0?aT['push']('\x20SYSTEM\x20\x22',b0,'\x22>'):((b0=aS['internalSubset'])&&aT['push']('\x20[',b0,']'),aT['push']('>')));case ae:return aT['push']('');case ad:return aT['push']('&',aS['nodeName'],';');default:aT['push']('??',aS['nodeName']);}}function tt(aS,aT,aU){aS[aT]=aU;}al['prototype']=Error['prototype'],a4(aj,al),am['prototype']={'length':0x0,'item':function(aS){return this[aS]||null;},'toString':function(aS,aT){for(var aU=[],aV=0x0;aV','amp':'&','quot':'\x22','apos':'\x27','Agrave':'À','Aacute':'Á','Acirc':'Â','Atilde':'Ã','Auml':'Ä','Aring':'Å','AElig':'Æ','Ccedil':'Ç','Egrave':'È','Eacute':'É','Ecirc':'Ê','Euml':'Ë','Igrave':'Ì','Iacute':'Í','Icirc':'Î','Iuml':'Ï','ETH':'Ð','Ntilde':'Ñ','Ograve':'Ò','Oacute':'Ó','Ocirc':'Ô','Otilde':'Õ','Ouml':'Ö','Oslash':'Ø','Ugrave':'Ù','Uacute':'Ú','Ucirc':'Û','Uuml':'Ü','Yacute':'Ý','THORN':'Þ','szlig':'ß','agrave':'à','aacute':'á','acirc':'â','atilde':'ã','auml':'ä','aring':'å','aelig':'æ','ccedil':'ç','egrave':'è','eacute':'é','ecirc':'ê','euml':'ë','igrave':'ì','iacute':'í','icirc':'î','iuml':'ï','eth':'ð','ntilde':'ñ','ograve':'ò','oacute':'ó','ocirc':'ô','otilde':'õ','ouml':'ö','oslash':'ø','ugrave':'ù','uacute':'ú','ucirc':'û','uuml':'ü','yacute':'ý','thorn':'þ','yuml':'ÿ','nbsp':'\x20','iexcl':'¡','cent':'¢','pound':'£','curren':'¤','yen':'¥','brvbar':'¦','sect':'§','uml':'¨','copy':'©','ordf':'ª','laquo':'«','not':'¬','shy':'­­','reg':'®','macr':'¯','deg':'°','plusmn':'±','sup2':'²','sup3':'³','acute':'´','micro':'µ','para':'¶','middot':'·','cedil':'¸','sup1':'¹','ordm':'º','raquo':'»','frac14':'¼','frac12':'½','frac34':'¾','iquest':'¿','times':'×','divide':'÷','forall':'∀','part':'∂','exist':'∃','empty':'∅','nabla':'∇','isin':'∈','notin':'∉','ni':'∋','prod':'∏','sum':'∑','minus':'−','lowast':'∗','radic':'√','prop':'∝','infin':'∞','ang':'∠','and':'∧','or':'∨','cap':'∩','cup':'∪','int':'∫','there4':'∴','sim':'∼','cong':'≅','asymp':'≈','ne':'≠','equiv':'≡','le':'≤','ge':'≥','sub':'⊂','sup':'⊃','nsub':'⊄','sube':'⊆','supe':'⊇','oplus':'⊕','otimes':'⊗','perp':'⊥','sdot':'⋅','Alpha':'Α','Beta':'Β','Gamma':'Γ','Delta':'Δ','Epsilon':'Ε','Zeta':'Ζ','Eta':'Η','Theta':'Θ','Iota':'Ι','Kappa':'Κ','Lambda':'Λ','Mu':'Μ','Nu':'Ν','Xi':'Ξ','Omicron':'Ο','Pi':'Π','Rho':'Ρ','Sigma':'Σ','Tau':'Τ','Upsilon':'Υ','Phi':'Φ','Chi':'Χ','Psi':'Ψ','Omega':'Ω','alpha':'α','beta':'β','gamma':'γ','delta':'δ','epsilon':'ε','zeta':'ζ','eta':'η','theta':'θ','iota':'ι','kappa':'κ','lambda':'λ','mu':'μ','nu':'ν','xi':'ξ','omicron':'ο','pi':'π','rho':'ρ','sigmaf':'ς','sigma':'σ','tau':'τ','upsilon':'υ','phi':'φ','chi':'χ','psi':'ψ','omega':'ω','thetasym':'ϑ','upsih':'ϒ','piv':'ϖ','OElig':'Œ','oelig':'œ','Scaron':'Š','scaron':'š','Yuml':'Ÿ','fnof':'ƒ','circ':'ˆ','tilde':'˜','ensp':'\u2002','emsp':'\u2003','thinsp':'\u2009','zwnj':'‌','zwj':'‍','lrm':'‎','rlm':'‏','ndash':'–','mdash':'—','lsquo':'‘','rsquo':'’','sbquo':'‚','ldquo':'“','rdquo':'”','bdquo':'„','dagger':'†','Dagger':'‡','bull':'•','hellip':'…','permil':'‰','prime':'′','Prime':'″','lsaquo':'‹','rsaquo':'›','oline':'‾','euro':'€','trade':'™','larr':'←','uarr':'↑','rarr':'→','darr':'↓','harr':'↔','crarr':'↵','lceil':'⌈','rceil':'⌉','lfloor':'⌊','rfloor':'⌋','loz':'◊','spades':'♠','clubs':'♣','hearts':'♥','diams':'♦'};},{}],0x3a:[function(a,b,c){'use strict';var f=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp('[\x5c-\x5c.0-9'+f['source']['slice'](0x1,-0x1)+'\x5cu00B7\x5cu0300-\x5cu036F\x5cu203F-\x5cu2040]'),h=new RegExp('^'+f['source']+g['source']+'*(?::'+f['source']+g['source']+'*)?$'),k=0x0,l=0x1,m=0x2,p=0x3,q=0x4,s=0x5,v=0x6,w=0x7;function y(){}function z(G,J){return J['lineNumber']=G['lineNumber'],J['columnNumber']=G['columnNumber'],J;}function B(G,J,K){for(var O=G['tagName'],Q=null,R=G['length'];R--;){var S=G[R],T=S['qName'],U=S['value'],T=0x0<(W=T['indexOf'](':'))?(V=S['prefix']=T['slice'](0x0,W),X=T['slice'](W+0x1),'xmlns'===V&&X):(V=null,'xmlns'===(X=T)&&'');S['localName']=X,!0x1!==T&&(null==Q&&(Q={},E(K,K={})),K[T]=Q[T]=U,S['uri']='http://www.w3.org/2000/xmlns/',J['startPrefixMapping'](T,U));}for(var V,R=G['length'];R--;)(V=(S=G[R])['prefix'])&&('xml'===V&&(S['uri']='http://www.w3.org/XML/1998/namespace'),'xmlns'!==V&&(S['uri']=K[V||'']));var W,X=0x0<(W=O['indexOf'](':'))?(V=G['prefix']=O['slice'](0x0,W),G['localName']=O['slice'](W+0x1)):(V=null,G['localName']=O),Y=G['uri']=K[V||''];if(J['startElement'](Y,X,O,G),!G['closed'])return G['currentNSMap']=K,G['localNSMap']=Q,0x1;if(J['endElement'](Y,X,O),Q){for(V in Q)J['endPrefixMapping'](V);}}function E(G,J){for(var K in G)J[K]=G[K];}function F(G){}y['prototype']={'parse':function(G,J,K){var O=this['domBuilder'];O['startDocument'](),E(J,J={}),function(Q,U,V,W){function X(ak){var al=ak['slice'](0x1,-0x1);return al in U?U[al]:'#'===al['charAt'](0x0)?function(am){if(0xffff>0xa),ao=0xdc00+(0x3ff&am);return String['fromCharCode'](an,ao);}return String['fromCharCode'](am);}(parseInt(al['substr'](0x1)['replace']('x','0x'))):(W['error']('entity\x20not\x20found:'+ak),ak);}function Y(ak){var al;a6',a9+0x3),ab=Q['substring'](a9+0x2,aa),ac=a4['pop']();aa<0x0?(ab=Q['substring'](a9+0x2)['replace'](/[\s<].*/,''),W['error']('end\x20tag\x20name:\x20'+ab+'\x20is\x20not\x20complete:'+ac['tagName']),aa=a9+0x1+ab['length']):ab['match'](/\s',al);if(an){al=ak['substring'](al,an)['match'](/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(al)return al[0x0]['length'],(am['processingInstruction'](al[0x1],al[0x2]),an+0x2);return-0x1;}return-0x1;}(Q,a9,V);break;case'!':a3&&Z(a9),aa=function(ak,al,am,an){{if('-'===ak['charAt'](al+0x2)){if('-'!==ak['charAt'](al+0x3))return-0x1;var ao=ak['indexOf']('-->',al+0x4);return al',al+0x9),(am['startCDATA'](),am['characters'](ak,al+0x9,ao-al-0x9),am['endCDATA'](),ao+0x3);var ap=function(aq,ar){var as,at=[],au=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;au['lastIndex']=ar,au['exec'](aq);for(;as=au['exec'](aq);)if(at['push'](as),as[0x1])return at;}(ak,al),an=ap['length'];if(0x1':switch(as){case k:am['setTagName'](ak['slice'](al,ar));case s:case v:case w:break;case q:case l:'/'===(au=ak['slice'](al,ar))['slice'](-0x1)&&(am['closed']=!0x0,au=au['slice'](0x0,-0x1));case m:as===m&&(au=aq),as==q?(ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au['replace'](/&#?\w+;/g,ao),al)):('http://www.w3.org/1999/xhtml'===an['']&&au['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20value!!\x20\x22'+au+'\x22\x20instead!!'),am['add'](au,au,al));break;case p:throw new Error('attribute\x20value\x20missed!!');}return ar;case'\u0080':at='\x20';default:if(at<='\x20')switch(as){case k:am['setTagName'](ak['slice'](al,ar)),as=v;break;case l:aq=ak['slice'](al,ar),as=m;break;case q:var au=ak['slice'](al,ar)['replace'](/&#?\w+;/g,ao);ap['warning']('attribute\x20\x22'+au+'\x22\x20missed\x20quot(\x22)!!'),am['add'](aq,au,al);case s:as=v;}else switch(as){case m:am['tagName'],('http://www.w3.org/1999/xhtml'===an['']&&aq['match'](/^(?:disabled|checked|selected)$/i)||ap['warning']('attribute\x20\x22'+aq+'\x22\x20missed\x20value!!\x20\x22'+aq+'\x22\x20instead2!!'),am['add'](aq,aq,al),al=ar,as=l);break;case s:ap['warning']('attribute\x20space\x20is\x20required\x22'+aq+'\x22!!');case v:as=l,al=ar;break;case p:as=q,al=ar;break;case w:throw new Error('elements\x20closed\x20character\x20\x27/\x27\x20and\x20\x27>\x27\x20must\x20be\x20connected\x20to');}}ar++;}}(Q,a9,ag,ab,X,W),ah=ag['length'];if(!ag['closed']&&function(ak,al,am,an){var ao=an[am];return null==ao&&((ao=ak['lastIndexOf'](''))',al),ak=ak['substring'](al+0x1,ap);if(/[&<]/['test'](ak))return/^script$/i['test'](am)||(ak=ak['replace'](/&#?\w+;/g,an)),ao['characters'](ak,0x0,ak['length']),ap;}return al+0x1;}(Q,aa,ag['tagName'],X,V);}}catch(ak){W['error']('element\x20parse\x20error:\x20'+ak),aa=-0x1;}a6 { - if (REGEX.test(bundle.base)) this.makeBundleFolder(bundle.name); - }); - }, - - clearLRU () { - if (cleaning) return; - cleaning = true; - var caches = []; - var self = this; - this.cachedFiles.forEach(function (val, key) { - if (self._isZipFile(key) && cc.assetManager.bundles.find(bundle => bundle.base.indexOf(val.url) !== -1)) return; - caches.push({ originUrl: key, url: val.url, lastTime: val.lastTime }); - }); - caches.sort(function (a, b) { - return a.lastTime - b.lastTime; - }); - caches.length = Math.floor(this.cachedFiles.count / 3); - if (caches.length === 0) return; - for (var i = 0, l = caches.length; i < l; i++) { - this.cachedFiles.remove(caches[i].originUrl); - } - - clearTimeout(writeCacheFileList); - this._write(); - function deferredDelete () { - var item = caches.pop(); - if (self._isZipFile(item.originUrl)) { - rmdirSync(item.url, true); - self._deleteFileCB(); - } - else { - deleteFile(item.url, self._deleteFileCB.bind(self)); - } - if (caches.length > 0) { - setTimeout(deferredDelete, self.deleteInterval); - } - else { - cleaning = false; - } - } - setTimeout(deferredDelete, self.deleteInterval); - - }, - - removeCache (url) { - if (this.cachedFiles.has(url)) { - var path = this.cachedFiles.remove(url).url; - clearTimeout(writeCacheFileList); - this._write(); - if (this._isZipFile(url)) { - rmdirSync(path, true); - this._deleteFileCB(); - } - else { - deleteFile(path, this._deleteFileCB.bind(this)); - } - } - }, - - _deleteFileCB (err) { - if (!err) this.outOfStorage = false; - }, - - makeBundleFolder (bundleName) { - makeDirSync(this.cacheDir + '/' + bundleName, true); - }, - - unzipAndCacheBundle (id, zipFilePath, cacheBundleRoot, onComplete) { - let time = Date.now().toString(); - let targetPath = `${this.cacheDir}/${cacheBundleRoot}/${time}${suffix++}`; - let self = this; - makeDirSync(targetPath, true); - unzip(zipFilePath, targetPath, function (err) { - if (err) { - rmdirSync(targetPath, true); - if (isOutOfStorage(err.message)) { - self.outOfStorage = true; - self.autoClear && self.clearLRU(); - } - onComplete && onComplete(err); - return; - } - self.cachedFiles.add(id, { bundle: cacheBundleRoot, url: targetPath, lastTime: time }); - self.writeCacheFile(); - onComplete && onComplete(null, targetPath); - }); - }, - - _isZipFile (url) { - return url.slice(-4) === '.zip'; - }, -}; - -cc.assetManager.cacheManager = module.exports = cacheManager; \ No newline at end of file diff --git a/platforms/minigame/common/engine/AssetManager.js b/platforms/minigame/common/engine/AssetManager.js deleted file mode 100644 index a32e49fc830..00000000000 --- a/platforms/minigame/common/engine/AssetManager.js +++ /dev/null @@ -1,430 +0,0 @@ -const cacheManager = require('../cache-manager'); -const { fs, downloadFile, readText, readArrayBuffer, readJson, loadSubpackage, getUserDataPath, exists } = window.fsUtils; - -const REGEX = /^https?:\/\/.*/; - -const downloader = cc.assetManager.downloader; -const parser = cc.assetManager.parser; -const presets = cc.assetManager.presets; -downloader.maxConcurrency = 8; -downloader.maxRequestsPerFrame = 64; -presets['scene'].maxConcurrency = 10; -presets['scene'].maxRequestsPerFrame = 64; - -let subpackages = {}; - -function downloadScript (url, options, onComplete) { - if (REGEX.test(url)) { - onComplete && onComplete(new Error('Can not load remote scripts')); - } - else { - require('../../../' + url); - onComplete && onComplete(null); - } -} - -function handleZip (url, options, onComplete) { - let cachedUnzip = cacheManager.cachedFiles.get(url); - if (cachedUnzip) { - cacheManager.updateLastTime(url); - onComplete && onComplete(null, cachedUnzip.url); - } - else if (REGEX.test(url)) { - downloadFile(url, null, options.header, options.onFileProgress, function (err, downloadedZipPath) { - if (err) { - onComplete && onComplete(err); - return; - } - cacheManager.unzipAndCacheBundle(url, downloadedZipPath, options.__cacheBundleRoot__, onComplete); - }); - } - else { - cacheManager.unzipAndCacheBundle(url, url, options.__cacheBundleRoot__, onComplete); - } -} - -function loadInnerAudioContext (url) { - return new Promise((resolve, reject) => { - const nativeAudio = __globalAdapter.createInnerAudioContext(); - - let timer = setTimeout(() => { - clearEvent(); - resolve(nativeAudio); - }, 8000); - function clearEvent () { - nativeAudio.offCanplay(success); - nativeAudio.offError(fail); - } - function success () { - clearEvent(); - clearTimeout(timer); - resolve(nativeAudio); - } - function fail () { - clearEvent(); - clearTimeout(timer); - reject('failed to load innerAudioContext: ' + err); - } - nativeAudio.onCanplay(success); - nativeAudio.onError(fail); - nativeAudio.src = url; - }); -} - -function loadAudioPlayer (url, options, onComplete) { - cc.AudioPlayer.load(url).then(player => { - const audioMeta = { - url, - duration: player.duration, - type: player.type, - }; - player.destroy(); - onComplete(null, audioMeta); - }).catch(err => { - onComplete(err); - }); -} - -function download (url, func, options, onFileProgress, onComplete) { - var result = transformUrl(url, options); - if (result.inLocal) { - func(result.url, options, onComplete); - } - else if (result.inCache) { - cacheManager.updateLastTime(url); - func(result.url, options, function (err, data) { - if (err) { - cacheManager.removeCache(url); - } - onComplete(err, data); - }); - } - else { - downloadFile(url, null, options.header, onFileProgress, function (err, path) { - if (err) { - onComplete(err, null); - return; - } - func(path, options, function (err, data) { - if (!err) { - cacheManager.tempFiles.add(url, path); - cacheManager.cacheFile(url, path, options.cacheEnabled, options.__cacheBundleRoot__, true); - } - onComplete(err, data); - }); - }); - } -} - -function parseArrayBuffer (url, options, onComplete) { - readArrayBuffer(url, onComplete); -} - -function parseText (url, options, onComplete) { - readText(url, onComplete); -} - -function parseJson (url, options, onComplete) { - readJson(url, onComplete); -} - -function downloadText (url, options, onComplete) { - download(url, parseText, options, options.onFileProgress, onComplete); -} - -function downloadJson (url, options, onComplete) { - download(url, parseJson, options, options.onFileProgress, onComplete); -} - -function loadFont (url, options, onComplete) { - var fontFamily = __globalAdapter.loadFont(url); - onComplete(null, fontFamily || 'Arial'); -} - -function doNothing (content, options, onComplete) { - exists(content, (existence) => { - if (existence) { - onComplete(null, content); - } else { - onComplete(new Error(`file ${content} does not exist!`)); - } - }); -} - -function downloadAsset (url, options, onComplete) { - download(url, doNothing, options, options.onFileProgress, onComplete); -} - -function downloadBundle (nameOrUrl, options, onComplete) { - let bundleName = cc.path.basename(nameOrUrl); - let version = options.version || cc.assetManager.downloader.bundleVers[bundleName]; - let suffix = version ? version + '.' : ''; - - if (subpackages[bundleName]) { - var config = `subpackages/${bundleName}/config.${suffix}json`; - loadSubpackage(bundleName, options.onFileProgress, function (err) { - if (err) { - onComplete(err, null); - return; - } - downloadJson(config, options, function (err, data) { - data && (data.base = `subpackages/${bundleName}/`); - onComplete(err, data); - }); - }); - } - else { - let js, url; - if (REGEX.test(nameOrUrl) || nameOrUrl.startsWith(getUserDataPath())) { - url = nameOrUrl; - js = `src/bundle-scripts/${bundleName}/index.${suffix}js`; - cacheManager.makeBundleFolder(bundleName); - } - else { - if (downloader.remoteBundles.indexOf(bundleName) !== -1) { - url = `${downloader.remoteServerAddress}remote/${bundleName}`; - js = `src/bundle-scripts/${bundleName}/index.${suffix}js`; - cacheManager.makeBundleFolder(bundleName); - } - else { - url = `assets/${bundleName}`; - js = `assets/${bundleName}/index.${suffix}js`; - } - } - require('../../../' + js); - options.__cacheBundleRoot__ = bundleName; - var config = `${url}/config.${suffix}json`; - downloadJson(config, options, function (err, data) { - if (err) { - onComplete && onComplete(err); - return; - } - if (data.isZip) { - let zipVersion = data.zipVersion; - let zipUrl = `${url}/res.${zipVersion ? zipVersion + '.' : ''}zip`; - handleZip(zipUrl, options, function (err, unzipPath) { - if (err) { - onComplete && onComplete(err); - return; - } - data.base = unzipPath + '/res/'; - // PATCH: for android alipay version before v10.1.95 (v10.1.95 included) - // to remove in the future - let sys = cc.sys; - if (sys.platform === sys.ALIPAY_MINI_GAME && sys.os === sys.OS_ANDROID) { - let resPath = unzipPath + 'res/'; - if (fs.accessSync({path: resPath})) { - data.base = resPath; - } - } - onComplete && onComplete(null, data); - }); - } - else { - data.base = url + '/'; - onComplete && onComplete(null, data); - } - }); - } -}; - -const originParsePVRTex = parser.parsePVRTex; -let parsePVRTex = function (file, options, onComplete) { - readArrayBuffer(file, function (err, data) { - if (err) return onComplete(err); - originParsePVRTex(data, options, onComplete); - }); -}; - -const originParsePKMTex = parser.parsePKMTex; -let parsePKMTex = function (file, options, onComplete) { - readArrayBuffer(file, function (err, data) { - if (err) return onComplete(err); - originParsePKMTex(data, options, onComplete); - }); -}; - -const originParseASTCTex = parser.parseASTCTex; -let parseASTCTex = function (file, options, onComplete) { - readArrayBuffer(file, function (err, data) { - if (err) return onComplete(err); - originParseASTCTex(data, options, onComplete); - }); -}; - -const originParsePlist = parser.parsePlist; -let parsePlist = function (url, options, onComplete) { - readText(url, function (err, file) { - if (err) return onComplete(err); - originParsePlist(file, options, onComplete); - }); -}; - -downloader.downloadScript = downloadScript; -parser.parsePVRTex = parsePVRTex; -parser.parsePKMTex = parsePKMTex; -parser.parseASTCTex = parseASTCTex; -parser.parsePlist = parsePlist; - -downloader.register({ - '.js' : downloadScript, - - // Audio - '.mp3' : downloadAsset, - '.ogg' : downloadAsset, - '.wav' : downloadAsset, - '.m4a' : downloadAsset, - - // Image - '.png' : downloadAsset, - '.jpg' : downloadAsset, - '.bmp' : downloadAsset, - '.jpeg' : downloadAsset, - '.gif' : downloadAsset, - '.ico' : downloadAsset, - '.tiff' : downloadAsset, - '.image' : downloadAsset, - '.webp' : downloadAsset, - '.pvr': downloadAsset, - '.pkm': downloadAsset, - '.astc': downloadAsset, - - '.font': downloadAsset, - '.eot': downloadAsset, - '.ttf': downloadAsset, - '.woff': downloadAsset, - '.svg': downloadAsset, - '.ttc': downloadAsset, - - // Txt - '.txt' : downloadAsset, - '.xml' : downloadAsset, - '.vsh' : downloadAsset, - '.fsh' : downloadAsset, - '.atlas' : downloadAsset, - - '.tmx' : downloadAsset, - '.tsx' : downloadAsset, - '.plist' : downloadAsset, - '.fnt' : downloadAsset, - - '.json' : downloadJson, - '.ExportJson' : downloadAsset, - - '.binary' : downloadAsset, - '.bin': downloadAsset, - '.dbbin': downloadAsset, - '.skel': downloadAsset, - - '.mp4': downloadAsset, - '.avi': downloadAsset, - '.mov': downloadAsset, - '.mpg': downloadAsset, - '.mpeg': downloadAsset, - '.rm': downloadAsset, - '.rmvb': downloadAsset, - - 'bundle': downloadBundle, - - 'default': downloadText, -}); - -parser.register({ - '.png' : downloader.downloadDomImage, - '.jpg' : downloader.downloadDomImage, - '.bmp' : downloader.downloadDomImage, - '.jpeg' : downloader.downloadDomImage, - '.gif' : downloader.downloadDomImage, - '.ico' : downloader.downloadDomImage, - '.tiff' : downloader.downloadDomImage, - '.image' : downloader.downloadDomImage, - '.webp' : downloader.downloadDomImage, - '.pvr': parsePVRTex, - '.pkm': parsePKMTex, - '.astc': parseASTCTex, - - '.font': loadFont, - '.eot': loadFont, - '.ttf': loadFont, - '.woff': loadFont, - '.svg': loadFont, - '.ttc': loadFont, - - // Audio - '.mp3' : loadAudioPlayer, - '.ogg' : loadAudioPlayer, - '.wav' : loadAudioPlayer, - '.m4a' : loadAudioPlayer, - - // Txt - '.txt' : parseText, - '.xml' : parseText, - '.vsh' : parseText, - '.fsh' : parseText, - '.atlas' : parseText, - - '.tmx' : parseText, - '.tsx' : parseText, - '.fnt' : parseText, - '.plist' : parsePlist, - - '.binary' : parseArrayBuffer, - '.bin': parseArrayBuffer, - '.dbbin': parseArrayBuffer, - '.skel': parseArrayBuffer, - - '.ExportJson' : parseJson, -}); - -function transformUrl (url, options) { - var inLocal = false; - var inCache = false; - var isInUserDataPath = url.startsWith(getUserDataPath()); - if (isInUserDataPath) { - inLocal = true; - } - else if (REGEX.test(url)) { - if (!options.reload) { - var cache = cacheManager.cachedFiles.get(url); - if (cache) { - inCache = true; - url = cache.url; - } - else { - var tempUrl = cacheManager.tempFiles.get(url); - if (tempUrl) { - inLocal = true; - url = tempUrl; - } - } - } - } - else { - inLocal = true; - } - return { url, inLocal, inCache }; -} - -cc.assetManager.transformPipeline.append(function (task) { - var input = task.output = task.input; - for (var i = 0, l = input.length; i < l; i++) { - var item = input[i]; - var options = item.options; - if (!item.config) { - if (item.ext === 'bundle') continue; - options.cacheEnabled = options.cacheEnabled !== undefined ? options.cacheEnabled : false; - } - else { - options.__cacheBundleRoot__ = item.config.name; - } - } -}); - -var originInit = cc.assetManager.init; -cc.assetManager.init = function (options) { - originInit.call(cc.assetManager, options); - options.subpackages && options.subpackages.forEach(x => subpackages[x] = 'subpackages/' + x); - cacheManager.init(); -}; - - diff --git a/platforms/minigame/common/engine/Editbox.js b/platforms/minigame/common/engine/Editbox.js deleted file mode 100644 index 4f6bccf5193..00000000000 --- a/platforms/minigame/common/engine/Editbox.js +++ /dev/null @@ -1,172 +0,0 @@ -(function () { - if (!(cc && cc.EditBoxComponent)) { - return; - } - - const EditBoxComp = cc.EditBoxComponent; - const js = cc.js; - const KeyboardReturnType = EditBoxComp.KeyboardReturnType; - const MAX_VALUE = 65535; - const KEYBOARD_HIDE_TIME = 600; - let _hideKeyboardTimeout = null; - let _currentEditBoxImpl = null; - - function getKeyboardReturnType (type) { - switch (type) { - case KeyboardReturnType.DEFAULT: - case KeyboardReturnType.DONE: - return 'done'; - case KeyboardReturnType.SEND: - return 'send'; - case KeyboardReturnType.SEARCH: - return 'search'; - case KeyboardReturnType.GO: - return 'go'; - case KeyboardReturnType.NEXT: - return 'next'; - } - return 'done'; - } - - function MiniGameEditBoxImpl () { - this._delegate = null; - this._editing = false; - - this._eventListeners = { - onKeyboardInput: null, - onKeyboardConfirm: null, - onKeyboardComplete: null, - }; - } - - js.extend(MiniGameEditBoxImpl, EditBoxComp._EditBoxImpl); - EditBoxComp._EditBoxImpl = MiniGameEditBoxImpl; - - Object.assign(MiniGameEditBoxImpl.prototype, { - init (delegate) { - if (!delegate) { - cc.error('EditBox init failed'); - return; - } - this._delegate = delegate; - }, - - beginEditing () { - // In case multiply register events - if (this._editing) { - return; - } - this._ensureKeyboardHide(() => { - let delegate = this._delegate; - this._showKeyboard(); - this._registerKeyboardEvent(); - this._editing = true; - _currentEditBoxImpl = this; - delegate._editBoxEditingDidBegan(); - }); - }, - - endEditing () { - this._hideKeyboard(); - let cbs = this._eventListeners; - cbs.onKeyboardComplete && cbs.onKeyboardComplete(); - }, - - _registerKeyboardEvent () { - let self = this; - let delegate = this._delegate; - let cbs = this._eventListeners; - - cbs.onKeyboardInput = function (res) { - if (delegate._string !== res.value) { - delegate._editBoxTextChanged(res.value); - } - } - - cbs.onKeyboardConfirm = function (res) { - delegate._editBoxEditingReturn(); - let cbs = self._eventListeners; - cbs.onKeyboardComplete && cbs.onKeyboardComplete(); - } - - cbs.onKeyboardComplete = function () { - self._editing = false; - _currentEditBoxImpl = null; - self._unregisterKeyboardEvent(); - delegate._editBoxEditingDidEnded(); - } - - __globalAdapter.onKeyboardInput(cbs.onKeyboardInput); - __globalAdapter.onKeyboardConfirm(cbs.onKeyboardConfirm); - __globalAdapter.onKeyboardComplete(cbs.onKeyboardComplete); - }, - - _unregisterKeyboardEvent () { - let cbs = this._eventListeners; - - if (cbs.onKeyboardInput) { - __globalAdapter.offKeyboardInput(cbs.onKeyboardInput); - cbs.onKeyboardInput = null; - } - if (cbs.onKeyboardConfirm) { - __globalAdapter.offKeyboardConfirm(cbs.onKeyboardConfirm); - cbs.onKeyboardConfirm = null; - } - if (cbs.onKeyboardComplete) { - __globalAdapter.offKeyboardComplete(cbs.onKeyboardComplete); - cbs.onKeyboardComplete = null; - } - }, - - _otherEditing () { - return !!_currentEditBoxImpl && _currentEditBoxImpl !== this && _currentEditBoxImpl._editing; - }, - - _ensureKeyboardHide (cb) { - let otherEditing = this._otherEditing(); - if (!otherEditing && !_hideKeyboardTimeout) { - return cb(); - } - if (_hideKeyboardTimeout) { - clearTimeout(_hideKeyboardTimeout); - } - if (otherEditing) { - _currentEditBoxImpl.endEditing(); - } - _hideKeyboardTimeout = setTimeout(() => { - _hideKeyboardTimeout = null; - cb(); - }, KEYBOARD_HIDE_TIME); - }, - - _showKeyboard () { - let delegate = this._delegate; - let multiline = (delegate.inputMode === EditBoxComp.InputMode.ANY); - __globalAdapter.showKeyboard({ - defaultValue: delegate.string, - maxLength: delegate.maxLength < 0 ? MAX_VALUE : delegate.maxLength, - multiple: multiline, - confirmHold: false, - confirmType: getKeyboardReturnType(delegate.returnType), - success (res) { - - }, - fail (res) { - cc.warn(res.errMsg); - } - }); - }, - - _hideKeyboard () { - __globalAdapter.hideKeyboard({ - success (res) { - - }, - fail (res) { - cc.warn(res.errMsg); - }, - }); - }, - }); -})(); - diff --git a/platforms/minigame/common/engine/Game.js b/platforms/minigame/common/engine/Game.js deleted file mode 100644 index f7cc211e96b..00000000000 --- a/platforms/minigame/common/engine/Game.js +++ /dev/null @@ -1,143 +0,0 @@ -const inputManager = cc.internal.inputManager; -const renderer = cc.renderer; -const game = cc.game; -let _frameRate = 60; - - -Object.assign(game, { - setFrameRate (frameRate) { - _frameRate = frameRate; - if (__globalAdapter.setPreferredFramesPerSecond) { - __globalAdapter.setPreferredFramesPerSecond(frameRate); - } - else { - this._paused = true; - this._setAnimFrame(); - this._runMainLoop(); - } - }, - - getFrameRate () { - return _frameRate; - }, - - _runMainLoop () { - var self = this, callback, config = self.config, - director = cc.director, - skip = true, frameRate = config.frameRate; - - cc.debug.setDisplayStats(config.showFPS); - - director.startAnimation(); - - callback = function (time) { - if (!self._paused) { - self._intervalId = window.rAF(callback); - if (_frameRate === 30 && !__globalAdapter.setPreferredFramesPerSecond) { - if (skip = !skip) { - return; - } - } - director.mainLoop(time); - } - }; - - if (self._intervalId) { - window.cAF(self._intervalId); - self._intervalId = 0; - } - - self._intervalId = window.rAF(callback); - self._paused = false; - }, - - _initEvents () { - let hidden = false; - - function onHidden () { - if (!hidden) { - hidden = true; - cc.game.emit(cc.Game.EVENT_HIDE); - } - } - function onShown () { - if (hidden) { - hidden = false; - cc.game.emit(cc.Game.EVENT_SHOW); - } - } - - __globalAdapter.onAudioInterruptionEnd && __globalAdapter.onAudioInterruptionEnd(function () { - if (cc.audioEngine) cc.audioEngine._restore(); - - }); - __globalAdapter.onAudioInterruptionBegin && __globalAdapter.onAudioInterruptionBegin(function () { - if (cc.audioEngine) cc.audioEngine._break(); - }); - - __globalAdapter.onShow && __globalAdapter.onShow(onShown); - __globalAdapter.onHide && __globalAdapter.onHide(onHidden); - - this.on(cc.Game.EVENT_HIDE, () => { - cc.game.pause(); - }); - this.on(cc.Game.EVENT_SHOW, () => { - cc.game.resume(); - }); - }, - - end () { }, // mini game platform not support this api - -}); - -// Small game in the screen log -function onErrorMessageHandler (info) { - // off error event - __globalAdapter.offError && __globalAdapter.offError(onErrorMessageHandler); - - var allowTrigger = Math.random() < 0.001; - if (__globalAdapter.isSubContext || !allowTrigger) { - return; - } - - var env = __globalAdapter.getSystemInfoSync(); - if (!env) { - return; - } - var root = cc.Canvas.instance.node; - if (!root) { - return; - } - - var offset = 60; - var node = new cc.Node(); - node.color = cc.Color.BLACK; - node.parent = root; - - var label = node.addComponent(cc.Label); - node.height = root.height - offset; - node.width = root.width - offset; - label.overflow = cc.Label.Overflow.SHRINK; - label.horizontalAlign = cc.Label.HorizontalAlign.LEFT; - label.verticalAlign = cc.Label.VerticalAlign.TOP; - label.fontSize = 24; - - if (cc.LabelOutline) { - var outline = node.addComponent(cc.LabelOutline); - outline.color = cc.Color.WHITE; - } - - label.string = '请截屏发送以下信息反馈给游戏开发者(Please send this screen shot to the game developer)\n'; - label.string += 'Device: ' + env.brand + ' ' + env.model + '\n' + 'System: ' + env.system + '\n' + 'Platform: WeChat ' + env.version + '\n' + 'Engine: Cocos Creator v' + window.CocosEngine + '\n' + 'Error:\n' + info.message; - - cc.director.pause(); - - node.once('touchend', function () { - node.destroy(); - setTimeout(function () { - cc.director.resume(); - }, 1000) - }) -} - -__globalAdapter.onError && __globalAdapter.onError(onErrorMessageHandler); diff --git a/platforms/minigame/common/engine/Screen.js b/platforms/minigame/common/engine/Screen.js deleted file mode 100644 index 02abd85829f..00000000000 --- a/platforms/minigame/common/engine/Screen.js +++ /dev/null @@ -1,5 +0,0 @@ -Object.assign(cc.screen, { - autoFullScreen: function (element, onFullScreenChange) { - // Not support on mini game - } -}); \ No newline at end of file diff --git a/platforms/minigame/common/engine/globalAdapter/ContainerStrategy.js b/platforms/minigame/common/engine/globalAdapter/ContainerStrategy.js deleted file mode 100644 index c82409ff97e..00000000000 --- a/platforms/minigame/common/engine/globalAdapter/ContainerStrategy.js +++ /dev/null @@ -1,20 +0,0 @@ -function adaptContainerStrategy (containerStrategyProto) { - containerStrategyProto._setupContainer = function (view, width, height) { - let locCanvas = cc.game.canvas; - // Setup pixel ratio for retina display - var devicePixelRatio = view._devicePixelRatio = 1; - if (view.isRetinaEnabled()) - devicePixelRatio = view._devicePixelRatio = Math.min(view._maxPixelRatio, window.devicePixelRatio || 1); - // Setup canvas - width *= devicePixelRatio; - height *= devicePixelRatio; - // FIX: black screen on Baidu platform - // reset canvas size may call gl.clear(), especially when you call cc.director.loadScene() - if (locCanvas.width !== width || locCanvas.height !== height) { - locCanvas.width = width; - locCanvas.height = height; - } - }; -} - -module.exports = adaptContainerStrategy; \ No newline at end of file diff --git a/platforms/minigame/common/engine/globalAdapter/View.js b/platforms/minigame/common/engine/globalAdapter/View.js deleted file mode 100644 index bdfca34276f..00000000000 --- a/platforms/minigame/common/engine/globalAdapter/View.js +++ /dev/null @@ -1,43 +0,0 @@ -function adaptView (viewProto) { - Object.assign(viewProto, { - _adjustViewportMeta () { - // minigame not support - }, - - setRealPixelResolution (width, height, resolutionPolicy) { - // Reset the resolution size and policy - this.setDesignResolutionSize(width, height, resolutionPolicy); - }, - - enableAutoFullScreen (enabled) { - cc.warn('cc.view.enableAutoFullScreen() is not supported on minigame platform.'); - }, - - isAutoFullScreenEnabled () { - return false; - }, - - setCanvasSize () { - cc.warn('cc.view.setCanvasSize() is not supported on minigame platform.'); - }, - - setFrameSize () { - cc.warn('frame size is readonly on minigame platform.'); - }, - - _initFrameSize () { - let locFrameSize = this._frameSize; - if (__globalAdapter.isSubContext) { - let sharedCanvas = window.sharedCanvas || __globalAdapter.getSharedCanvas(); - locFrameSize.width = sharedCanvas.width; - locFrameSize.height = sharedCanvas.height; - } - else { - locFrameSize.width = window.innerWidth; - locFrameSize.height = window.innerHeight; - } - }, - }); -} - -module.exports = adaptView; \ No newline at end of file diff --git a/platforms/minigame/common/engine/globalAdapter/index.js b/platforms/minigame/common/engine/globalAdapter/index.js deleted file mode 100644 index c9ee2dfc8cb..00000000000 --- a/platforms/minigame/common/engine/globalAdapter/index.js +++ /dev/null @@ -1,5 +0,0 @@ -window.__globalAdapter = { - adaptView: require('./View'), - - adaptContainerStrategy: require('./ContainerStrategy'), -}; \ No newline at end of file diff --git a/platforms/minigame/common/engine/index.js b/platforms/minigame/common/engine/index.js deleted file mode 100644 index c3c3212b085..00000000000 --- a/platforms/minigame/common/engine/index.js +++ /dev/null @@ -1,5 +0,0 @@ -require('./Editbox'); -require('./Game'); -require('./AssetManager'); -require('./Screen'); -require('./misc'); \ No newline at end of file diff --git a/platforms/minigame/common/engine/misc.js b/platforms/minigame/common/engine/misc.js deleted file mode 100644 index 15843d4e6f0..00000000000 --- a/platforms/minigame/common/engine/misc.js +++ /dev/null @@ -1 +0,0 @@ -cc.macro.DOWNLOAD_MAX_CONCURRENT = 10; \ No newline at end of file diff --git a/platforms/minigame/common/xmldom/dom-parser.js b/platforms/minigame/common/xmldom/dom-parser.js deleted file mode 100644 index e45dd476f1d..00000000000 --- a/platforms/minigame/common/xmldom/dom-parser.js +++ /dev/null @@ -1,252 +0,0 @@ -function DOMParser(options){ - this.options = options ||{locator:{}}; - -} - -DOMParser.prototype.parseFromString = function(source,mimeType){ - var options = this.options; - var sax = new XMLReader(); - var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler - var errorHandler = options.errorHandler; - var locator = options.locator; - var defaultNSMap = options.xmlns||{}; - var isHTML = /\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1; - var entityMap = isHTML?htmlEntity.entityMap:{'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"}; - if(locator){ - domBuilder.setDocumentLocator(locator) - } - - sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator); - sax.domBuilder = options.domBuilder || domBuilder; - if(isHTML){ - defaultNSMap['']= 'http://www.w3.org/1999/xhtml'; - } - defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace'; - if(source){ - sax.parse(source,defaultNSMap,entityMap); - }else{ - sax.errorHandler.error("invalid doc source"); - } - return domBuilder.doc; -} -function buildErrorHandler(errorImpl,domBuilder,locator){ - if(!errorImpl){ - if(domBuilder instanceof DOMHandler){ - return domBuilder; - } - errorImpl = domBuilder ; - } - var errorHandler = {} - var isCallback = errorImpl instanceof Function; - locator = locator||{} - function build(key){ - var fn = errorImpl[key]; - if(!fn && isCallback){ - fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl; - } - errorHandler[key] = fn && function(msg){ - fn('[xmldom '+key+']\t'+msg+_locator(locator)); - }||function(){}; - } - build('warning'); - build('error'); - build('fatalError'); - return errorHandler; -} - -//console.log('#\n\n\n\n\n\n\n####') -/** - * +ContentHandler+ErrorHandler - * +LexicalHandler+EntityResolver2 - * -DeclHandler-DTDHandler - * - * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler - * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2 - * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html - */ -function DOMHandler() { - this.cdata = false; -} -function position(locator,node){ - node.lineNumber = locator.lineNumber; - node.columnNumber = locator.columnNumber; -} -/** - * @see org.xml.sax.ContentHandler#startDocument - * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html - */ -DOMHandler.prototype = { - startDocument : function() { - this.doc = new DOMImplementation().createDocument(null, null, null); - if (this.locator) { - this.doc.documentURI = this.locator.systemId; - } - }, - startElement:function(namespaceURI, localName, qName, attrs) { - var doc = this.doc; - var el = doc.createElementNS(namespaceURI, qName||localName); - var len = attrs.length; - appendElement(this, el); - this.currentElement = el; - - this.locator && position(this.locator,el) - for (var i = 0 ; i < len; i++) { - var namespaceURI = attrs.getURI(i); - var value = attrs.getValue(i); - var qName = attrs.getQName(i); - var attr = doc.createAttributeNS(namespaceURI, qName); - this.locator &&position(attrs.getLocator(i),attr); - attr.value = attr.nodeValue = value; - el.setAttributeNode(attr) - } - }, - endElement:function(namespaceURI, localName, qName) { - var current = this.currentElement - var tagName = current.tagName; - this.currentElement = current.parentNode; - }, - startPrefixMapping:function(prefix, uri) { - }, - endPrefixMapping:function(prefix) { - }, - processingInstruction:function(target, data) { - var ins = this.doc.createProcessingInstruction(target, data); - this.locator && position(this.locator,ins) - appendElement(this, ins); - }, - ignorableWhitespace:function(ch, start, length) { - }, - characters:function(chars, start, length) { - chars = _toString.apply(this,arguments) - //console.log(chars) - if(chars){ - if (this.cdata) { - var charNode = this.doc.createCDATASection(chars); - } else { - var charNode = this.doc.createTextNode(chars); - } - if(this.currentElement){ - this.currentElement.appendChild(charNode); - }else if(/^\s*$/.test(chars)){ - this.doc.appendChild(charNode); - //process xml - } - this.locator && position(this.locator,charNode) - } - }, - skippedEntity:function(name) { - }, - endDocument:function() { - this.doc.normalize(); - }, - setDocumentLocator:function (locator) { - if(this.locator = locator){// && !('lineNumber' in locator)){ - locator.lineNumber = 0; - } - }, - //LexicalHandler - comment:function(chars, start, length) { - chars = _toString.apply(this,arguments) - var comm = this.doc.createComment(chars); - this.locator && position(this.locator,comm) - appendElement(this, comm); - }, - - startCDATA:function() { - //used in characters() methods - this.cdata = true; - }, - endCDATA:function() { - this.cdata = false; - }, - - startDTD:function(name, publicId, systemId) { - var impl = this.doc.implementation; - if (impl && impl.createDocumentType) { - var dt = impl.createDocumentType(name, publicId, systemId); - this.locator && position(this.locator,dt) - appendElement(this, dt); - } - }, - /** - * @see org.xml.sax.ErrorHandler - * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html - */ - warning:function(error) { - console.warn('[xmldom warning]\t'+error,_locator(this.locator)); - }, - error:function(error) { - console.error('[xmldom error]\t'+error,_locator(this.locator)); - }, - fatalError:function(error) { - console.error('[xmldom fatalError]\t'+error,_locator(this.locator)); - throw error; - } -} -function _locator(l){ - if(l){ - return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']' - } -} -function _toString(chars,start,length){ - if(typeof chars == 'string'){ - return chars.substr(start,length) - }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)") - if(chars.length >= start+length || start){ - return new java.lang.String(chars,start,length)+''; - } - return chars; - } -} - -/* - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html - * used method of org.xml.sax.ext.LexicalHandler: - * #comment(chars, start, length) - * #startCDATA() - * #endCDATA() - * #startDTD(name, publicId, systemId) - * - * - * IGNORED method of org.xml.sax.ext.LexicalHandler: - * #endDTD() - * #startEntity(name) - * #endEntity(name) - * - * - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html - * IGNORED method of org.xml.sax.ext.DeclHandler - * #attributeDecl(eName, aName, type, mode, value) - * #elementDecl(name, model) - * #externalEntityDecl(name, publicId, systemId) - * #internalEntityDecl(name, value) - * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html - * IGNORED method of org.xml.sax.EntityResolver2 - * #resolveEntity(String name,String publicId,String baseURI,String systemId) - * #resolveEntity(publicId, systemId) - * #getExternalSubset(name, baseURI) - * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html - * IGNORED method of org.xml.sax.DTDHandler - * #notationDecl(name, publicId, systemId) {}; - * #unparsedEntityDecl(name, publicId, systemId, notationName) {}; - */ -"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){ - DOMHandler.prototype[key] = function(){return null} -}) - -/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */ -function appendElement (hander,node) { - if (!hander.currentElement) { - hander.doc.appendChild(node); - } else { - hander.currentElement.appendChild(node); - } -}//appendChild and setAttributeNS are preformance key - -//if(typeof require == 'function'){ -var htmlEntity = require('./entities'); -var XMLReader = require('./sax').XMLReader; -var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation; -exports.XMLSerializer = require('./dom').XMLSerializer ; -exports.DOMParser = DOMParser; -//} diff --git a/platforms/minigame/common/xmldom/dom.js b/platforms/minigame/common/xmldom/dom.js deleted file mode 100755 index 935531b3859..00000000000 --- a/platforms/minigame/common/xmldom/dom.js +++ /dev/null @@ -1,1246 +0,0 @@ -/* - * DOM Level 2 - * Object DOMException - * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - */ - -function copy(src,dest){ - for(var p in src){ - dest[p] = src[p]; - } -} -/** -^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));? -^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));? - */ -function _extends(Class,Super){ - var pt = Class.prototype; - if(!(pt instanceof Super)){ - function t(){}; - t.prototype = Super.prototype; - t = new t(); - // copy(pt,t); - for(var p in pt){ - t[p] = pt[p]; - } - Class.prototype = pt = t; - } - if(pt.constructor != Class){ - if(typeof Class != 'function'){ - console.error("unknow Class:"+Class) - } - pt.constructor = Class - } -} -var htmlns = 'http://www.w3.org/1999/xhtml' ; -// Node Types -var NodeType = {} -var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1; -var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2; -var TEXT_NODE = NodeType.TEXT_NODE = 3; -var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4; -var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5; -var ENTITY_NODE = NodeType.ENTITY_NODE = 6; -var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7; -var COMMENT_NODE = NodeType.COMMENT_NODE = 8; -var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9; -var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10; -var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11; -var NOTATION_NODE = NodeType.NOTATION_NODE = 12; - -// ExceptionCode -var ExceptionCode = {} -var ExceptionMessage = {}; -var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]="Index size error"),1); -var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2); -var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3); -var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4); -var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5); -var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6); -var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7); -var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8); -var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9); -var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10); -//level2 -var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11); -var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12); -var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13); -var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14); -var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = ((ExceptionMessage[15]="Invalid access"),15); - - -function DOMException(code, message) { - if(message instanceof Error){ - var error = message; - }else{ - error = this; - Error.call(this, ExceptionMessage[code]); - this.message = ExceptionMessage[code]; - if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException); - } - error.code = code; - if(message) this.message = this.message + ": " + message; - return error; -}; -DOMException.prototype = Error.prototype; -copy(ExceptionCode,DOMException) -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177 - * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live. - * The items in the NodeList are accessible via an integral index, starting from 0. - */ -function NodeList() { -}; -NodeList.prototype = { - /** - * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive. - * @standard level1 - */ - length:0, - /** - * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. - * @standard level1 - * @param index unsigned long - * Index into the collection. - * @return Node - * The node at the indexth position in the NodeList, or null if that is not a valid index. - */ - item: function(index) { - return this[index] || null; - }, - toString:function(isHTML,nodeFilter){ - for(var buf = [], i = 0;i=0){ - var lastIndex = list.length-1 - while(i0 || key == 'xmlns'){ -// return null; -// } - //console.log() - var i = this.length; - while(i--){ - var attr = this[i]; - //console.log(attr.nodeName,key) - if(attr.nodeName == key){ - return attr; - } - } - }, - setNamedItem: function(attr) { - var el = attr.ownerElement; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - var oldAttr = this.getNamedItem(attr.nodeName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - /* returns Node */ - setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR - var el = attr.ownerElement, oldAttr; - if(el && el!=this._ownerElement){ - throw new DOMException(INUSE_ATTRIBUTE_ERR); - } - oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName); - _addNamedNode(this._ownerElement,this,attr,oldAttr); - return oldAttr; - }, - - /* returns Node */ - removeNamedItem: function(key) { - var attr = this.getNamedItem(key); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - - - },// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR - - //for level2 - removeNamedItemNS:function(namespaceURI,localName){ - var attr = this.getNamedItemNS(namespaceURI,localName); - _removeNamedNode(this._ownerElement,this,attr); - return attr; - }, - getNamedItemNS: function(namespaceURI, localName) { - var i = this.length; - while(i--){ - var node = this[i]; - if(node.localName == localName && node.namespaceURI == namespaceURI){ - return node; - } - } - return null; - } -}; -/** - * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 - */ -function DOMImplementation(/* Object */ features) { - this._features = {}; - if (features) { - for (var feature in features) { - this._features = features[feature]; - } - } -}; - -DOMImplementation.prototype = { - hasFeature: function(/* string */ feature, /* string */ version) { - var versions = this._features[feature.toLowerCase()]; - if (versions && (!version || version in versions)) { - return true; - } else { - return false; - } - }, - // Introduced in DOM Level 2: - createDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR - var doc = new Document(); - doc.implementation = this; - doc.childNodes = new NodeList(); - doc.doctype = doctype; - if(doctype){ - doc.appendChild(doctype); - } - if(qualifiedName){ - var root = doc.createElementNS(namespaceURI,qualifiedName); - doc.appendChild(root); - } - return doc; - }, - // Introduced in DOM Level 2: - createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR - var node = new DocumentType(); - node.name = qualifiedName; - node.nodeName = qualifiedName; - node.publicId = publicId; - node.systemId = systemId; - // Introduced in DOM Level 2: - //readonly attribute DOMString internalSubset; - - //TODO:.. - // readonly attribute NamedNodeMap entities; - // readonly attribute NamedNodeMap notations; - return node; - } -}; - - -/** - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247 - */ - -function Node() { -}; - -Node.prototype = { - firstChild : null, - lastChild : null, - previousSibling : null, - nextSibling : null, - attributes : null, - parentNode : null, - childNodes : null, - ownerDocument : null, - nodeValue : null, - namespaceURI : null, - prefix : null, - localName : null, - // Modified in DOM Level 2: - insertBefore:function(newChild, refChild){//raises - return _insertBefore(this,newChild,refChild); - }, - replaceChild:function(newChild, oldChild){//raises - this.insertBefore(newChild,oldChild); - if(oldChild){ - this.removeChild(oldChild); - } - }, - removeChild:function(oldChild){ - return _removeChild(this,oldChild); - }, - appendChild:function(newChild){ - return this.insertBefore(newChild,null); - }, - hasChildNodes:function(){ - return this.firstChild != null; - }, - cloneNode:function(deep){ - return cloneNode(this.ownerDocument||this,this,deep); - }, - // Modified in DOM Level 2: - normalize:function(){ - var child = this.firstChild; - while(child){ - var next = child.nextSibling; - if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){ - this.removeChild(next); - child.appendData(next.data); - }else{ - child.normalize(); - child = next; - } - } - }, - // Introduced in DOM Level 2: - isSupported:function(feature, version){ - return this.ownerDocument.implementation.hasFeature(feature,version); - }, - // Introduced in DOM Level 2: - hasAttributes:function(){ - return this.attributes.length>0; - }, - lookupPrefix:function(namespaceURI){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - for(var n in map){ - if(map[n] == namespaceURI){ - return n; - } - } - } - el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - lookupNamespaceURI:function(prefix){ - var el = this; - while(el){ - var map = el._nsMap; - //console.dir(map) - if(map){ - if(prefix in map){ - return map[prefix] ; - } - } - el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode; - } - return null; - }, - // Introduced in DOM Level 3: - isDefaultNamespace:function(namespaceURI){ - var prefix = this.lookupPrefix(namespaceURI); - return prefix == null; - } -}; - - -function _xmlEncoder(c){ - return c == '<' && '<' || - c == '>' && '>' || - c == '&' && '&' || - c == '"' && '"' || - '&#'+c.charCodeAt()+';' -} - - -copy(NodeType,Node); -copy(NodeType,Node.prototype); - -/** - * @param callback return true for continue,false for break - * @return boolean true: break visit; - */ -function _visitNode(node,callback){ - if(callback(node)){ - return true; - } - if(node = node.firstChild){ - do{ - if(_visitNode(node,callback)){return true} - }while(node=node.nextSibling) - } -} - - - -function Document(){ -} -function _onAddAttribute(doc,el,newAttr){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value - } -} -function _onRemoveAttribute(doc,el,newAttr,remove){ - doc && doc._inc++; - var ns = newAttr.namespaceURI ; - if(ns == 'http://www.w3.org/2000/xmlns/'){ - //update namespace - delete el._nsMap[newAttr.prefix?newAttr.localName:''] - } -} -function _onUpdateChild(doc,el,newChild){ - if(doc && doc._inc){ - doc._inc++; - //update childNodes - var cs = el.childNodes; - if(newChild){ - cs[cs.length++] = newChild; - }else{ - //console.log(1) - var child = el.firstChild; - var i = 0; - while(child){ - cs[i++] = child; - child =child.nextSibling; - } - cs.length = i; - } - } -} - -/** - * attributes; - * children; - * - * writeable properties: - * nodeValue,Attr:value,CharacterData:data - * prefix - */ -function _removeChild(parentNode,child){ - var previous = child.previousSibling; - var next = child.nextSibling; - if(previous){ - previous.nextSibling = next; - }else{ - parentNode.firstChild = next - } - if(next){ - next.previousSibling = previous; - }else{ - parentNode.lastChild = previous; - } - _onUpdateChild(parentNode.ownerDocument,parentNode); - return child; -} -/** - * preformance key(refChild == null) - */ -function _insertBefore(parentNode,newChild,nextChild){ - var cp = newChild.parentNode; - if(cp){ - cp.removeChild(newChild);//remove and update - } - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - var newFirst = newChild.firstChild; - if (newFirst == null) { - return newChild; - } - var newLast = newChild.lastChild; - }else{ - newFirst = newLast = newChild; - } - var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild; - - newFirst.previousSibling = pre; - newLast.nextSibling = nextChild; - - - if(pre){ - pre.nextSibling = newFirst; - }else{ - parentNode.firstChild = newFirst; - } - if(nextChild == null){ - parentNode.lastChild = newLast; - }else{ - nextChild.previousSibling = newLast; - } - do{ - newFirst.parentNode = parentNode; - }while(newFirst !== newLast && (newFirst= newFirst.nextSibling)) - _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode); - //console.log(parentNode.lastChild.nextSibling == null) - if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { - newChild.firstChild = newChild.lastChild = null; - } - return newChild; -} -function _appendSingleChild(parentNode,newChild){ - var cp = newChild.parentNode; - if(cp){ - var pre = parentNode.lastChild; - cp.removeChild(newChild);//remove and update - var pre = parentNode.lastChild; - } - var pre = parentNode.lastChild; - newChild.parentNode = parentNode; - newChild.previousSibling = pre; - newChild.nextSibling = null; - if(pre){ - pre.nextSibling = newChild; - }else{ - parentNode.firstChild = newChild; - } - parentNode.lastChild = newChild; - _onUpdateChild(parentNode.ownerDocument,parentNode,newChild); - return newChild; - //console.log("__aa",parentNode.lastChild.nextSibling == null) -} -Document.prototype = { - //implementation : null, - nodeName : '#document', - nodeType : DOCUMENT_NODE, - doctype : null, - documentElement : null, - _inc : 1, - - insertBefore : function(newChild, refChild){//raises - if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){ - var child = newChild.firstChild; - while(child){ - var next = child.nextSibling; - this.insertBefore(child,refChild); - child = next; - } - return newChild; - } - if(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){ - this.documentElement = newChild; - } - - return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild; - }, - removeChild : function(oldChild){ - if(this.documentElement == oldChild){ - this.documentElement = null; - } - return _removeChild(this,oldChild); - }, - // Introduced in DOM Level 2: - importNode : function(importedNode,deep){ - return importNode(this,importedNode,deep); - }, - // Introduced in DOM Level 2: - getElementById : function(id){ - var rtv = null; - _visitNode(this.documentElement,function(node){ - if(node.nodeType == ELEMENT_NODE){ - if(node.getAttribute('id') == id){ - rtv = node; - return true; - } - } - }) - return rtv; - }, - - //document factory method: - createElement : function(tagName){ - var node = new Element(); - node.ownerDocument = this; - node.nodeName = tagName; - node.tagName = tagName; - node.childNodes = new NodeList(); - var attrs = node.attributes = new NamedNodeMap(); - attrs._ownerElement = node; - return node; - }, - createDocumentFragment : function(){ - var node = new DocumentFragment(); - node.ownerDocument = this; - node.childNodes = new NodeList(); - return node; - }, - createTextNode : function(data){ - var node = new Text(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createComment : function(data){ - var node = new Comment(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createCDATASection : function(data){ - var node = new CDATASection(); - node.ownerDocument = this; - node.appendData(data) - return node; - }, - createProcessingInstruction : function(target,data){ - var node = new ProcessingInstruction(); - node.ownerDocument = this; - node.tagName = node.target = target; - node.nodeValue= node.data = data; - return node; - }, - createAttribute : function(name){ - var node = new Attr(); - node.ownerDocument = this; - node.name = name; - node.nodeName = name; - node.localName = name; - node.specified = true; - return node; - }, - createEntityReference : function(name){ - var node = new EntityReference(); - node.ownerDocument = this; - node.nodeName = name; - return node; - }, - // Introduced in DOM Level 2: - createElementNS : function(namespaceURI,qualifiedName){ - var node = new Element(); - var pl = qualifiedName.split(':'); - var attrs = node.attributes = new NamedNodeMap(); - node.childNodes = new NodeList(); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.tagName = qualifiedName; - node.namespaceURI = namespaceURI; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - attrs._ownerElement = node; - return node; - }, - // Introduced in DOM Level 2: - createAttributeNS : function(namespaceURI,qualifiedName){ - var node = new Attr(); - var pl = qualifiedName.split(':'); - node.ownerDocument = this; - node.nodeName = qualifiedName; - node.name = qualifiedName; - node.namespaceURI = namespaceURI; - node.specified = true; - if(pl.length == 2){ - node.prefix = pl[0]; - node.localName = pl[1]; - }else{ - //el.prefix = null; - node.localName = qualifiedName; - } - return node; - } -}; -_extends(Document,Node); - - -function Element() { - this._nsMap = {}; -}; -Element.prototype = { - nodeType : ELEMENT_NODE, - hasAttribute : function(name){ - return this.getAttributeNode(name)!=null; - }, - getAttribute : function(name){ - var attr = this.getAttributeNode(name); - return attr && attr.value || ''; - }, - getAttributeNode : function(name){ - return this.attributes.getNamedItem(name); - }, - setAttribute : function(name, value){ - var attr = this.ownerDocument.createAttribute(name); - attr.value = attr.nodeValue = "" + value; - this.setAttributeNode(attr) - }, - removeAttribute : function(name){ - var attr = this.getAttributeNode(name) - attr && this.removeAttributeNode(attr); - }, - - //four real opeartion method - appendChild:function(newChild){ - if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){ - return this.insertBefore(newChild,null); - }else{ - return _appendSingleChild(this,newChild); - } - }, - setAttributeNode : function(newAttr){ - return this.attributes.setNamedItem(newAttr); - }, - setAttributeNodeNS : function(newAttr){ - return this.attributes.setNamedItemNS(newAttr); - }, - removeAttributeNode : function(oldAttr){ - //console.log(this == oldAttr.ownerElement) - return this.attributes.removeNamedItem(oldAttr.nodeName); - }, - //get real attribute name,and remove it by removeAttributeNode - removeAttributeNS : function(namespaceURI, localName){ - var old = this.getAttributeNodeNS(namespaceURI, localName); - old && this.removeAttributeNode(old); - }, - - hasAttributeNS : function(namespaceURI, localName){ - return this.getAttributeNodeNS(namespaceURI, localName)!=null; - }, - getAttributeNS : function(namespaceURI, localName){ - var attr = this.getAttributeNodeNS(namespaceURI, localName); - return attr && attr.value || ''; - }, - setAttributeNS : function(namespaceURI, qualifiedName, value){ - var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); - attr.value = attr.nodeValue = "" + value; - this.setAttributeNode(attr) - }, - getAttributeNodeNS : function(namespaceURI, localName){ - return this.attributes.getNamedItemNS(namespaceURI, localName); - }, - - getElementsByTagName : function(tagName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){ - ls.push(node); - } - }); - return ls; - }); - }, - getElementsByTagNameNS : function(namespaceURI, localName){ - return new LiveNodeList(this,function(base){ - var ls = []; - _visitNode(base,function(node){ - if(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){ - ls.push(node); - } - }); - return ls; - - }); - } -}; -Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName; -Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS; - - -_extends(Element,Node); -function Attr() { -}; -Attr.prototype.nodeType = ATTRIBUTE_NODE; -_extends(Attr,Node); - - -function CharacterData() { -}; -CharacterData.prototype = { - data : '', - substringData : function(offset, count) { - return this.data.substring(offset, offset+count); - }, - appendData: function(text) { - text = this.data+text; - this.nodeValue = this.data = text; - this.length = text.length; - }, - insertData: function(offset,text) { - this.replaceData(offset,0,text); - - }, - appendChild:function(newChild){ - throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]) - }, - deleteData: function(offset, count) { - this.replaceData(offset,count,""); - }, - replaceData: function(offset, count, text) { - var start = this.data.substring(0,offset); - var end = this.data.substring(offset+count); - text = start + text + end; - this.nodeValue = this.data = text; - this.length = text.length; - } -} -_extends(CharacterData,Node); -function Text() { -}; -Text.prototype = { - nodeName : "#text", - nodeType : TEXT_NODE, - splitText : function(offset) { - var text = this.data; - var newText = text.substring(offset); - text = text.substring(0, offset); - this.data = this.nodeValue = text; - this.length = text.length; - var newNode = this.ownerDocument.createTextNode(newText); - if(this.parentNode){ - this.parentNode.insertBefore(newNode, this.nextSibling); - } - return newNode; - } -} -_extends(Text,CharacterData); -function Comment() { -}; -Comment.prototype = { - nodeName : "#comment", - nodeType : COMMENT_NODE -} -_extends(Comment,CharacterData); - -function CDATASection() { -}; -CDATASection.prototype = { - nodeName : "#cdata-section", - nodeType : CDATA_SECTION_NODE -} -_extends(CDATASection,CharacterData); - - -function DocumentType() { -}; -DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE; -_extends(DocumentType,Node); - -function Notation() { -}; -Notation.prototype.nodeType = NOTATION_NODE; -_extends(Notation,Node); - -function Entity() { -}; -Entity.prototype.nodeType = ENTITY_NODE; -_extends(Entity,Node); - -function EntityReference() { -}; -EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE; -_extends(EntityReference,Node); - -function DocumentFragment() { -}; -DocumentFragment.prototype.nodeName = "#document-fragment"; -DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE; -_extends(DocumentFragment,Node); - - -function ProcessingInstruction() { -} -ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; -_extends(ProcessingInstruction,Node); -function XMLSerializer(){} -XMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){ - return nodeSerializeToString.call(node,isHtml,nodeFilter); -} -Node.prototype.toString = nodeSerializeToString; -function nodeSerializeToString(isHtml,nodeFilter){ - var buf = []; - var refNode = this.nodeType == 9 && this.documentElement || this; - var prefix = refNode.prefix; - var uri = refNode.namespaceURI; - - if(uri && prefix == null){ - //console.log(prefix) - var prefix = refNode.lookupPrefix(uri); - if(prefix == null){ - //isHTML = true; - var visibleNamespaces=[ - {namespace:uri,prefix:null} - //{namespace:uri,prefix:''} - ] - } - } - serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces); - //console.log('###',this.nodeType,uri,prefix,buf.join('')) - return buf.join(''); -} -function needNamespaceDefine(node,isHTML, visibleNamespaces) { - var prefix = node.prefix||''; - var uri = node.namespaceURI; - if (!prefix && !uri){ - return false; - } - if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace" - || uri == 'http://www.w3.org/2000/xmlns/'){ - return false; - } - - var i = visibleNamespaces.length - //console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces) - while (i--) { - var ns = visibleNamespaces[i]; - // get namespace prefix - //console.log(node.nodeType,node.tagName,ns.prefix,prefix) - if (ns.prefix == prefix){ - return ns.namespace != uri; - } - } - //console.log(isHTML,uri,prefix=='') - //if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){ - // return false; - //} - //node.flag = '11111' - //console.error(3,true,node.flag,node.prefix,node.namespaceURI) - return true; -} -function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){ - if(nodeFilter){ - node = nodeFilter(node); - if(node){ - if(typeof node == 'string'){ - buf.push(node); - return; - } - }else{ - return; - } - //buf.sort.apply(attrs, attributeSorter); - } - switch(node.nodeType){ - case ELEMENT_NODE: - if (!visibleNamespaces) visibleNamespaces = []; - var startVisibleNamespaces = visibleNamespaces.length; - var attrs = node.attributes; - var len = attrs.length; - var child = node.firstChild; - var nodeName = node.tagName; - - isHTML = (htmlns === node.namespaceURI) ||isHTML - buf.push('<',nodeName); - - - - for(var i=0;i'); - //if is cdata child node - if(isHTML && /^script$/i.test(nodeName)){ - while(child){ - if(child.data){ - buf.push(child.data); - }else{ - serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); - } - child = child.nextSibling; - } - }else - { - while(child){ - serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); - child = child.nextSibling; - } - } - buf.push(''); - }else{ - buf.push('/>'); - } - // remove added visible namespaces - //visibleNamespaces.length = startVisibleNamespaces; - return; - case DOCUMENT_NODE: - case DOCUMENT_FRAGMENT_NODE: - var child = node.firstChild; - while(child){ - serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces); - child = child.nextSibling; - } - return; - case ATTRIBUTE_NODE: - return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"'); - case TEXT_NODE: - return buf.push(node.data.replace(/[<&]/g,_xmlEncoder)); - case CDATA_SECTION_NODE: - return buf.push( ''); - case COMMENT_NODE: - return buf.push( ""); - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - }else if(sysid && sysid!='.'){ - buf.push(' SYSTEM "',sysid,'">'); - }else{ - var sub = node.internalSubset; - if(sub){ - buf.push(" [",sub,"]"); - } - buf.push(">"); - } - return; - case PROCESSING_INSTRUCTION_NODE: - return buf.push( ""); - case ENTITY_REFERENCE_NODE: - return buf.push( '&',node.nodeName,';'); - //case ENTITY_NODE: - //case NOTATION_NODE: - default: - buf.push('??',node.nodeName); - } -} -function importNode(doc,node,deep){ - var node2; - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - //var attrs = node2.attributes; - //var len = attrs.length; - //for(var i=0;i', - amp: '&', - quot: '"', - apos: "'", - Agrave: "À", - Aacute: "Á", - Acirc: "Â", - Atilde: "Ã", - Auml: "Ä", - Aring: "Å", - AElig: "Æ", - Ccedil: "Ç", - Egrave: "È", - Eacute: "É", - Ecirc: "Ê", - Euml: "Ë", - Igrave: "Ì", - Iacute: "Í", - Icirc: "Î", - Iuml: "Ï", - ETH: "Ð", - Ntilde: "Ñ", - Ograve: "Ò", - Oacute: "Ó", - Ocirc: "Ô", - Otilde: "Õ", - Ouml: "Ö", - Oslash: "Ø", - Ugrave: "Ù", - Uacute: "Ú", - Ucirc: "Û", - Uuml: "Ü", - Yacute: "Ý", - THORN: "Þ", - szlig: "ß", - agrave: "à", - aacute: "á", - acirc: "â", - atilde: "ã", - auml: "ä", - aring: "å", - aelig: "æ", - ccedil: "ç", - egrave: "è", - eacute: "é", - ecirc: "ê", - euml: "ë", - igrave: "ì", - iacute: "í", - icirc: "î", - iuml: "ï", - eth: "ð", - ntilde: "ñ", - ograve: "ò", - oacute: "ó", - ocirc: "ô", - otilde: "õ", - ouml: "ö", - oslash: "ø", - ugrave: "ù", - uacute: "ú", - ucirc: "û", - uuml: "ü", - yacute: "ý", - thorn: "þ", - yuml: "ÿ", - nbsp: " ", - iexcl: "¡", - cent: "¢", - pound: "£", - curren: "¤", - yen: "¥", - brvbar: "¦", - sect: "§", - uml: "¨", - copy: "©", - ordf: "ª", - laquo: "«", - not: "¬", - shy: "­­", - reg: "®", - macr: "¯", - deg: "°", - plusmn: "±", - sup2: "²", - sup3: "³", - acute: "´", - micro: "µ", - para: "¶", - middot: "·", - cedil: "¸", - sup1: "¹", - ordm: "º", - raquo: "»", - frac14: "¼", - frac12: "½", - frac34: "¾", - iquest: "¿", - times: "×", - divide: "÷", - forall: "∀", - part: "∂", - exist: "∃", - empty: "∅", - nabla: "∇", - isin: "∈", - notin: "∉", - ni: "∋", - prod: "∏", - sum: "∑", - minus: "−", - lowast: "∗", - radic: "√", - prop: "∝", - infin: "∞", - ang: "∠", - and: "∧", - or: "∨", - cap: "∩", - cup: "∪", - 'int': "∫", - there4: "∴", - sim: "∼", - cong: "≅", - asymp: "≈", - ne: "≠", - equiv: "≡", - le: "≤", - ge: "≥", - sub: "⊂", - sup: "⊃", - nsub: "⊄", - sube: "⊆", - supe: "⊇", - oplus: "⊕", - otimes: "⊗", - perp: "⊥", - sdot: "⋅", - Alpha: "Α", - Beta: "Β", - Gamma: "Γ", - Delta: "Δ", - Epsilon: "Ε", - Zeta: "Ζ", - Eta: "Η", - Theta: "Θ", - Iota: "Ι", - Kappa: "Κ", - Lambda: "Λ", - Mu: "Μ", - Nu: "Ν", - Xi: "Ξ", - Omicron: "Ο", - Pi: "Π", - Rho: "Ρ", - Sigma: "Σ", - Tau: "Τ", - Upsilon: "Υ", - Phi: "Φ", - Chi: "Χ", - Psi: "Ψ", - Omega: "Ω", - alpha: "α", - beta: "β", - gamma: "γ", - delta: "δ", - epsilon: "ε", - zeta: "ζ", - eta: "η", - theta: "θ", - iota: "ι", - kappa: "κ", - lambda: "λ", - mu: "μ", - nu: "ν", - xi: "ξ", - omicron: "ο", - pi: "π", - rho: "ρ", - sigmaf: "ς", - sigma: "σ", - tau: "τ", - upsilon: "υ", - phi: "φ", - chi: "χ", - psi: "ψ", - omega: "ω", - thetasym: "ϑ", - upsih: "ϒ", - piv: "ϖ", - OElig: "Œ", - oelig: "œ", - Scaron: "Š", - scaron: "š", - Yuml: "Ÿ", - fnof: "ƒ", - circ: "ˆ", - tilde: "˜", - ensp: " ", - emsp: " ", - thinsp: " ", - zwnj: "‌", - zwj: "‍", - lrm: "‎", - rlm: "‏", - ndash: "–", - mdash: "—", - lsquo: "‘", - rsquo: "’", - sbquo: "‚", - ldquo: "“", - rdquo: "”", - bdquo: "„", - dagger: "†", - Dagger: "‡", - bull: "•", - hellip: "…", - permil: "‰", - prime: "′", - Prime: "″", - lsaquo: "‹", - rsaquo: "›", - oline: "‾", - euro: "€", - trade: "™", - larr: "←", - uarr: "↑", - rarr: "→", - darr: "↓", - harr: "↔", - crarr: "↵", - lceil: "⌈", - rceil: "⌉", - lfloor: "⌊", - rfloor: "⌋", - loz: "◊", - spades: "♠", - clubs: "♣", - hearts: "♥", - diams: "♦" -}; -//for(var n in exports.entityMap){console.log(exports.entityMap[n].charCodeAt())} \ No newline at end of file diff --git a/platforms/minigame/common/xmldom/sax.js b/platforms/minigame/common/xmldom/sax.js deleted file mode 100644 index f8b494e097e..00000000000 --- a/platforms/minigame/common/xmldom/sax.js +++ /dev/null @@ -1,616 +0,0 @@ -//[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] -//[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] -//[5] Name ::= NameStartChar (NameChar)* -var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]///\u10000-\uEFFFF -var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); -var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$'); -//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ -//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') - -//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE -//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE -var S_TAG = 0;//tag name offerring -var S_ATTR = 1;//attr name offerring -var S_ATTR_SPACE=2;//attr name end and space offer -var S_EQ = 3;//=space? -var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only) -var S_ATTR_END = 5;//attr value end and no space(quot end) -var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer) -var S_TAG_CLOSE = 7;//closed el - -function XMLReader(){ - -} - -XMLReader.prototype = { - parse:function(source,defaultNSMap,entityMap){ - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - _copy(defaultNSMap ,defaultNSMap = {}) - parse(source,defaultNSMap,entityMap, - domBuilder,this.errorHandler); - domBuilder.endDocument(); - } -} -function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { - // String.prototype.fromCharCode does not supports - // > 2 bytes unicode chars directly - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10) - , surrogate2 = 0xdc00 + (code & 0x3ff); - - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - function entityReplacer(a){ - var k = a.slice(1,-1); - if(k in entityMap){ - return entityMap[k]; - }else if(k.charAt(0) === '#'){ - return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) - }else{ - errorHandler.error('entity not found:'+a); - return a; - } - } - function appendText(end){//has some bugs - if(end>start){ - var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); - locator&&position(start); - domBuilder.characters(xt,0,end-start); - start = end - } - } - function position(p,m){ - while(p>=lineEnd && (m = linePattern.exec(source))){ - lineStart = m.index; - lineEnd = lineStart + m[0].length; - locator.lineNumber++; - //console.log('line++:',locator,startPos,endPos) - } - locator.columnNumber = p-lineStart+1; - } - var lineStart = 0; - var lineEnd = 0; - var linePattern = /.*(?:\r\n?|\n)|.*$/g - var locator = domBuilder.locator; - - var parseStack = [{currentNSMap:defaultNSMapCopy}] - var closeMap = {}; - var start = 0; - while(true){ - try{ - var tagStart = source.indexOf('<',start); - if(tagStart<0){ - if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.doc; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - return; - } - if(tagStart>start){ - appendText(tagStart); - } - switch(source.charAt(tagStart+1)){ - case '/': - var end = source.indexOf('>',tagStart+3); - var tagName = source.substring(tagStart+2,end); - var config = parseStack.pop(); - if(end<0){ - - tagName = source.substring(tagStart+2).replace(/[\s<].*/,''); - //console.error('#@@@@@@'+tagName) - errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName); - end = tagStart+1+tagName.length; - }else if(tagName.match(/\s - locator&&position(tagStart); - end = parseInstruction(source,tagStart,domBuilder); - break; - case '!':// start){ - start = end; - }else{ - //TODO: 这里有可能sax回退,有位置错误风险 - appendText(Math.max(tagStart,start)+1); - } - } -} -function copyLocator(f,t){ - t.lineNumber = f.lineNumber; - t.columnNumber = f.columnNumber; - return t; -} - -/** - * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) - */ -function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){ - var attrName; - var value; - var p = ++start; - var s = S_TAG;//status - while(true){ - var c = source.charAt(p); - switch(c){ - case '=': - if(s === S_ATTR){//attrName - attrName = source.slice(start,p); - s = S_EQ; - }else if(s === S_ATTR_SPACE){ - s = S_EQ; - }else{ - //fatalError: equal must after attrName or space after attrName - throw new Error('attribute equal must after attrName'); - } - break; - case '\'': - case '"': - if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE - ){//equal - if(s === S_ATTR){ - errorHandler.warning('attribute value must after "="') - attrName = source.slice(start,p) - } - start = p+1; - p = source.indexOf(c,start) - if(p>0){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - el.add(attrName,value,start-1); - s = S_ATTR_END; - }else{ - //fatalError: no end quot match - throw new Error('attribute value no end \''+c+'\' match'); - } - }else if(s == S_ATTR_NOQUOT_VALUE){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - //console.log(attrName,value,start,p) - el.add(attrName,value,start); - //console.dir(el) - errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); - start = p+1; - s = S_ATTR_END - }else{ - //fatalError: no equal before - throw new Error('attribute value must after "="'); - } - break; - case '/': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - s =S_TAG_CLOSE; - el.closed = true; - case S_ATTR_NOQUOT_VALUE: - case S_ATTR: - case S_ATTR_SPACE: - break; - //case S_EQ: - default: - throw new Error("attribute invalid close char('/')") - } - break; - case ''://end document - //throw new Error('unexpected end of input') - errorHandler.error('unexpected end of input'); - if(s == S_TAG){ - el.setTagName(source.slice(start,p)); - } - return p; - case '>': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - break;//normal - case S_ATTR_NOQUOT_VALUE://Compatible state - case S_ATTR: - value = source.slice(start,p); - if(value.slice(-1) === '/'){ - el.closed = true; - value = value.slice(0,-1) - } - case S_ATTR_SPACE: - if(s === S_ATTR_SPACE){ - value = attrName; - } - if(s == S_ATTR_NOQUOT_VALUE){ - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start) - }else{ - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') - } - el.add(value,value,start) - } - break; - case S_EQ: - throw new Error('attribute value missed!!'); - } -// console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) - return p; - /*xml space '\x20' | #x9 | #xD | #xA; */ - case '\u0080': - c = ' '; - default: - if(c<= ' '){//space - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p));//tagName - s = S_TAG_SPACE; - break; - case S_ATTR: - attrName = source.slice(start,p) - s = S_ATTR_SPACE; - break; - case S_ATTR_NOQUOT_VALUE: - var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value,start) - case S_ATTR_END: - s = S_TAG_SPACE; - break; - //case S_TAG_SPACE: - //case S_EQ: - //case S_ATTR_SPACE: - // void();break; - //case S_TAG_CLOSE: - //ignore warning - } - }else{//not space -//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE -//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE - switch(s){ - //case S_TAG:void();break; - //case S_ATTR:void();break; - //case S_ATTR_NOQUOT_VALUE:void();break; - case S_ATTR_SPACE: - var tagName = el.tagName; - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!') - } - el.add(attrName,attrName,start); - start = p; - s = S_ATTR; - break; - case S_ATTR_END: - errorHandler.warning('attribute space is required"'+attrName+'"!!') - case S_TAG_SPACE: - s = S_ATTR; - start = p; - break; - case S_EQ: - s = S_ATTR_NOQUOT_VALUE; - start = p; - break; - case S_TAG_CLOSE: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - }//end outer switch - //console.log('p++',p) - p++; - } -} -/** - * @return true if has new namespace define - */ -function appendElement(el,domBuilder,currentNSMap){ - var tagName = el.tagName; - var localNSMap = null; - //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; - var i = el.length; - while(i--){ - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - if(nsp>0){ - var prefix = a.prefix = qName.slice(0,nsp); - var localName = qName.slice(nsp+1); - var nsPrefix = prefix === 'xmlns' && localName - }else{ - localName = qName; - prefix = null - nsPrefix = qName === 'xmlns' && '' - } - //can not set prefix,because prefix !== '' - a.localName = localName ; - //prefix == null for no ns prefix attribute - if(nsPrefix !== false){//hack!! - if(localNSMap == null){ - localNSMap = {} - //console.log(currentNSMap,0) - _copy(currentNSMap,currentNSMap={}) - //console.log(currentNSMap,1) - } - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/' - domBuilder.startPrefixMapping(nsPrefix, value) - } - } - var i = el.length; - while(i--){ - a = el[i]; - var prefix = a.prefix; - if(prefix){//no prefix attribute has no namespace - if(prefix === 'xml'){ - a.uri = 'http://www.w3.org/XML/1998/namespace'; - }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix || ''] - - //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} - } - } - } - var nsp = tagName.indexOf(':'); - if(nsp>0){ - prefix = el.prefix = tagName.slice(0,nsp); - localName = el.localName = tagName.slice(nsp+1); - }else{ - prefix = null;//important!! - localName = el.localName = tagName; - } - //no prefix element has default namespace - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns,localName,tagName,el); - //endPrefixMapping and startPrefixMapping have not any help for dom builder - //localNSMap = null - if(el.closed){ - domBuilder.endElement(ns,localName,tagName); - if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) - } - } - }else{ - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - //parseStack.push(el); - return true; - } -} -function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ - if(/^(?:script|textarea)$/i.test(tagName)){ - var elEndStart = source.indexOf('',elStartEnd); - var text = source.substring(elStartEnd+1,elEndStart); - if(/[&<]/.test(text)){ - if(/^script$/i.test(tagName)){ - //if(!/\]\]>/.test(text)){ - //lexHandler.startCDATA(); - domBuilder.characters(text,0,text.length); - //lexHandler.endCDATA(); - return elEndStart; - //} - }//}else{//text area - text = text.replace(/&#?\w+;/g,entityReplacer); - domBuilder.characters(text,0,text.length); - return elEndStart; - //} - - } - } - return elStartEnd+1; -} -function fixSelfClosed(source,elStartEnd,tagName,closeMap){ - //if(tagName in closeMap){ - var pos = closeMap[tagName]; - if(pos == null){ - //console.log(tagName) - pos = source.lastIndexOf('') - if(pos',start+4); - //append comment source.substring(4,end)//"); - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - }else if(sysid && sysid!='.'){ - buf.push(' SYSTEM "',sysid,'">'); - }else{ - var sub = node.internalSubset; - if(sub){ - buf.push(" [",sub,"]"); - } - buf.push(">"); - } - return; - case PROCESSING_INSTRUCTION_NODE: - return buf.push( ""); - case ENTITY_REFERENCE_NODE: - return buf.push( '&',node.nodeName,';'); - //case ENTITY_NODE: - //case NOTATION_NODE: - default: - buf.push('??',node.nodeName); - } -} -function importNode(doc,node,deep){ - var node2; - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - //var attrs = node2.attributes; - //var len = attrs.length; - //for(var i=0;i', - amp: '&', - quot: '"', - apos: "'", - Agrave: "À", - Aacute: "Á", - Acirc: "Â", - Atilde: "Ã", - Auml: "Ä", - Aring: "Å", - AElig: "Æ", - Ccedil: "Ç", - Egrave: "È", - Eacute: "É", - Ecirc: "Ê", - Euml: "Ë", - Igrave: "Ì", - Iacute: "Í", - Icirc: "Î", - Iuml: "Ï", - ETH: "Ð", - Ntilde: "Ñ", - Ograve: "Ò", - Oacute: "Ó", - Ocirc: "Ô", - Otilde: "Õ", - Ouml: "Ö", - Oslash: "Ø", - Ugrave: "Ù", - Uacute: "Ú", - Ucirc: "Û", - Uuml: "Ü", - Yacute: "Ý", - THORN: "Þ", - szlig: "ß", - agrave: "à", - aacute: "á", - acirc: "â", - atilde: "ã", - auml: "ä", - aring: "å", - aelig: "æ", - ccedil: "ç", - egrave: "è", - eacute: "é", - ecirc: "ê", - euml: "ë", - igrave: "ì", - iacute: "í", - icirc: "î", - iuml: "ï", - eth: "ð", - ntilde: "ñ", - ograve: "ò", - oacute: "ó", - ocirc: "ô", - otilde: "õ", - ouml: "ö", - oslash: "ø", - ugrave: "ù", - uacute: "ú", - ucirc: "û", - uuml: "ü", - yacute: "ý", - thorn: "þ", - yuml: "ÿ", - nbsp: " ", - iexcl: "¡", - cent: "¢", - pound: "£", - curren: "¤", - yen: "¥", - brvbar: "¦", - sect: "§", - uml: "¨", - copy: "©", - ordf: "ª", - laquo: "«", - not: "¬", - shy: "­­", - reg: "®", - macr: "¯", - deg: "°", - plusmn: "±", - sup2: "²", - sup3: "³", - acute: "´", - micro: "µ", - para: "¶", - middot: "·", - cedil: "¸", - sup1: "¹", - ordm: "º", - raquo: "»", - frac14: "¼", - frac12: "½", - frac34: "¾", - iquest: "¿", - times: "×", - divide: "÷", - forall: "∀", - part: "∂", - exist: "∃", - empty: "∅", - nabla: "∇", - isin: "∈", - notin: "∉", - ni: "∋", - prod: "∏", - sum: "∑", - minus: "−", - lowast: "∗", - radic: "√", - prop: "∝", - infin: "∞", - ang: "∠", - and: "∧", - or: "∨", - cap: "∩", - cup: "∪", - 'int': "∫", - there4: "∴", - sim: "∼", - cong: "≅", - asymp: "≈", - ne: "≠", - equiv: "≡", - le: "≤", - ge: "≥", - sub: "⊂", - sup: "⊃", - nsub: "⊄", - sube: "⊆", - supe: "⊇", - oplus: "⊕", - otimes: "⊗", - perp: "⊥", - sdot: "⋅", - Alpha: "Α", - Beta: "Β", - Gamma: "Γ", - Delta: "Δ", - Epsilon: "Ε", - Zeta: "Ζ", - Eta: "Η", - Theta: "Θ", - Iota: "Ι", - Kappa: "Κ", - Lambda: "Λ", - Mu: "Μ", - Nu: "Ν", - Xi: "Ξ", - Omicron: "Ο", - Pi: "Π", - Rho: "Ρ", - Sigma: "Σ", - Tau: "Τ", - Upsilon: "Υ", - Phi: "Φ", - Chi: "Χ", - Psi: "Ψ", - Omega: "Ω", - alpha: "α", - beta: "β", - gamma: "γ", - delta: "δ", - epsilon: "ε", - zeta: "ζ", - eta: "η", - theta: "θ", - iota: "ι", - kappa: "κ", - lambda: "λ", - mu: "μ", - nu: "ν", - xi: "ξ", - omicron: "ο", - pi: "π", - rho: "ρ", - sigmaf: "ς", - sigma: "σ", - tau: "τ", - upsilon: "υ", - phi: "φ", - chi: "χ", - psi: "ψ", - omega: "ω", - thetasym: "ϑ", - upsih: "ϒ", - piv: "ϖ", - OElig: "Œ", - oelig: "œ", - Scaron: "Š", - scaron: "š", - Yuml: "Ÿ", - fnof: "ƒ", - circ: "ˆ", - tilde: "˜", - ensp: " ", - emsp: " ", - thinsp: " ", - zwnj: "‌", - zwj: "‍", - lrm: "‎", - rlm: "‏", - ndash: "–", - mdash: "—", - lsquo: "‘", - rsquo: "’", - sbquo: "‚", - ldquo: "“", - rdquo: "”", - bdquo: "„", - dagger: "†", - Dagger: "‡", - bull: "•", - hellip: "…", - permil: "‰", - prime: "′", - Prime: "″", - lsaquo: "‹", - rsaquo: "›", - oline: "‾", - euro: "€", - trade: "™", - larr: "←", - uarr: "↑", - rarr: "→", - darr: "↓", - harr: "↔", - crarr: "↵", - lceil: "⌈", - rceil: "⌉", - lfloor: "⌊", - rfloor: "⌋", - loz: "◊", - spades: "♠", - clubs: "♣", - hearts: "♥", - diams: "♦" -}; -//for(var n in exports.entityMap){console.log(exports.entityMap[n].charCodeAt())} \ No newline at end of file diff --git a/platforms/native/builtin/xmldom/sax.js b/platforms/native/builtin/xmldom/sax.js deleted file mode 100644 index ee8118b7206..00000000000 --- a/platforms/native/builtin/xmldom/sax.js +++ /dev/null @@ -1,616 +0,0 @@ -//[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] -//[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] -//[5] Name ::= NameStartChar (NameChar)* -var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]///\u10000-\uEFFFF -var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); -var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$'); -//var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/ -//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',') - -//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE -//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE -var S_TAG = 0;//tag name offerring -var S_ATTR = 1;//attr name offerring -var S_ATTR_SPACE=2;//attr name end and space offer -var S_EQ = 3;//=space? -var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only) -var S_ATTR_END = 5;//attr value end and no space(quot end) -var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer) -var S_TAG_CLOSE = 7;//closed el - -function XMLReader(){ - -} - -XMLReader.prototype = { - parse:function(source,defaultNSMap,entityMap){ - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - _copy(defaultNSMap ,defaultNSMap = {}) - parse(source,defaultNSMap,entityMap, - domBuilder,this.errorHandler); - domBuilder.endDocument(); - } -} -function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){ - function fixedFromCharCode(code) { - // String.prototype.fromCharCode does not supports - // > 2 bytes unicode chars directly - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10) - , surrogate2 = 0xdc00 + (code & 0x3ff); - - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - function entityReplacer(a){ - var k = a.slice(1,-1); - if(k in entityMap){ - return entityMap[k]; - }else if(k.charAt(0) === '#'){ - return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x'))) - }else{ - errorHandler.error('entity not found:'+a); - return a; - } - } - function appendText(end){//has some bugs - if(end>start){ - var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer); - locator&&position(start); - domBuilder.characters(xt,0,end-start); - start = end - } - } - function position(p,m){ - while(p>=lineEnd && (m = linePattern.exec(source))){ - lineStart = m.index; - lineEnd = lineStart + m[0].length; - locator.lineNumber++; - //console.log('line++:',locator,startPos,endPos) - } - locator.columnNumber = p-lineStart+1; - } - var lineStart = 0; - var lineEnd = 0; - var linePattern = /.*(?:\r\n?|\n)|.*$/g - var locator = domBuilder.locator; - - var parseStack = [{currentNSMap:defaultNSMapCopy}] - var closeMap = {}; - var start = 0; - while(true){ - try{ - var tagStart = source.indexOf('<',start); - if(tagStart<0){ - if(!source.substr(start).match(/^\s*$/)){ - var doc = domBuilder.doc; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - return; - } - if(tagStart>start){ - appendText(tagStart); - } - switch(source.charAt(tagStart+1)){ - case '/': - var end = source.indexOf('>',tagStart+3); - var tagName = source.substring(tagStart+2,end); - var config = parseStack.pop(); - if(end<0){ - - tagName = source.substring(tagStart+2).replace(/[\s<].*/,''); - //console.error('#@@@@@@'+tagName) - errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName); - end = tagStart+1+tagName.length; - }else if(tagName.match(/\s - locator&&position(tagStart); - end = parseInstruction(source,tagStart,domBuilder); - break; - case '!':// start){ - start = end; - }else{ - //REFINE: 这里有可能sax回退,有位置错误风险 - appendText(Math.max(tagStart,start)+1); - } - } -} -function copyLocator(f,t){ - t.lineNumber = f.lineNumber; - t.columnNumber = f.columnNumber; - return t; -} - -/** - * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack); - * @return end of the elementStartPart(end of elementEndPart for selfClosed el) - */ -function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){ - var attrName; - var value; - var p = ++start; - var s = S_TAG;//status - while(true){ - var c = source.charAt(p); - switch(c){ - case '=': - if(s === S_ATTR){//attrName - attrName = source.slice(start,p); - s = S_EQ; - }else if(s === S_ATTR_SPACE){ - s = S_EQ; - }else{ - //fatalError: equal must after attrName or space after attrName - throw new Error('attribute equal must after attrName'); - } - break; - case '\'': - case '"': - if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE - ){//equal - if(s === S_ATTR){ - errorHandler.warning('attribute value must after "="') - attrName = source.slice(start,p) - } - start = p+1; - p = source.indexOf(c,start) - if(p>0){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - el.add(attrName,value,start-1); - s = S_ATTR_END; - }else{ - //fatalError: no end quot match - throw new Error('attribute value no end \''+c+'\' match'); - } - }else if(s == S_ATTR_NOQUOT_VALUE){ - value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - //console.log(attrName,value,start,p) - el.add(attrName,value,start); - //console.dir(el) - errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!'); - start = p+1; - s = S_ATTR_END - }else{ - //fatalError: no equal before - throw new Error('attribute value must after "="'); - } - break; - case '/': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - s =S_TAG_CLOSE; - el.closed = true; - case S_ATTR_NOQUOT_VALUE: - case S_ATTR: - case S_ATTR_SPACE: - break; - //case S_EQ: - default: - throw new Error("attribute invalid close char('/')") - } - break; - case ''://end document - //throw new Error('unexpected end of input') - errorHandler.error('unexpected end of input'); - if(s == S_TAG){ - el.setTagName(source.slice(start,p)); - } - return p; - case '>': - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p)); - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - break;//normal - case S_ATTR_NOQUOT_VALUE://Compatible state - case S_ATTR: - value = source.slice(start,p); - if(value.slice(-1) === '/'){ - el.closed = true; - value = value.slice(0,-1) - } - case S_ATTR_SPACE: - if(s === S_ATTR_SPACE){ - value = attrName; - } - if(s == S_ATTR_NOQUOT_VALUE){ - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start) - }else{ - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!') - } - el.add(value,value,start) - } - break; - case S_EQ: - throw new Error('attribute value missed!!'); - } -// console.log(tagName,tagNamePattern,tagNamePattern.test(tagName)) - return p; - /*xml space '\x20' | #x9 | #xD | #xA; */ - case '\u0080': - c = ' '; - default: - if(c<= ' '){//space - switch(s){ - case S_TAG: - el.setTagName(source.slice(start,p));//tagName - s = S_TAG_SPACE; - break; - case S_ATTR: - attrName = source.slice(start,p) - s = S_ATTR_SPACE; - break; - case S_ATTR_NOQUOT_VALUE: - var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer); - errorHandler.warning('attribute "'+value+'" missed quot(")!!'); - el.add(attrName,value,start) - case S_ATTR_END: - s = S_TAG_SPACE; - break; - //case S_TAG_SPACE: - //case S_EQ: - //case S_ATTR_SPACE: - // void();break; - //case S_TAG_CLOSE: - //ignore warning - } - }else{//not space -//S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE -//S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE - switch(s){ - //case S_TAG:void();break; - //case S_ATTR:void();break; - //case S_ATTR_NOQUOT_VALUE:void();break; - case S_ATTR_SPACE: - var tagName = el.tagName; - if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){ - errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!') - } - el.add(attrName,attrName,start); - start = p; - s = S_ATTR; - break; - case S_ATTR_END: - errorHandler.warning('attribute space is required"'+attrName+'"!!') - case S_TAG_SPACE: - s = S_ATTR; - start = p; - break; - case S_EQ: - s = S_ATTR_NOQUOT_VALUE; - start = p; - break; - case S_TAG_CLOSE: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - }//end outer switch - //console.log('p++',p) - p++; - } -} -/** - * @return true if has new namespace define - */ -function appendElement(el,domBuilder,currentNSMap){ - var tagName = el.tagName; - var localNSMap = null; - //var currentNSMap = parseStack[parseStack.length-1].currentNSMap; - var i = el.length; - while(i--){ - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - if(nsp>0){ - var prefix = a.prefix = qName.slice(0,nsp); - var localName = qName.slice(nsp+1); - var nsPrefix = prefix === 'xmlns' && localName - }else{ - localName = qName; - prefix = null - nsPrefix = qName === 'xmlns' && '' - } - //can not set prefix,because prefix !== '' - a.localName = localName ; - //prefix == null for no ns prefix attribute - if(nsPrefix !== false){//hack!! - if(localNSMap == null){ - localNSMap = {} - //console.log(currentNSMap,0) - _copy(currentNSMap,currentNSMap={}) - //console.log(currentNSMap,1) - } - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/' - domBuilder.startPrefixMapping(nsPrefix, value) - } - } - var i = el.length; - while(i--){ - a = el[i]; - var prefix = a.prefix; - if(prefix){//no prefix attribute has no namespace - if(prefix === 'xml'){ - a.uri = 'http://www.w3.org/XML/1998/namespace'; - }if(prefix !== 'xmlns'){ - a.uri = currentNSMap[prefix || ''] - - //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)} - } - } - } - var nsp = tagName.indexOf(':'); - if(nsp>0){ - prefix = el.prefix = tagName.slice(0,nsp); - localName = el.localName = tagName.slice(nsp+1); - }else{ - prefix = null;//important!! - localName = el.localName = tagName; - } - //no prefix element has default namespace - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns,localName,tagName,el); - //endPrefixMapping and startPrefixMapping have not any help for dom builder - //localNSMap = null - if(el.closed){ - domBuilder.endElement(ns,localName,tagName); - if(localNSMap){ - for(prefix in localNSMap){ - domBuilder.endPrefixMapping(prefix) - } - } - }else{ - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - //parseStack.push(el); - return true; - } -} -function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){ - if(/^(?:script|textarea)$/i.test(tagName)){ - var elEndStart = source.indexOf('',elStartEnd); - var text = source.substring(elStartEnd+1,elEndStart); - if(/[&<]/.test(text)){ - if(/^script$/i.test(tagName)){ - //if(!/\]\]>/.test(text)){ - //lexHandler.startCDATA(); - domBuilder.characters(text,0,text.length); - //lexHandler.endCDATA(); - return elEndStart; - //} - }//}else{//text area - text = text.replace(/&#?\w+;/g,entityReplacer); - domBuilder.characters(text,0,text.length); - return elEndStart; - //} - - } - } - return elStartEnd+1; -} -function fixSelfClosed(source,elStartEnd,tagName,closeMap){ - //if(tagName in closeMap){ - var pos = closeMap[tagName]; - if(pos == null){ - //console.log(tagName) - pos = source.lastIndexOf('') - if(pos',start+4); - //append comment source.substring(4,end)//"); - - case DOCUMENT_TYPE_NODE: - var pubid = node.publicId; - var sysid = node.systemId; - buf.push(''); - } else if (sysid && sysid != '.') { - buf.push(' SYSTEM "', sysid, '">'); - } else { - var sub = node.internalSubset; - - if (sub) { - buf.push(" [", sub, "]"); - } - - buf.push(">"); - } - - return; - - case PROCESSING_INSTRUCTION_NODE: - return buf.push(""); - - case ENTITY_REFERENCE_NODE: - return buf.push('&', node.nodeName, ';'); - - default: - buf.push('??', node.nodeName); - } -} - -function _importNode(doc, node, deep) { - var node2; - - switch (node.nodeType) { - case ELEMENT_NODE: - node2 = node.cloneNode(false); - node2.ownerDocument = doc; - - case DOCUMENT_FRAGMENT_NODE: - break; - - case ATTRIBUTE_NODE: - deep = true; - break; - } - - if (!node2) { - node2 = node.cloneNode(false); - } - - node2.ownerDocument = doc; - node2.parentNode = null; - - if (deep) { - var child = node.firstChild; - - while (child) { - node2.appendChild(_importNode(doc, child, deep)); - child = child.nextSibling; - } - } - - return node2; -} - -function _cloneNode(doc, node, deep) { - var node2 = new node.constructor(); - - for (var n in node) { - var v = node[n]; - - if (_typeof(v) != 'object') { - if (v != node2[n]) { - node2[n] = v; - } - } - } - - if (node.childNodes) { - node2.childNodes = new NodeList(); - } - - node2.ownerDocument = doc; - - switch (node2.nodeType) { - case ELEMENT_NODE: - var attrs = node.attributes; - var attrs2 = node2.attributes = new NamedNodeMap(); - var len = attrs.length; - attrs2._ownerElement = node2; - - for (var i = 0; i < len; i++) { - node2.setAttributeNode(_cloneNode(doc, attrs.item(i), true)); - } - - break; - ; - - case ATTRIBUTE_NODE: - deep = true; - } - - if (deep) { - var child = node.firstChild; - - while (child) { - node2.appendChild(_cloneNode(doc, child, deep)); - child = child.nextSibling; - } - } - - return node2; -} - -function __set__(object, key, value) { - object[key] = value; -} - -try { - if (Object.defineProperty) { - var getTextContent = function getTextContent(node) { - switch (node.nodeType) { - case ELEMENT_NODE: - case DOCUMENT_FRAGMENT_NODE: - var buf = []; - node = node.firstChild; - - while (node) { - if (node.nodeType !== 7 && node.nodeType !== 8) { - buf.push(getTextContent(node)); - } - - node = node.nextSibling; - } - - return buf.join(''); - - default: - return node.nodeValue; - } - }; - - Object.defineProperty(LiveNodeList.prototype, 'length', { - get: function get() { - _updateLiveList(this); - - return this.$$length; - } - }); - Object.defineProperty(Node.prototype, 'textContent', { - get: function get() { - return getTextContent(this); - }, - set: function set(data) { - switch (this.nodeType) { - case ELEMENT_NODE: - case DOCUMENT_FRAGMENT_NODE: - while (this.firstChild) { - this.removeChild(this.firstChild); - } - - if (data || String(data)) { - this.appendChild(this.ownerDocument.createTextNode(data)); - } - - break; - - default: - this.data = data; - this.value = data; - this.nodeValue = data; - } - } - }); - - __set__ = function __set__(object, key, value) { - object['$$' + key] = value; - }; - } -} catch (e) {} - -exports.DOMImplementation = DOMImplementation; -exports.XMLSerializer = XMLSerializer; - -},{}],57:[function(require,module,exports){ -"use strict"; - -exports.entityMap = { - lt: '<', - gt: '>', - amp: '&', - quot: '"', - apos: "'", - Agrave: "À", - Aacute: "Á", - Acirc: "Â", - Atilde: "Ã", - Auml: "Ä", - Aring: "Å", - AElig: "Æ", - Ccedil: "Ç", - Egrave: "È", - Eacute: "É", - Ecirc: "Ê", - Euml: "Ë", - Igrave: "Ì", - Iacute: "Í", - Icirc: "Î", - Iuml: "Ï", - ETH: "Ð", - Ntilde: "Ñ", - Ograve: "Ò", - Oacute: "Ó", - Ocirc: "Ô", - Otilde: "Õ", - Ouml: "Ö", - Oslash: "Ø", - Ugrave: "Ù", - Uacute: "Ú", - Ucirc: "Û", - Uuml: "Ü", - Yacute: "Ý", - THORN: "Þ", - szlig: "ß", - agrave: "à", - aacute: "á", - acirc: "â", - atilde: "ã", - auml: "ä", - aring: "å", - aelig: "æ", - ccedil: "ç", - egrave: "è", - eacute: "é", - ecirc: "ê", - euml: "ë", - igrave: "ì", - iacute: "í", - icirc: "î", - iuml: "ï", - eth: "ð", - ntilde: "ñ", - ograve: "ò", - oacute: "ó", - ocirc: "ô", - otilde: "õ", - ouml: "ö", - oslash: "ø", - ugrave: "ù", - uacute: "ú", - ucirc: "û", - uuml: "ü", - yacute: "ý", - thorn: "þ", - yuml: "ÿ", - nbsp: " ", - iexcl: "¡", - cent: "¢", - pound: "£", - curren: "¤", - yen: "¥", - brvbar: "¦", - sect: "§", - uml: "¨", - copy: "©", - ordf: "ª", - laquo: "«", - not: "¬", - shy: "­­", - reg: "®", - macr: "¯", - deg: "°", - plusmn: "±", - sup2: "²", - sup3: "³", - acute: "´", - micro: "µ", - para: "¶", - middot: "·", - cedil: "¸", - sup1: "¹", - ordm: "º", - raquo: "»", - frac14: "¼", - frac12: "½", - frac34: "¾", - iquest: "¿", - times: "×", - divide: "÷", - forall: "∀", - part: "∂", - exist: "∃", - empty: "∅", - nabla: "∇", - isin: "∈", - notin: "∉", - ni: "∋", - prod: "∏", - sum: "∑", - minus: "−", - lowast: "∗", - radic: "√", - prop: "∝", - infin: "∞", - ang: "∠", - and: "∧", - or: "∨", - cap: "∩", - cup: "∪", - 'int': "∫", - there4: "∴", - sim: "∼", - cong: "≅", - asymp: "≈", - ne: "≠", - equiv: "≡", - le: "≤", - ge: "≥", - sub: "⊂", - sup: "⊃", - nsub: "⊄", - sube: "⊆", - supe: "⊇", - oplus: "⊕", - otimes: "⊗", - perp: "⊥", - sdot: "⋅", - Alpha: "Α", - Beta: "Β", - Gamma: "Γ", - Delta: "Δ", - Epsilon: "Ε", - Zeta: "Ζ", - Eta: "Η", - Theta: "Θ", - Iota: "Ι", - Kappa: "Κ", - Lambda: "Λ", - Mu: "Μ", - Nu: "Ν", - Xi: "Ξ", - Omicron: "Ο", - Pi: "Π", - Rho: "Ρ", - Sigma: "Σ", - Tau: "Τ", - Upsilon: "Υ", - Phi: "Φ", - Chi: "Χ", - Psi: "Ψ", - Omega: "Ω", - alpha: "α", - beta: "β", - gamma: "γ", - delta: "δ", - epsilon: "ε", - zeta: "ζ", - eta: "η", - theta: "θ", - iota: "ι", - kappa: "κ", - lambda: "λ", - mu: "μ", - nu: "ν", - xi: "ξ", - omicron: "ο", - pi: "π", - rho: "ρ", - sigmaf: "ς", - sigma: "σ", - tau: "τ", - upsilon: "υ", - phi: "φ", - chi: "χ", - psi: "ψ", - omega: "ω", - thetasym: "ϑ", - upsih: "ϒ", - piv: "ϖ", - OElig: "Œ", - oelig: "œ", - Scaron: "Š", - scaron: "š", - Yuml: "Ÿ", - fnof: "ƒ", - circ: "ˆ", - tilde: "˜", - ensp: " ", - emsp: " ", - thinsp: " ", - zwnj: "‌", - zwj: "‍", - lrm: "‎", - rlm: "‏", - ndash: "–", - mdash: "—", - lsquo: "‘", - rsquo: "’", - sbquo: "‚", - ldquo: "“", - rdquo: "”", - bdquo: "„", - dagger: "†", - Dagger: "‡", - bull: "•", - hellip: "…", - permil: "‰", - prime: "′", - Prime: "″", - lsaquo: "‹", - rsaquo: "›", - oline: "‾", - euro: "€", - trade: "™", - larr: "←", - uarr: "↑", - rarr: "→", - darr: "↓", - harr: "↔", - crarr: "↵", - lceil: "⌈", - rceil: "⌉", - lfloor: "⌊", - rfloor: "⌋", - loz: "◊", - spades: "♠", - clubs: "♣", - hearts: "♥", - diams: "♦" -}; - -},{}],58:[function(require,module,exports){ -"use strict"; - -var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; -var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); -var tagNamePattern = new RegExp('^' + nameStartChar.source + nameChar.source + '*(?:\:' + nameStartChar.source + nameChar.source + '*)?$'); -var S_TAG = 0; -var S_ATTR = 1; -var S_ATTR_SPACE = 2; -var S_EQ = 3; -var S_ATTR_NOQUOT_VALUE = 4; -var S_ATTR_END = 5; -var S_TAG_SPACE = 6; -var S_TAG_CLOSE = 7; - -function XMLReader() {} - -XMLReader.prototype = { - parse: function parse(source, defaultNSMap, entityMap) { - var domBuilder = this.domBuilder; - domBuilder.startDocument(); - - _copy(defaultNSMap, defaultNSMap = {}); - - _parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler); - - domBuilder.endDocument(); - } -}; - -function _parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) { - function fixedFromCharCode(code) { - if (code > 0xffff) { - code -= 0x10000; - var surrogate1 = 0xd800 + (code >> 10), - surrogate2 = 0xdc00 + (code & 0x3ff); - return String.fromCharCode(surrogate1, surrogate2); - } else { - return String.fromCharCode(code); - } - } - - function entityReplacer(a) { - var k = a.slice(1, -1); - - if (k in entityMap) { - return entityMap[k]; - } else if (k.charAt(0) === '#') { - return fixedFromCharCode(parseInt(k.substr(1).replace('x', '0x'))); - } else { - errorHandler.error('entity not found:' + a); - return a; - } - } - - function appendText(end) { - if (end > start) { - var xt = source.substring(start, end).replace(/&#?\w+;/g, entityReplacer); - locator && position(start); - domBuilder.characters(xt, 0, end - start); - start = end; - } - } - - function position(p, m) { - while (p >= lineEnd && (m = linePattern.exec(source))) { - lineStart = m.index; - lineEnd = lineStart + m[0].length; - locator.lineNumber++; - } - - locator.columnNumber = p - lineStart + 1; - } - - var lineStart = 0; - var lineEnd = 0; - var linePattern = /.*(?:\r\n?|\n)|.*$/g; - var locator = domBuilder.locator; - var parseStack = [{ - currentNSMap: defaultNSMapCopy - }]; - var closeMap = {}; - var start = 0; - - while (true) { - try { - var tagStart = source.indexOf('<', start); - - if (tagStart < 0) { - if (!source.substr(start).match(/^\s*$/)) { - var doc = domBuilder.doc; - var text = doc.createTextNode(source.substr(start)); - doc.appendChild(text); - domBuilder.currentElement = text; - } - - return; - } - - if (tagStart > start) { - appendText(tagStart); - } - - switch (source.charAt(tagStart + 1)) { - case '/': - var end = source.indexOf('>', tagStart + 3); - var tagName = source.substring(tagStart + 2, end); - var config = parseStack.pop(); - - if (end < 0) { - tagName = source.substring(tagStart + 2).replace(/[\s<].*/, ''); - errorHandler.error("end tag name: " + tagName + ' is not complete:' + config.tagName); - end = tagStart + 1 + tagName.length; - } else if (tagName.match(/\s start) { - start = end; - } else { - appendText(Math.max(tagStart, start) + 1); - } - } -} - -function copyLocator(f, t) { - t.lineNumber = f.lineNumber; - t.columnNumber = f.columnNumber; - return t; -} - -function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) { - var attrName; - var value; - var p = ++start; - var s = S_TAG; - - while (true) { - var c = source.charAt(p); - - switch (c) { - case '=': - if (s === S_ATTR) { - attrName = source.slice(start, p); - s = S_EQ; - } else if (s === S_ATTR_SPACE) { - s = S_EQ; - } else { - throw new Error('attribute equal must after attrName'); - } - - break; - - case '\'': - case '"': - if (s === S_EQ || s === S_ATTR) { - if (s === S_ATTR) { - errorHandler.warning('attribute value must after "="'); - attrName = source.slice(start, p); - } - - start = p + 1; - p = source.indexOf(c, start); - - if (p > 0) { - value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); - el.add(attrName, value, start - 1); - s = S_ATTR_END; - } else { - throw new Error('attribute value no end \'' + c + '\' match'); - } - } else if (s == S_ATTR_NOQUOT_VALUE) { - value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); - el.add(attrName, value, start); - errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ')!!'); - start = p + 1; - s = S_ATTR_END; - } else { - throw new Error('attribute value must after "="'); - } - - break; - - case '/': - switch (s) { - case S_TAG: - el.setTagName(source.slice(start, p)); - - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - s = S_TAG_CLOSE; - el.closed = true; - - case S_ATTR_NOQUOT_VALUE: - case S_ATTR: - case S_ATTR_SPACE: - break; - - default: - throw new Error("attribute invalid close char('/')"); - } - - break; - - case '': - errorHandler.error('unexpected end of input'); - - if (s == S_TAG) { - el.setTagName(source.slice(start, p)); - } - - return p; - - case '>': - switch (s) { - case S_TAG: - el.setTagName(source.slice(start, p)); - - case S_ATTR_END: - case S_TAG_SPACE: - case S_TAG_CLOSE: - break; - - case S_ATTR_NOQUOT_VALUE: - case S_ATTR: - value = source.slice(start, p); - - if (value.slice(-1) === '/') { - el.closed = true; - value = value.slice(0, -1); - } - - case S_ATTR_SPACE: - if (s === S_ATTR_SPACE) { - value = attrName; - } - - if (s == S_ATTR_NOQUOT_VALUE) { - errorHandler.warning('attribute "' + value + '" missed quot(")!!'); - el.add(attrName, value.replace(/&#?\w+;/g, entityReplacer), start); - } else { - if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)) { - errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!'); - } - - el.add(value, value, start); - } - - break; - - case S_EQ: - throw new Error('attribute value missed!!'); - } - - return p; - - case "\x80": - c = ' '; - - default: - if (c <= ' ') { - switch (s) { - case S_TAG: - el.setTagName(source.slice(start, p)); - s = S_TAG_SPACE; - break; - - case S_ATTR: - attrName = source.slice(start, p); - s = S_ATTR_SPACE; - break; - - case S_ATTR_NOQUOT_VALUE: - var value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer); - errorHandler.warning('attribute "' + value + '" missed quot(")!!'); - el.add(attrName, value, start); - - case S_ATTR_END: - s = S_TAG_SPACE; - break; - } - } else { - switch (s) { - case S_ATTR_SPACE: - var tagName = el.tagName; - - if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)) { - errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!'); - } - - el.add(attrName, attrName, start); - start = p; - s = S_ATTR; - break; - - case S_ATTR_END: - errorHandler.warning('attribute space is required"' + attrName + '"!!'); - - case S_TAG_SPACE: - s = S_ATTR; - start = p; - break; - - case S_EQ: - s = S_ATTR_NOQUOT_VALUE; - start = p; - break; - - case S_TAG_CLOSE: - throw new Error("elements closed character '/' and '>' must be connected to"); - } - } - - } - - p++; - } -} - -function appendElement(el, domBuilder, currentNSMap) { - var tagName = el.tagName; - var localNSMap = null; - var i = el.length; - - while (i--) { - var a = el[i]; - var qName = a.qName; - var value = a.value; - var nsp = qName.indexOf(':'); - - if (nsp > 0) { - var prefix = a.prefix = qName.slice(0, nsp); - var localName = qName.slice(nsp + 1); - var nsPrefix = prefix === 'xmlns' && localName; - } else { - localName = qName; - prefix = null; - nsPrefix = qName === 'xmlns' && ''; - } - - a.localName = localName; - - if (nsPrefix !== false) { - if (localNSMap == null) { - localNSMap = {}; - - _copy(currentNSMap, currentNSMap = {}); - } - - currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; - a.uri = 'http://www.w3.org/2000/xmlns/'; - domBuilder.startPrefixMapping(nsPrefix, value); - } - } - - var i = el.length; - - while (i--) { - a = el[i]; - var prefix = a.prefix; - - if (prefix) { - if (prefix === 'xml') { - a.uri = 'http://www.w3.org/XML/1998/namespace'; - } - - if (prefix !== 'xmlns') { - a.uri = currentNSMap[prefix || '']; - } - } - } - - var nsp = tagName.indexOf(':'); - - if (nsp > 0) { - prefix = el.prefix = tagName.slice(0, nsp); - localName = el.localName = tagName.slice(nsp + 1); - } else { - prefix = null; - localName = el.localName = tagName; - } - - var ns = el.uri = currentNSMap[prefix || '']; - domBuilder.startElement(ns, localName, tagName, el); - - if (el.closed) { - domBuilder.endElement(ns, localName, tagName); - - if (localNSMap) { - for (prefix in localNSMap) { - domBuilder.endPrefixMapping(prefix); - } - } - } else { - el.currentNSMap = currentNSMap; - el.localNSMap = localNSMap; - return true; - } -} - -function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) { - if (/^(?:script|textarea)$/i.test(tagName)) { - var elEndStart = source.indexOf('', elStartEnd); - var text = source.substring(elStartEnd + 1, elEndStart); - - if (/[&<]/.test(text)) { - if (/^script$/i.test(tagName)) { - domBuilder.characters(text, 0, text.length); - return elEndStart; - } - - text = text.replace(/&#?\w+;/g, entityReplacer); - domBuilder.characters(text, 0, text.length); - return elEndStart; - } - } - - return elStartEnd + 1; -} - -function fixSelfClosed(source, elStartEnd, tagName, closeMap) { - var pos = closeMap[tagName]; - - if (pos == null) { - pos = source.lastIndexOf(''); - - if (pos < elStartEnd) { - pos = source.lastIndexOf('', start + 4); - - if (end > start) { - domBuilder.comment(source, start + 4, end - start - 4); - return end + 3; - } else { - errorHandler.error("Unclosed comment"); - return -1; - } - } else { - return -1; - } - - default: - if (source.substr(start + 3, 6) == 'CDATA[') { - var end = source.indexOf(']]>', start + 9); - domBuilder.startCDATA(); - domBuilder.characters(source, start + 9, end - start - 9); - domBuilder.endCDATA(); - return end + 3; - } - - var matchs = split(source, start); - var len = matchs.length; - - if (len > 1 && /!doctype/i.test(matchs[0][0])) { - var name = matchs[1][0]; - var pubid = len > 3 && /^public$/i.test(matchs[2][0]) && matchs[3][0]; - var sysid = len > 4 && matchs[4][0]; - var lastMatch = matchs[len - 1]; - domBuilder.startDTD(name, pubid && pubid.replace(/^(['"])(.*?)\1$/, '$2'), sysid && sysid.replace(/^(['"])(.*?)\1$/, '$2')); - domBuilder.endDTD(); - return lastMatch.index + lastMatch[0].length; - } - - } - - return -1; -} - -function parseInstruction(source, start, domBuilder) { - var end = source.indexOf('?>', start); - - if (end) { - var match = source.substring(start, end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/); - - if (match) { - var len = match[0].length; - domBuilder.processingInstruction(match[1], match[2]); - return end + 2; - } else { - return -1; - } - } - - return -1; -} - -function ElementAttributes(source) {} - -ElementAttributes.prototype = { - setTagName: function setTagName(tagName) { - if (!tagNamePattern.test(tagName)) { - throw new Error('invalid tagName:' + tagName); - } - - this.tagName = tagName; - }, - add: function add(qName, value, offset) { - if (!tagNamePattern.test(qName)) { - throw new Error('invalid attribute:' + qName); - } - - this[this.length++] = { - qName: qName, - value: value, - offset: offset - }; - }, - length: 0, - getLocalName: function getLocalName(i) { - return this[i].localName; - }, - getLocator: function getLocator(i) { - return this[i].locator; - }, - getQName: function getQName(i) { - return this[i].qName; - }, - getURI: function getURI(i) { - return this[i].uri; - }, - getValue: function getValue(i) { - return this[i].value; - } -}; - -function split(source, start) { - var match; - var buf = []; - var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g; - reg.lastIndex = start; - reg.exec(source); - - while (match = reg.exec(source)) { - buf.push(match); - if (match[1]) return buf; - } -} - -exports.XMLReader = XMLReader; - -},{}]},{},[54]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJ3ZWItYWRhcHRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpKHsxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG4hZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBlKGUpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBlO1xuICB9XG5cbiAgdmFyIHQgPSBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBleHBvcnRzID8gZXhwb3J0cyA6IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIHNlbGYgPyBzZWxmIDogJC5nbG9iYWwsXG4gICAgICByID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVwiO1xuICBlLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpLCBlLnByb3RvdHlwZS5uYW1lID0gXCJJbnZhbGlkQ2hhcmFjdGVyRXJyb3JcIiwgdC5idG9hIHx8ICh0LmJ0b2EgPSBmdW5jdGlvbiAodCkge1xuICAgIGZvciAodmFyIG8sIG4sIGEgPSBTdHJpbmcodCksIGkgPSAwLCBmID0gciwgYyA9IFwiXCI7IGEuY2hhckF0KDAgfCBpKSB8fCAoZiA9IFwiPVwiLCBpICUgMSk7IGMgKz0gZi5jaGFyQXQoNjMgJiBvID4+IDggLSBpICUgMSAqIDgpKSB7XG4gICAgICBpZiAobiA9IGEuY2hhckNvZGVBdChpICs9IC43NSksIG4gPiAyNTUpIHRocm93IG5ldyBlKFwiJ2J0b2EnIGZhaWxlZDogVGhlIHN0cmluZyB0byBiZSBlbmNvZGVkIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3V0c2lkZSBvZiB0aGUgTGF0aW4xIHJhbmdlLlwiKTtcbiAgICAgIG8gPSBvIDw8IDggfCBuO1xuICAgIH1cblxuICAgIHJldHVybiBjO1xuICB9KSwgdC5hdG9iIHx8ICh0LmF0b2IgPSBmdW5jdGlvbiAodCkge1xuICAgIHZhciBvID0gU3RyaW5nKHQpLnJlcGxhY2UoL1s9XSskLywgXCJcIik7XG4gICAgaWYgKG8ubGVuZ3RoICUgNCA9PSAxKSB0aHJvdyBuZXcgZShcIidhdG9iJyBmYWlsZWQ6IFRoZSBzdHJpbmcgdG8gYmUgZGVjb2RlZCBpcyBub3QgY29ycmVjdGx5IGVuY29kZWQuXCIpO1xuXG4gICAgZm9yICh2YXIgbiwgYSwgaSA9IDAsIGYgPSAwLCBjID0gXCJcIjsgYSA9IG8uY2hhckF0KGYrKyk7IH5hICYmIChuID0gaSAlIDQgPyA2NCAqIG4gKyBhIDogYSwgaSsrICUgNCkgPyBjICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoMjU1ICYgbiA+PiAoLTIgKiBpICYgNikpIDogMCkge1xuICAgICAgYSA9IHIuaW5kZXhPZihhKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYztcbiAgfSk7XG59KCk7XG5cbn0se31dLDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuIWZ1bmN0aW9uIChuKSB7XG4gIFwidXNlIHN0cmljdFwiO1xuXG4gIGZ1bmN0aW9uIHQobiwgdCkge1xuICAgIHZhciByID0gKDY1NTM1ICYgbikgKyAoNjU1MzUgJiB0KTtcbiAgICByZXR1cm4gKG4gPj4gMTYpICsgKHQgPj4gMTYpICsgKHIgPj4gMTYpIDw8IDE2IHwgNjU1MzUgJiByO1xuICB9XG5cbiAgZnVuY3Rpb24gcihuLCB0KSB7XG4gICAgcmV0dXJuIG4gPDwgdCB8IG4gPj4+IDMyIC0gdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGUobiwgZSwgbywgdSwgYywgZikge1xuICAgIHJldHVybiB0KHIodCh0KGUsIG4pLCB0KHUsIGYpKSwgYyksIG8pO1xuICB9XG5cbiAgZnVuY3Rpb24gbyhuLCB0LCByLCBvLCB1LCBjLCBmKSB7XG4gICAgcmV0dXJuIGUodCAmIHIgfCB+dCAmIG8sIG4sIHQsIHUsIGMsIGYpO1xuICB9XG5cbiAgZnVuY3Rpb24gdShuLCB0LCByLCBvLCB1LCBjLCBmKSB7XG4gICAgcmV0dXJuIGUodCAmIG8gfCByICYgfm8sIG4sIHQsIHUsIGMsIGYpO1xuICB9XG5cbiAgZnVuY3Rpb24gYyhuLCB0LCByLCBvLCB1LCBjLCBmKSB7XG4gICAgcmV0dXJuIGUodCBeIHIgXiBvLCBuLCB0LCB1LCBjLCBmKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGYobiwgdCwgciwgbywgdSwgYywgZikge1xuICAgIHJldHVybiBlKHIgXiAodCB8IH5vKSwgbiwgdCwgdSwgYywgZik7XG4gIH1cblxuICBmdW5jdGlvbiBpKG4sIHIpIHtcbiAgICBuW3IgPj4gNV0gfD0gMTI4IDw8IHIgJSAzMiwgblsxNCArIChyICsgNjQgPj4+IDkgPDwgNCldID0gcjtcbiAgICB2YXIgZSxcbiAgICAgICAgaSxcbiAgICAgICAgYSxcbiAgICAgICAgZCxcbiAgICAgICAgaCxcbiAgICAgICAgbCA9IDE3MzI1ODQxOTMsXG4gICAgICAgIGcgPSAtMjcxNzMzODc5LFxuICAgICAgICB2ID0gLTE3MzI1ODQxOTQsXG4gICAgICAgIG0gPSAyNzE3MzM4Nzg7XG5cbiAgICBmb3IgKGUgPSAwOyBlIDwgbi5sZW5ndGg7IGUgKz0gMTYpIHtcbiAgICAgIGkgPSBsLCBhID0gZywgZCA9IHYsIGggPSBtLCBnID0gZihnID0gZihnID0gZihnID0gZihnID0gYyhnID0gYyhnID0gYyhnID0gYyhnID0gdShnID0gdShnID0gdShnID0gdShnID0gbyhnID0gbyhnID0gbyhnID0gbyhnLCB2ID0gbyh2LCBtID0gbyhtLCBsID0gbyhsLCBnLCB2LCBtLCBuW2VdLCA3LCAtNjgwODc2OTM2KSwgZywgdiwgbltlICsgMV0sIDEyLCAtMzg5NTY0NTg2KSwgbCwgZywgbltlICsgMl0sIDE3LCA2MDYxMDU4MTkpLCBtLCBsLCBuW2UgKyAzXSwgMjIsIC0xMDQ0NTI1MzMwKSwgdiA9IG8odiwgbSA9IG8obSwgbCA9IG8obCwgZywgdiwgbSwgbltlICsgNF0sIDcsIC0xNzY0MTg4OTcpLCBnLCB2LCBuW2UgKyA1XSwgMTIsIDEyMDAwODA0MjYpLCBsLCBnLCBuW2UgKyA2XSwgMTcsIC0xNDczMjMxMzQxKSwgbSwgbCwgbltlICsgN10sIDIyLCAtNDU3MDU5ODMpLCB2ID0gbyh2LCBtID0gbyhtLCBsID0gbyhsLCBnLCB2LCBtLCBuW2UgKyA4XSwgNywgMTc3MDAzNTQxNiksIGcsIHYsIG5bZSArIDldLCAxMiwgLTE5NTg0MTQ0MTcpLCBsLCBnLCBuW2UgKyAxMF0sIDE3LCAtNDIwNjMpLCBtLCBsLCBuW2UgKyAxMV0sIDIyLCAtMTk5MDQwNDE2MiksIHYgPSBvKHYsIG0gPSBvKG0sIGwgPSBvKGwsIGcsIHYsIG0sIG5bZSArIDEyXSwgNywgMTgwNDYwMzY4MiksIGcsIHYsIG5bZSArIDEzXSwgMTIsIC00MDM0MTEwMSksIGwsIGcsIG5bZSArIDE0XSwgMTcsIC0xNTAyMDAyMjkwKSwgbSwgbCwgbltlICsgMTVdLCAyMiwgMTIzNjUzNTMyOSksIHYgPSB1KHYsIG0gPSB1KG0sIGwgPSB1KGwsIGcsIHYsIG0sIG5bZSArIDFdLCA1LCAtMTY1Nzk2NTEwKSwgZywgdiwgbltlICsgNl0sIDksIC0xMDY5NTAxNjMyKSwgbCwgZywgbltlICsgMTFdLCAxNCwgNjQzNzE3NzEzKSwgbSwgbCwgbltlXSwgMjAsIC0zNzM4OTczMDIpLCB2ID0gdSh2LCBtID0gdShtLCBsID0gdShsLCBnLCB2LCBtLCBuW2UgKyA1XSwgNSwgLTcwMTU1ODY5MSksIGcsIHYsIG5bZSArIDEwXSwgOSwgMzgwMTYwODMpLCBsLCBnLCBuW2UgKyAxNV0sIDE0LCAtNjYwNDc4MzM1KSwgbSwgbCwgbltlICsgNF0sIDIwLCAtNDA1NTM3ODQ4KSwgdiA9IHUodiwgbSA9IHUobSwgbCA9IHUobCwgZywgdiwgbSwgbltlICsgOV0sIDUsIDU2ODQ0NjQzOCksIGcsIHYsIG5bZSArIDE0XSwgOSwgLTEwMTk4MDM2OTApLCBsLCBnLCBuW2UgKyAzXSwgMTQsIC0xODczNjM5NjEpLCBtLCBsLCBuW2UgKyA4XSwgMjAsIDExNjM1MzE1MDEpLCB2ID0gdSh2LCBtID0gdShtLCBsID0gdShsLCBnLCB2LCBtLCBuW2UgKyAxM10sIDUsIC0xNDQ0NjgxNDY3KSwgZywgdiwgbltlICsgMl0sIDksIC01MTQwMzc4NCksIGwsIGcsIG5bZSArIDddLCAxNCwgMTczNTMyODQ3MyksIG0sIGwsIG5bZSArIDEyXSwgMjAsIC0xOTI2NjA3NzM0KSwgdiA9IGModiwgbSA9IGMobSwgbCA9IGMobCwgZywgdiwgbSwgbltlICsgNV0sIDQsIC0zNzg1NTgpLCBnLCB2LCBuW2UgKyA4XSwgMTEsIC0yMDIyNTc0NDYzKSwgbCwgZywgbltlICsgMTFdLCAxNiwgMTgzOTAzMDU2MiksIG0sIGwsIG5bZSArIDE0XSwgMjMsIC0zNTMwOTU1NiksIHYgPSBjKHYsIG0gPSBjKG0sIGwgPSBjKGwsIGcsIHYsIG0sIG5bZSArIDFdLCA0LCAtMTUzMDk5MjA2MCksIGcsIHYsIG5bZSArIDRdLCAxMSwgMTI3Mjg5MzM1MyksIGwsIGcsIG5bZSArIDddLCAxNiwgLTE1NTQ5NzYzMiksIG0sIGwsIG5bZSArIDEwXSwgMjMsIC0xMDk0NzMwNjQwKSwgdiA9IGModiwgbSA9IGMobSwgbCA9IGMobCwgZywgdiwgbSwgbltlICsgMTNdLCA0LCA2ODEyNzkxNzQpLCBnLCB2LCBuW2VdLCAxMSwgLTM1ODUzNzIyMiksIGwsIGcsIG5bZSArIDNdLCAxNiwgLTcyMjUyMTk3OSksIG0sIGwsIG5bZSArIDZdLCAyMywgNzYwMjkxODkpLCB2ID0gYyh2LCBtID0gYyhtLCBsID0gYyhsLCBnLCB2LCBtLCBuW2UgKyA5XSwgNCwgLTY0MDM2NDQ4NyksIGcsIHYsIG5bZSArIDEyXSwgMTEsIC00MjE4MTU4MzUpLCBsLCBnLCBuW2UgKyAxNV0sIDE2LCA1MzA3NDI1MjApLCBtLCBsLCBuW2UgKyAyXSwgMjMsIC05OTUzMzg2NTEpLCB2ID0gZih2LCBtID0gZihtLCBsID0gZihsLCBnLCB2LCBtLCBuW2VdLCA2LCAtMTk4NjMwODQ0KSwgZywgdiwgbltlICsgN10sIDEwLCAxMTI2ODkxNDE1KSwgbCwgZywgbltlICsgMTRdLCAxNSwgLTE0MTYzNTQ5MDUpLCBtLCBsLCBuW2UgKyA1XSwgMjEsIC01NzQzNDA1NSksIHYgPSBmKHYsIG0gPSBmKG0sIGwgPSBmKGwsIGcsIHYsIG0sIG5bZSArIDEyXSwgNiwgMTcwMDQ4NTU3MSksIGcsIHYsIG5bZSArIDNdLCAxMCwgLTE4OTQ5ODY2MDYpLCBsLCBnLCBuW2UgKyAxMF0sIDE1LCAtMTA1MTUyMyksIG0sIGwsIG5bZSArIDFdLCAyMSwgLTIwNTQ5MjI3OTkpLCB2ID0gZih2LCBtID0gZihtLCBsID0gZihsLCBnLCB2LCBtLCBuW2UgKyA4XSwgNiwgMTg3MzMxMzM1OSksIGcsIHYsIG5bZSArIDE1XSwgMTAsIC0zMDYxMTc0NCksIGwsIGcsIG5bZSArIDZdLCAxNSwgLTE1NjAxOTgzODApLCBtLCBsLCBuW2UgKyAxM10sIDIxLCAxMzA5MTUxNjQ5KSwgdiA9IGYodiwgbSA9IGYobSwgbCA9IGYobCwgZywgdiwgbSwgbltlICsgNF0sIDYsIC0xNDU1MjMwNzApLCBnLCB2LCBuW2UgKyAxMV0sIDEwLCAtMTEyMDIxMDM3OSksIGwsIGcsIG5bZSArIDJdLCAxNSwgNzE4Nzg3MjU5KSwgbSwgbCwgbltlICsgOV0sIDIxLCAtMzQzNDg1NTUxKSwgbCA9IHQobCwgaSksIGcgPSB0KGcsIGEpLCB2ID0gdCh2LCBkKSwgbSA9IHQobSwgaCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtsLCBnLCB2LCBtXTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGEobikge1xuICAgIHZhciB0LFxuICAgICAgICByID0gXCJcIixcbiAgICAgICAgZSA9IDMyICogbi5sZW5ndGg7XG5cbiAgICBmb3IgKHQgPSAwOyB0IDwgZTsgdCArPSA4KSB7XG4gICAgICByICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoblt0ID4+IDVdID4+PiB0ICUgMzIgJiAyNTUpO1xuICAgIH1cblxuICAgIHJldHVybiByO1xuICB9XG5cbiAgZnVuY3Rpb24gZChuKSB7XG4gICAgdmFyIHQsXG4gICAgICAgIHIgPSBbXTtcblxuICAgIGZvciAoclsobi5sZW5ndGggPj4gMikgLSAxXSA9IHZvaWQgMCwgdCA9IDA7IHQgPCByLmxlbmd0aDsgdCArPSAxKSB7XG4gICAgICByW3RdID0gMDtcbiAgICB9XG5cbiAgICB2YXIgZSA9IDggKiBuLmxlbmd0aDtcblxuICAgIGZvciAodCA9IDA7IHQgPCBlOyB0ICs9IDgpIHtcbiAgICAgIHJbdCA+PiA1XSB8PSAoMjU1ICYgbi5jaGFyQ29kZUF0KHQgLyA4KSkgPDwgdCAlIDMyO1xuICAgIH1cblxuICAgIHJldHVybiByO1xuICB9XG5cbiAgZnVuY3Rpb24gaChuKSB7XG4gICAgcmV0dXJuIGEoaShkKG4pLCA4ICogbi5sZW5ndGgpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGwobiwgdCkge1xuICAgIHZhciByLFxuICAgICAgICBlLFxuICAgICAgICBvID0gZChuKSxcbiAgICAgICAgdSA9IFtdLFxuICAgICAgICBjID0gW107XG5cbiAgICBmb3IgKHVbMTVdID0gY1sxNV0gPSB2b2lkIDAsIG8ubGVuZ3RoID4gMTYgJiYgKG8gPSBpKG8sIDggKiBuLmxlbmd0aCkpLCByID0gMDsgciA8IDE2OyByICs9IDEpIHtcbiAgICAgIHVbcl0gPSA5MDk1MjI0ODYgXiBvW3JdLCBjW3JdID0gMTU0OTU1NjgyOCBeIG9bcl07XG4gICAgfVxuXG4gICAgcmV0dXJuIGUgPSBpKHUuY29uY2F0KGQodCkpLCA1MTIgKyA4ICogdC5sZW5ndGgpLCBhKGkoYy5jb25jYXQoZSksIDY0MCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZyhuKSB7XG4gICAgdmFyIHQsXG4gICAgICAgIHIsXG4gICAgICAgIGUgPSBcIlwiO1xuXG4gICAgZm9yIChyID0gMDsgciA8IG4ubGVuZ3RoOyByICs9IDEpIHtcbiAgICAgIHQgPSBuLmNoYXJDb2RlQXQociksIGUgKz0gXCIwMTIzNDU2Nzg5YWJjZGVmXCIuY2hhckF0KHQgPj4+IDQgJiAxNSkgKyBcIjAxMjM0NTY3ODlhYmNkZWZcIi5jaGFyQXQoMTUgJiB0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHYobikge1xuICAgIHJldHVybiB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQobikpO1xuICB9XG5cbiAgZnVuY3Rpb24gbShuKSB7XG4gICAgcmV0dXJuIGgodihuKSk7XG4gIH1cblxuICBmdW5jdGlvbiBwKG4pIHtcbiAgICByZXR1cm4gZyhtKG4pKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHMobiwgdCkge1xuICAgIHJldHVybiBsKHYobiksIHYodCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gQyhuLCB0KSB7XG4gICAgcmV0dXJuIGcocyhuLCB0KSk7XG4gIH1cblxuICBmdW5jdGlvbiBBKG4sIHQsIHIpIHtcbiAgICByZXR1cm4gdCA/IHIgPyBzKHQsIG4pIDogQyh0LCBuKSA6IHIgPyBtKG4pIDogcChuKTtcbiAgfVxuXG4gIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZGVmaW5lICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBBO1xuICB9KSA6IFwib2JqZWN0XCIgPT0gKHR5cGVvZiBtb2R1bGUgPT09IFwidW5kZWZpbmVkXCIgPyBcInVuZGVmaW5lZFwiIDogX3R5cGVvZihtb2R1bGUpKSAmJiBtb2R1bGUuZXhwb3J0cyA/IG1vZHVsZS5leHBvcnRzID0gQSA6IG4ubWQ1ID0gQTtcbn0odm9pZCAwKTtcblxufSx7fV0sMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfSFRNTEF1ZGlvRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxBdWRpb0VsZW1lbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbnZhciBBdWRpbyA9IGZ1bmN0aW9uIChfSFRNTEF1ZGlvRWxlbWVudCkge1xuICBfaW5oZXJpdHMoQXVkaW8sIF9IVE1MQXVkaW9FbGVtZW50KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEF1ZGlvKTtcblxuICBmdW5jdGlvbiBBdWRpbyh1cmwpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQXVkaW8pO1xuXG4gICAgcmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsIHVybCk7XG4gIH1cblxuICByZXR1cm4gQXVkaW87XG59KF9IVE1MQXVkaW9FbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IEF1ZGlvO1xuXG59LHtcIi4vSFRNTEF1ZGlvRWxlbWVudFwiOjE0fV0sNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG4oZnVuY3Rpb24gKGdsb2JhbCl7KGZ1bmN0aW9uICgpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuKGZ1bmN0aW9uIChnbG9iYWwpIHtcbiAgKGZ1bmN0aW9uIChmYWN0b3J5KSB7XG4gICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kKSB7XG4gICAgICBkZWZpbmUoW1wiZXhwb3J0c1wiXSwgZmFjdG9yeSk7XG4gICAgfSBlbHNlIGlmICgodHlwZW9mIGV4cG9ydHMgPT09IFwidW5kZWZpbmVkXCIgPyBcInVuZGVmaW5lZFwiIDogX3R5cGVvZihleHBvcnRzKSkgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIGV4cG9ydHMubm9kZU5hbWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGZhY3RvcnkoZXhwb3J0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZhY3RvcnkoZ2xvYmFsKTtcbiAgICB9XG4gIH0pKGZ1bmN0aW9uIChleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBleHBvcnRzLlVSTCA9IGdsb2JhbC5VUkwgfHwgZ2xvYmFsLndlYmtpdFVSTDtcblxuICAgIGlmIChnbG9iYWwuQmxvYiAmJiBnbG9iYWwuVVJMKSB7XG4gICAgICB0cnkge1xuICAgICAgICBuZXcgQmxvYigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGNhdGNoIChlKSB7fVxuICAgIH1cblxuICAgIHZhciBCbG9iQnVpbGRlciA9IGdsb2JhbC5CbG9iQnVpbGRlciB8fCBnbG9iYWwuV2ViS2l0QmxvYkJ1aWxkZXIgfHwgZ2xvYmFsLk1vekJsb2JCdWlsZGVyIHx8IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBnZXRfY2xhc3MgPSBmdW5jdGlvbiBnZXRfY2xhc3Mob2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqZWN0KS5tYXRjaCgvXlxcW29iamVjdFxccyguKilcXF0kLylbMV07XG4gICAgICB9LFxuICAgICAgICAgIEZha2VCbG9iQnVpbGRlciA9IGZ1bmN0aW9uIEJsb2JCdWlsZGVyKCkge1xuICAgICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICAgIH0sXG4gICAgICAgICAgRmFrZUJsb2IgPSBmdW5jdGlvbiBCbG9iKGRhdGEsIHR5cGUsIGVuY29kaW5nKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMuc2l6ZSA9IGRhdGEubGVuZ3RoO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmVuY29kaW5nID0gZW5jb2Rpbmc7XG4gICAgICB9LFxuICAgICAgICAgIEZCQl9wcm90byA9IEZha2VCbG9iQnVpbGRlci5wcm90b3R5cGUsXG4gICAgICAgICAgRkJfcHJvdG8gPSBGYWtlQmxvYi5wcm90b3R5cGUsXG4gICAgICAgICAgRmlsZVJlYWRlclN5bmMgPSBnbG9iYWwuRmlsZVJlYWRlclN5bmMsXG4gICAgICAgICAgRmlsZUV4Y2VwdGlvbiA9IGZ1bmN0aW9uIEZpbGVFeGNlcHRpb24odHlwZSkge1xuICAgICAgICB0aGlzLmNvZGUgPSB0aGlzW3RoaXMubmFtZSA9IHR5cGVdO1xuICAgICAgfSxcbiAgICAgICAgICBmaWxlX2V4X2NvZGVzID0gKFwiTk9UX0ZPVU5EX0VSUiBTRUNVUklUWV9FUlIgQUJPUlRfRVJSIE5PVF9SRUFEQUJMRV9FUlIgRU5DT0RJTkdfRVJSIFwiICsgXCJOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIgSU5WQUxJRF9TVEFURV9FUlIgU1lOVEFYX0VSUlwiKS5zcGxpdChcIiBcIiksXG4gICAgICAgICAgZmlsZV9leF9jb2RlID0gZmlsZV9leF9jb2Rlcy5sZW5ndGgsXG4gICAgICAgICAgcmVhbF9VUkwgPSBnbG9iYWwuVVJMIHx8IGdsb2JhbC53ZWJraXRVUkwgfHwgZXhwb3J0cyxcbiAgICAgICAgICByZWFsX2NyZWF0ZV9vYmplY3RfVVJMID0gcmVhbF9VUkwuY3JlYXRlT2JqZWN0VVJMLFxuICAgICAgICAgIHJlYWxfcmV2b2tlX29iamVjdF9VUkwgPSByZWFsX1VSTC5yZXZva2VPYmplY3RVUkwsXG4gICAgICAgICAgVVJMID0gcmVhbF9VUkwsXG4gICAgICAgICAgYnRvYSA9IGdsb2JhbC5idG9hLFxuICAgICAgICAgIGF0b2IgPSBnbG9iYWwuYXRvYixcbiAgICAgICAgICBBcnJheUJ1ZmZlciA9IGdsb2JhbC5BcnJheUJ1ZmZlcixcbiAgICAgICAgICBVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXksXG4gICAgICAgICAgb3JpZ2luID0gL15bXFx3LV0rOlxcLypcXFs/W1xcd1xcLjotXStcXF0/KD86OlswLTldKyk/LztcblxuICAgICAgRmFrZUJsb2IuZmFrZSA9IEZCX3Byb3RvLmZha2UgPSB0cnVlO1xuXG4gICAgICB3aGlsZSAoZmlsZV9leF9jb2RlLS0pIHtcbiAgICAgICAgRmlsZUV4Y2VwdGlvbi5wcm90b3R5cGVbZmlsZV9leF9jb2Rlc1tmaWxlX2V4X2NvZGVdXSA9IGZpbGVfZXhfY29kZSArIDE7XG4gICAgICB9XG5cbiAgICAgIGlmICghcmVhbF9VUkwuY3JlYXRlT2JqZWN0VVJMKSB7XG4gICAgICAgIFVSTCA9IGV4cG9ydHMuVVJMID0gZnVuY3Rpb24gKHVyaSkge1xuICAgICAgICAgIHZhciB1cmlfaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiwgXCJhXCIpLFxuICAgICAgICAgICAgICB1cmlfb3JpZ2luO1xuICAgICAgICAgIHVyaV9pbmZvLmhyZWYgPSB1cmk7XG5cbiAgICAgICAgICBpZiAoIShcIm9yaWdpblwiIGluIHVyaV9pbmZvKSkge1xuICAgICAgICAgICAgaWYgKHVyaV9pbmZvLnByb3RvY29sLnRvTG93ZXJDYXNlKCkgPT09IFwiZGF0YTpcIikge1xuICAgICAgICAgICAgICB1cmlfaW5mby5vcmlnaW4gPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdXJpX29yaWdpbiA9IHVyaS5tYXRjaChvcmlnaW4pO1xuICAgICAgICAgICAgICB1cmlfaW5mby5vcmlnaW4gPSB1cmlfb3JpZ2luICYmIHVyaV9vcmlnaW5bMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVyaV9pbmZvO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBVUkwuY3JlYXRlT2JqZWN0VVJMID0gZnVuY3Rpb24gKGJsb2IpIHtcbiAgICAgICAgdmFyIHR5cGUgPSBibG9iLnR5cGUsXG4gICAgICAgICAgICBkYXRhX1VSSV9oZWFkZXI7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgICB0eXBlID0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChibG9iIGluc3RhbmNlb2YgRmFrZUJsb2IpIHtcbiAgICAgICAgICBkYXRhX1VSSV9oZWFkZXIgPSBcImRhdGE6XCIgKyB0eXBlO1xuXG4gICAgICAgICAgaWYgKGJsb2IuZW5jb2RpbmcgPT09IFwiYmFzZTY0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhX1VSSV9oZWFkZXIgKyBcIjtiYXNlNjQsXCIgKyBibG9iLmRhdGE7XG4gICAgICAgICAgfSBlbHNlIGlmIChibG9iLmVuY29kaW5nID09PSBcIlVSSVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YV9VUklfaGVhZGVyICsgXCIsXCIgKyBkZWNvZGVVUklDb21wb25lbnQoYmxvYi5kYXRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYnRvYSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGFfVVJJX2hlYWRlciArIFwiO2Jhc2U2NCxcIiArIGJ0b2EoYmxvYi5kYXRhKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGFfVVJJX2hlYWRlciArIFwiLFwiICsgZW5jb2RlVVJJQ29tcG9uZW50KGJsb2IuZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHJlYWxfY3JlYXRlX29iamVjdF9VUkwpIHtcbiAgICAgICAgICByZXR1cm4gcmVhbF9jcmVhdGVfb2JqZWN0X1VSTC5jYWxsKHJlYWxfVVJMLCBibG9iKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTCA9IGZ1bmN0aW9uIChvYmplY3RfVVJMKSB7XG4gICAgICAgIGlmIChvYmplY3RfVVJMLnN1YnN0cmluZygwLCA1KSAhPT0gXCJkYXRhOlwiICYmIHJlYWxfcmV2b2tlX29iamVjdF9VUkwpIHtcbiAgICAgICAgICByZWFsX3Jldm9rZV9vYmplY3RfVVJMLmNhbGwocmVhbF9VUkwsIG9iamVjdF9VUkwpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBGQkJfcHJvdG8uYXBwZW5kID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdmFyIGJiID0gdGhpcy5kYXRhO1xuXG4gICAgICAgIGlmIChVaW50OEFycmF5ICYmIChkYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgfHwgZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7XG4gICAgICAgICAgdmFyIHN0ciA9IFwiXCIsXG4gICAgICAgICAgICAgIGJ1ZiA9IG5ldyBVaW50OEFycmF5KGRhdGEpLFxuICAgICAgICAgICAgICBpID0gMCxcbiAgICAgICAgICAgICAgYnVmX2xlbiA9IGJ1Zi5sZW5ndGg7XG5cbiAgICAgICAgICBmb3IgKDsgaSA8IGJ1Zl9sZW47IGkrKykge1xuICAgICAgICAgICAgc3RyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBiYi5wdXNoKHN0cik7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2V0X2NsYXNzKGRhdGEpID09PSBcIkJsb2JcIiB8fCBnZXRfY2xhc3MoZGF0YSkgPT09IFwiRmlsZVwiKSB7XG4gICAgICAgICAgaWYgKEZpbGVSZWFkZXJTeW5jKSB7XG4gICAgICAgICAgICB2YXIgZnIgPSBuZXcgRmlsZVJlYWRlclN5bmMoKTtcbiAgICAgICAgICAgIGJiLnB1c2goZnIucmVhZEFzQmluYXJ5U3RyaW5nKGRhdGEpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEZpbGVFeGNlcHRpb24oXCJOT1RfUkVBREFCTEVfRVJSXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChkYXRhIGluc3RhbmNlb2YgRmFrZUJsb2IpIHtcbiAgICAgICAgICBpZiAoZGF0YS5lbmNvZGluZyA9PT0gXCJiYXNlNjRcIiAmJiBhdG9iKSB7XG4gICAgICAgICAgICBiYi5wdXNoKGF0b2IoZGF0YS5kYXRhKSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmVuY29kaW5nID09PSBcIlVSSVwiKSB7XG4gICAgICAgICAgICBiYi5wdXNoKGRlY29kZVVSSUNvbXBvbmVudChkYXRhLmRhdGEpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZW5jb2RpbmcgPT09IFwicmF3XCIpIHtcbiAgICAgICAgICAgIGJiLnB1c2goZGF0YS5kYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBkYXRhICs9IFwiXCI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYmIucHVzaCh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZGF0YSkpKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgRkJCX3Byb3RvLmdldEJsb2IgPSBmdW5jdGlvbiAodHlwZSkge1xuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICB0eXBlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgRmFrZUJsb2IodGhpcy5kYXRhLmpvaW4oXCJcIiksIHR5cGUsIFwicmF3XCIpO1xuICAgICAgfTtcblxuICAgICAgRkJCX3Byb3RvLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gXCJbb2JqZWN0IEJsb2JCdWlsZGVyXVwiO1xuICAgICAgfTtcblxuICAgICAgRkJfcHJvdG8uc2xpY2UgPSBmdW5jdGlvbiAoc3RhcnQsIGVuZCwgdHlwZSkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cbiAgICAgICAgaWYgKGFyZ3MgPCAzKSB7XG4gICAgICAgICAgdHlwZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IEZha2VCbG9iKHRoaXMuZGF0YS5zbGljZShzdGFydCwgYXJncyA+IDEgPyBlbmQgOiB0aGlzLmRhdGEubGVuZ3RoKSwgdHlwZSwgdGhpcy5lbmNvZGluZyk7XG4gICAgICB9O1xuXG4gICAgICBGQl9wcm90by50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFwiW29iamVjdCBCbG9iXVwiO1xuICAgICAgfTtcblxuICAgICAgRkJfcHJvdG8uY2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGE7XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gRmFrZUJsb2JCdWlsZGVyO1xuICAgIH0oKTtcblxuICAgIGV4cG9ydHMuQmxvYiA9IGZ1bmN0aW9uIChibG9iUGFydHMsIG9wdGlvbnMpIHtcbiAgICAgIHZhciB0eXBlID0gb3B0aW9ucyA/IG9wdGlvbnMudHlwZSB8fCBcIlwiIDogXCJcIjtcbiAgICAgIHZhciBidWlsZGVyID0gbmV3IEJsb2JCdWlsZGVyKCk7XG5cbiAgICAgIGlmIChibG9iUGFydHMpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGJsb2JQYXJ0cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgIGlmIChVaW50OEFycmF5ICYmIGJsb2JQYXJ0c1tpXSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGJsb2JQYXJ0c1tpXS5idWZmZXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBidWlsZGVyLmFwcGVuZChibG9iUGFydHNbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgYmxvYiA9IGJ1aWxkZXIuZ2V0QmxvYih0eXBlKTtcblxuICAgICAgaWYgKCFibG9iLnNsaWNlICYmIGJsb2Iud2Via2l0U2xpY2UpIHtcbiAgICAgICAgYmxvYi5zbGljZSA9IGJsb2Iud2Via2l0U2xpY2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBibG9iO1xuICAgIH07XG5cbiAgICB2YXIgZ2V0UHJvdG90eXBlT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdC5fX3Byb3RvX187XG4gICAgfTtcblxuICAgIGV4cG9ydHMuQmxvYi5wcm90b3R5cGUgPSBnZXRQcm90b3R5cGVPZihuZXcgZXhwb3J0cy5CbG9iKCkpO1xuICB9KTtcbn0pKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiICYmIHNlbGYgfHwgdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cgfHwgdHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwgfHwgKHZvaWQgMCkuY29udGVudCB8fCB2b2lkIDApO1xuXG59KS5jYWxsKHRoaXMpfSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiA/IHNlbGYgOiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gd2luZG93IDoge30pXG59LHt9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxudmFyIERPTVRva2VuTGlzdCA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gRE9NVG9rZW5MaXN0KCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBET01Ub2tlbkxpc3QpO1xuXG4gICAgdGhpcy5sZW5ndGggPSAwO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKERPTVRva2VuTGlzdCwgW3tcbiAgICBrZXk6IFwiYWRkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFkZCgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkRPTVRva2VuTGlzdCBhZGQgaXNuJ3QgaW1wbGVtZW50ZWQhXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb250YWluc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb250YWlucygpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkRPTVRva2VuTGlzdCBjb250YWlucyBpc24ndCBpbXBsZW1lbnRlZCFcIik7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImVudHJpZXNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZW50cmllcygpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkRPTVRva2VuTGlzdCBlbnRyaWVzIGlzbid0IGltcGxlbWVudGVkIVwiKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZm9yRWFjaFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmb3JFYWNoKCkge1xuICAgICAgY29uc29sZS53YXJuKFwiRE9NVG9rZW5MaXN0IGZvckVhY2ggaXNuJ3QgaW1wbGVtZW50ZWQhXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpdGVtXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGl0ZW0oKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJET01Ub2tlbkxpc3QgaXRlbSBpc24ndCBpbXBsZW1lbnRlZCFcIik7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImtleXNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24ga2V5cygpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkRPTVRva2VuTGlzdCBrZXlzIGlzbid0IGltcGxlbWVudGVkIVwiKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVtb3ZlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbW92ZSgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkRPTVRva2VuTGlzdCByZW1vdmUgaXNuJ3QgaW1wbGVtZW50ZWQhXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZXBsYWNlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlcGxhY2UoKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJET01Ub2tlbkxpc3QgcmVwbGFjZSBpc24ndCBpbXBsZW1lbnRlZCFcIik7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInN1cHBvcnRzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHN1cHBvcnRzKCkge1xuICAgICAgY29uc29sZS53YXJuKFwiRE9NVG9rZW5MaXN0IHN1cHBvcnRzIGlzbid0IGltcGxlbWVudGVkIVwiKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwidG9nZ2xlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHRvZ2dsZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwidmFsdWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUoKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJET01Ub2tlbkxpc3QgdmFsdWUgaXNuJ3QgaW1wbGVtZW50ZWQhXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJ2YWx1ZXNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWVzKCkge1xuICAgICAgY29uc29sZS53YXJuKFwiRE9NVG9rZW5MaXN0IHZhbHVlcyBpc24ndCBpbXBsZW1lbnRlZCFcIik7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIERPTVRva2VuTGlzdDtcbn0oKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBET01Ub2tlbkxpc3Q7XG5cbn0se31dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0V2ZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRXZlbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIERldmljZU1vdGlvbkV2ZW50ID0gZnVuY3Rpb24gKF9FdmVudCkge1xuICBfaW5oZXJpdHMoRGV2aWNlTW90aW9uRXZlbnQsIF9FdmVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihEZXZpY2VNb3Rpb25FdmVudCk7XG5cbiAgZnVuY3Rpb24gRGV2aWNlTW90aW9uRXZlbnQoaW5pdEFyZ3MpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRGV2aWNlTW90aW9uRXZlbnQpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCAnZGV2aWNlbW90aW9uJyk7XG5cbiAgICBpZiAoaW5pdEFyZ3MpIHtcbiAgICAgIF90aGlzLl9hY2NlbGVyYXRpb24gPSBpbml0QXJncy5hY2NlbGVyYXRpb24gPyBpbml0QXJncy5hY2NlbGVyYXRpb24gOiB7XG4gICAgICAgIHg6IDAsXG4gICAgICAgIHk6IDAsXG4gICAgICAgIHo6IDBcbiAgICAgIH07XG4gICAgICBfdGhpcy5fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSA9IGluaXRBcmdzLmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkgPyBpbml0QXJncy5hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5IDoge1xuICAgICAgICB4OiAwLFxuICAgICAgICB5OiAwLFxuICAgICAgICB6OiAwXG4gICAgICB9O1xuICAgICAgX3RoaXMuX3JvdGF0aW9uUmF0ZSA9IGluaXRBcmdzLnJvdGF0aW9uUmF0ZSA/IGluaXRBcmdzLnJvdGF0aW9uUmF0ZSA6IHtcbiAgICAgICAgYWxwaGE6IDAsXG4gICAgICAgIGJldGE6IDAsXG4gICAgICAgIGdhbW1hOiAwXG4gICAgICB9O1xuICAgICAgX3RoaXMuX2ludGVydmFsID0gaW5pdEFyZ3MuaW50ZXJ2YWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIF90aGlzLl9hY2NlbGVyYXRpb24gPSB7XG4gICAgICAgIHg6IDAsXG4gICAgICAgIHk6IDAsXG4gICAgICAgIHo6IDBcbiAgICAgIH07XG4gICAgICBfdGhpcy5fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSA9IHtcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogMCxcbiAgICAgICAgejogMFxuICAgICAgfTtcbiAgICAgIF90aGlzLl9yb3RhdGlvblJhdGUgPSB7XG4gICAgICAgIGFscGhhOiAwLFxuICAgICAgICBiZXRhOiAwLFxuICAgICAgICBnYW1tYTogMFxuICAgICAgfTtcbiAgICAgIF90aGlzLl9pbnRlcnZhbCA9IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKERldmljZU1vdGlvbkV2ZW50LCBbe1xuICAgIGtleTogXCJhY2NlbGVyYXRpb25cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9hY2NlbGVyYXRpb247XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHlcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyb3RhdGlvblJhdGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yb3RhdGlvblJhdGU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImludGVydmFsXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW50ZXJ2YWw7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIERldmljZU1vdGlvbkV2ZW50O1xufShfRXZlbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gRGV2aWNlTW90aW9uRXZlbnQ7XG5cbn0se1wiLi9FdmVudFwiOjl9XSw3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpbyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vQXVkaW9cIikpO1xuXG52YXIgX0ZvbnRGYWNlU2V0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9Gb250RmFjZVNldFwiKSk7XG5cbnZhciBfTm9kZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL05vZGVcIikpO1xuXG52YXIgX05vZGVMaXN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9Ob2RlTGlzdFwiKSk7XG5cbnZhciBfSFRNTEFuY2hvckVsZW1lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxBbmNob3JFbGVtZW50XCIpKTtcblxudmFyIF9IVE1MRWxlbWVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vSFRNTEVsZW1lbnRcIikpO1xuXG52YXIgX0hUTUxIdG1sRWxlbWVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vSFRNTEh0bWxFbGVtZW50XCIpKTtcblxudmFyIF9IVE1MQm9keUVsZW1lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxCb2R5RWxlbWVudFwiKSk7XG5cbnZhciBfSFRNTEhlYWRFbGVtZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MSGVhZEVsZW1lbnRcIikpO1xuXG52YXIgX0hUTUxDYW52YXNFbGVtZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MQ2FudmFzRWxlbWVudFwiKSk7XG5cbnZhciBfSFRNTFZpZGVvRWxlbWVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vSFRNTFZpZGVvRWxlbWVudFwiKSk7XG5cbnZhciBfSFRNTFNjcmlwdEVsZW1lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxTY3JpcHRFbGVtZW50XCIpKTtcblxudmFyIF9IVE1MU3R5bGVFbGVtZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MU3R5bGVFbGVtZW50XCIpKTtcblxudmFyIF9IVE1MSW5wdXRFbGVtZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MSW5wdXRFbGVtZW50XCIpKTtcblxudmFyIF9XZWFrTWFwID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi91dGlsL1dlYWtNYXBcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcikgeyBpZiAodHlwZW9mIFJlZmxlY3QgIT09IFwidW5kZWZpbmVkXCIgJiYgUmVmbGVjdC5nZXQpIHsgX2dldCA9IFJlZmxlY3QuZ2V0OyB9IGVsc2UgeyBfZ2V0ID0gZnVuY3Rpb24gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcikgeyB2YXIgYmFzZSA9IF9zdXBlclByb3BCYXNlKHRhcmdldCwgcHJvcGVydHkpOyBpZiAoIWJhc2UpIHJldHVybjsgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2UsIHByb3BlcnR5KTsgaWYgKGRlc2MuZ2V0KSB7IHJldHVybiBkZXNjLmdldC5jYWxsKHJlY2VpdmVyKTsgfSByZXR1cm4gZGVzYy52YWx1ZTsgfTsgfSByZXR1cm4gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlciB8fCB0YXJnZXQpOyB9XG5cbmZ1bmN0aW9uIF9zdXBlclByb3BCYXNlKG9iamVjdCwgcHJvcGVydHkpIHsgd2hpbGUgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSkpIHsgb2JqZWN0ID0gX2dldFByb3RvdHlwZU9mKG9iamVjdCk7IGlmIChvYmplY3QgPT09IG51bGwpIGJyZWFrOyB9IHJldHVybiBvYmplY3Q7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIF9odG1sID0gbmV3IF9IVE1MSHRtbEVsZW1lbnRbXCJkZWZhdWx0XCJdKCk7XG5cbnZhciBEb2N1bWVudCA9IGZ1bmN0aW9uIChfTm9kZSkge1xuICBfaW5oZXJpdHMoRG9jdW1lbnQsIF9Ob2RlKTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKERvY3VtZW50KTtcblxuICBfY3JlYXRlQ2xhc3MoRG9jdW1lbnQsIFt7XG4gICAga2V5OiBcImNoYXJhY3RlclNldFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFwiVVRGLThcIjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic2NyaXB0c1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuc2NyaXB0cy5zbGljZSgwKTtcbiAgICB9XG4gIH1dKTtcblxuICBmdW5jdGlvbiBEb2N1bWVudCgpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRG9jdW1lbnQpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJoZWFkXCIsIG5ldyBfSFRNTEhlYWRFbGVtZW50W1wiZGVmYXVsdFwiXShfaHRtbCkpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImJvZHlcIiwgbmV3IF9IVE1MQm9keUVsZW1lbnRbXCJkZWZhdWx0XCJdKF9odG1sKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiZm9udHNcIiwgbmV3IF9Gb250RmFjZVNldFtcImRlZmF1bHRcIl0oKSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY29va2llXCIsIFwiXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImRvY3VtZW50RWxlbWVudFwiLCBfaHRtbCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicmVhZHlTdGF0ZVwiLCBcImNvbXBsZXRlXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInZpc2liaWxpdHlTdGF0ZVwiLCBcInZpc2libGVcIik7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiaGlkZGVuXCIsIGZhbHNlKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJzdHlsZVwiLCB7fSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibG9jYXRpb25cIiwgd2luZG93LmxvY2F0aW9uKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJvbnRvdWNoc3RhcnRcIiwgbnVsbCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwib250b3VjaG1vdmVcIiwgbnVsbCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwib250b3VjaGVuZFwiLCBudWxsKTtcblxuICAgIF9odG1sLmFwcGVuZENoaWxkKF90aGlzLmhlYWQpO1xuXG4gICAgX2h0bWwuYXBwZW5kQ2hpbGQoX3RoaXMuYm9keSk7XG5cbiAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKS5zY3JpcHRzID0gW107XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKERvY3VtZW50LCBbe1xuICAgIGtleTogXCJjcmVhdGVFbGVtZW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGFnTmFtZSkge1xuICAgICAgaWYgKHR5cGVvZiB0YWdOYW1lICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICB0YWdOYW1lID0gdGFnTmFtZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICBpZiAodGFnTmFtZSA9PT0gJ0NBTlZBUycpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBfSFRNTENhbnZhc0VsZW1lbnRbXCJkZWZhdWx0XCJdKCk7XG4gICAgICB9IGVsc2UgaWYgKHRhZ05hbWUgPT09ICdJTUcnKSB7XG4gICAgICAgIHJldHVybiBuZXcgSW1hZ2UoKTtcbiAgICAgIH0gZWxzZSBpZiAodGFnTmFtZSA9PT0gJ1ZJREVPJykge1xuICAgICAgICByZXR1cm4gbmV3IF9IVE1MVmlkZW9FbGVtZW50W1wiZGVmYXVsdFwiXSgpO1xuICAgICAgfSBlbHNlIGlmICh0YWdOYW1lID09PSAnU0NSSVBUJykge1xuICAgICAgICByZXR1cm4gbmV3IF9IVE1MU2NyaXB0RWxlbWVudFtcImRlZmF1bHRcIl0oKTtcbiAgICAgIH0gZWxzZSBpZiAodGFnTmFtZSA9PT0gXCJJTlBVVFwiKSB7XG4gICAgICAgIHJldHVybiBuZXcgX0hUTUxJbnB1dEVsZW1lbnRbXCJkZWZhdWx0XCJdKCk7XG4gICAgICB9IGVsc2UgaWYgKHRhZ05hbWUgPT09IFwiQVVESU9cIikge1xuICAgICAgICByZXR1cm4gbmV3IF9BdWRpb1tcImRlZmF1bHRcIl0oKTtcbiAgICAgIH0gZWxzZSBpZiAodGFnTmFtZSA9PT0gXCJTVFlMRVwiKSB7XG4gICAgICAgIHJldHVybiBuZXcgX0hUTUxTdHlsZUVsZW1lbnRbXCJkZWZhdWx0XCJdKCk7XG4gICAgICB9IGVsc2UgaWYgKHRhZ05hbWUgPT09IFwiQVwiKSB7XG4gICAgICAgIHJldHVybiBuZXcgX0hUTUxBbmNob3JFbGVtZW50W1wiZGVmYXVsdFwiXSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IF9IVE1MRWxlbWVudFtcImRlZmF1bHRcIl0odGFnTmFtZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZUVsZW1lbnROU1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJLCBxdWFsaWZpZWROYW1lLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KHF1YWxpZmllZE5hbWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVFdmVudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVFdmVudCh0eXBlKSB7XG4gICAgICBpZiAod2luZG93W3R5cGVdKSB7XG4gICAgICAgIHJldHVybiBuZXcgd2luZG93W3R5cGVdKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVUZXh0Tm9kZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcImRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCkgaXMgbm90IHN1cHBvcnQhXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJkaXNwYXRjaEV2ZW50XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRpc3BhdGNoRXZlbnQoKSB7XG4gICAgICBpZiAoX2h0bWwuZGlzcGF0Y2hFdmVudC5hcHBseShfaHRtbCwgYXJndW1lbnRzKSkge1xuICAgICAgICByZXR1cm4gX2dldChfZ2V0UHJvdG90eXBlT2YoRG9jdW1lbnQucHJvdG90eXBlKSwgXCJkaXNwYXRjaEV2ZW50XCIsIHRoaXMpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiYXBwZW5kQ2hpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYXBwZW5kQ2hpbGQobm9kZSkge1xuICAgICAgdmFyIG5vZGVOYW1lID0gbm9kZS5ub2RlTmFtZTtcblxuICAgICAgaWYgKG5vZGVOYW1lID09PSBcIlNDUklQVFwiKSB7XG4gICAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuc2NyaXB0cy5wdXNoKG5vZGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gX2dldChfZ2V0UHJvdG90eXBlT2YoRG9jdW1lbnQucHJvdG90eXBlKSwgXCJhcHBlbmRDaGlsZFwiLCB0aGlzKS5jYWxsKHRoaXMsIG5vZGUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZW1vdmVDaGlsZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW1vdmVDaGlsZChub2RlKSB7XG4gICAgICB2YXIgbm9kZU5hbWUgPSBub2RlLm5vZGVOYW1lO1xuXG4gICAgICBpZiAobm9kZU5hbWUgPT09IFwiU0NSSVBUXCIpIHtcbiAgICAgICAgdmFyIHNjcmlwdHMgPSBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLnNjcmlwdHM7XG5cbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwLCBsZW5ndGggPSBzY3JpcHRzLmxlbmd0aDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgICAgICBpZiAobm9kZSA9PT0gc2NyaXB0c1tpbmRleF0pIHtcbiAgICAgICAgICAgIHNjcmlwdHMuc2xpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfZ2V0KF9nZXRQcm90b3R5cGVPZihEb2N1bWVudC5wcm90b3R5cGUpLCBcInJlbW92ZUNoaWxkXCIsIHRoaXMpLmNhbGwodGhpcywgbm9kZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEVsZW1lbnRCeUlkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEVsZW1lbnRCeUlkKGlkKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgXCJVbmNhdWdodCBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdnZXRFbGVtZW50QnlJZCcgb24gJ0RvY3VtZW50JzogMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LlwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgcm9vdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50RWxlbWVudDtcbiAgICAgIHZhciBlbGVtZW50QXJyID0gW10uY29uY2F0KHJvb3RFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgICAgdmFyIGVsZW1lbnQ7XG5cbiAgICAgIGlmIChpZCA9PT0gXCJjYW52YXNcIiB8fCBpZCA9PT0gXCJnbGNhbnZhc1wiKSB7XG4gICAgICAgIHdoaWxlIChlbGVtZW50ID0gZWxlbWVudEFyci5wb3AoKSkge1xuICAgICAgICAgIGlmIChlbGVtZW50LmlkID09PSBcImNhbnZhc1wiIHx8IGVsZW1lbnQuaWQgPT09IFwiZ2xjYW52YXNcIikge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZWxlbWVudEFyciA9IGVsZW1lbnRBcnIuY29uY2F0KGVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdoaWxlIChlbGVtZW50ID0gZWxlbWVudEFyci5wb3AoKSkge1xuICAgICAgICAgIGlmIChlbGVtZW50LmlkID09PSBpZCkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZWxlbWVudEFyciA9IGVsZW1lbnRBcnIuY29uY2F0KGVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEVsZW1lbnRzQnlDbGFzc05hbWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShuYW1lcykge1xuICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IFwiVW5jYXVnaHQgVHlwZUVycm9yOiBGYWlsZWQgdG8gZXhlY3V0ZSAnZ2V0RWxlbWVudHNCeUNsYXNzTmFtZScgb24gJ0RvY3VtZW50JzogMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LlwiO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIG5hbWVzICE9PSBcInN0cmluZ1wiICYmIG5hbWVzIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXcgX05vZGVMaXN0W1wiZGVmYXVsdFwiXSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5kb2N1bWVudEVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShuYW1lcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEVsZW1lbnRzQnlUYWdOYW1lXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ05hbWUpIHtcbiAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBcIlVuY2F1Z2h0IFR5cGVFcnJvcjogRmFpbGVkIHRvIGV4ZWN1dGUgJ2dldEVsZW1lbnRzQnlUYWdOYW1lJyBvbiAnRG9jdW1lbnQnOiAxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAwIHByZXNlbnQuXCI7XG4gICAgICB9XG5cbiAgICAgIHRhZ05hbWUgPSB0YWdOYW1lLnRvVXBwZXJDYXNlKCk7XG4gICAgICB2YXIgcm9vdEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50RWxlbWVudDtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgX05vZGVMaXN0W1wiZGVmYXVsdFwiXSgpO1xuXG4gICAgICBzd2l0Y2ggKHRhZ05hbWUpIHtcbiAgICAgICAgY2FzZSBcIkhFQURcIjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChkb2N1bWVudC5oZWFkKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFwiQk9EWVwiOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGRvY3VtZW50LmJvZHkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChyb290RWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWdOYW1lKSk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRFbGVtZW50c0J5TmFtZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRFbGVtZW50c0J5TmFtZShuYW1lKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgXCJVbmNhdWdodCBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdnZXRFbGVtZW50c0J5TmFtZScgb24gJ0RvY3VtZW50JzogMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LlwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWxlbWVudEFyciA9IFtdLmNvbmNhdCh0aGlzLmNoaWxkTm9kZXMpO1xuICAgICAgdmFyIHJlc3VsdCA9IG5ldyBfTm9kZUxpc3RbXCJkZWZhdWx0XCJdKCk7XG4gICAgICB2YXIgZWxlbWVudDtcblxuICAgICAgd2hpbGUgKGVsZW1lbnQgPSBlbGVtZW50QXJyLnBvcCgpKSB7XG4gICAgICAgIGlmIChlbGVtZW50Lm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChlbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnRBcnIgPSBlbGVtZW50QXJyLmNvbmNhdChlbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJxdWVyeVNlbGVjdG9yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3JzKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgXCJVbmNhdWdodCBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdxdWVyeVNlbGVjdG9yQWxsJyBvbiAnRG9jdW1lbnQnOiAxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAwIHByZXNlbnQuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciBub2RlTGlzdCA9IG5ldyBfTm9kZUxpc3RbXCJkZWZhdWx0XCJdKCk7XG5cbiAgICAgIHN3aXRjaCAoc2VsZWN0b3JzKSB7XG4gICAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgIGNhc2UgTmFOOlxuICAgICAgICBjYXNlIHRydWU6XG4gICAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBzZWxlY3RvcnMgIT09IFwic3RyaW5nXCIgJiYgc2VsZWN0b3JzIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICAgIHRocm93IFwiVW5jYXVnaHQgRE9NRXhjZXB0aW9uOiBGYWlsZWQgdG8gZXhlY3V0ZSAncXVlcnlTZWxlY3RvckFsbCcgb24gJ0RvY3VtZW50JzogJ1wiICsgc2VsZWN0b3JzICsgXCInIGlzIG5vdCBhIHZhbGlkIHNlbGVjdG9yLlwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVnID0gL15bQS1aYS16XSskLztcbiAgICAgIHZhciByZXN1bHQgPSBzZWxlY3RvcnMubWF0Y2gocmVnKTtcblxuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRFbGVtZW50c0J5VGFnTmFtZShzZWxlY3RvcnMpO1xuICAgICAgfVxuXG4gICAgICByZWcgPSAvXlxcLltBLVphLXokX11bQS1aYS16JF8wLTlcXC0gXSokLztcbiAgICAgIHJlc3VsdCA9IHNlbGVjdG9ycy5tYXRjaChyZWcpO1xuXG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHZhciBzZWxlY3RvckFyciA9IHNlbGVjdG9ycy5zcGxpdChcIiBcIik7XG4gICAgICAgIHZhciBzZWxlY3RvciA9IHNlbGVjdG9yQXJyLnNoaWZ0KCk7XG4gICAgICAgIG5vZGVMaXN0ID0gdGhpcy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHNlbGVjdG9yLnN1YnN0cigxKSk7XG4gICAgICAgIHZhciBsZW5ndGggPSBzZWxlY3RvckFyci5sZW5ndGg7XG5cbiAgICAgICAgaWYgKGxlbmd0aCkge1xuICAgICAgICAgIHNlbGVjdG9ycyA9IHNlbGVjdG9yQXJyLmpvaW4oXCIgXCIpO1xuICAgICAgICAgIGxlbmd0aCA9IG5vZGVMaXN0Lmxlbmd0aDtcblxuICAgICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIHZhciBzdWJOb2RlTGlzdCA9IG5vZGVMaXN0W2luZGV4XS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9ycyk7XG5cbiAgICAgICAgICAgIGlmIChzdWJOb2RlTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHN1Yk5vZGVMaXN0WzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBub2RlTGlzdFswXTtcbiAgICAgIH1cblxuICAgICAgcmVnID0gL14jW0EtWmEteiRfXVtBLVphLXokXzAtOVxcLV0qJC87XG4gICAgICByZXN1bHQgPSBzZWxlY3RvcnMubWF0Y2gocmVnKTtcblxuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMuZ2V0RWxlbWVudEJ5SWQoc2VsZWN0b3JzLnN1YnN0cigxKSk7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICBub2RlTGlzdC5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzZWxlY3RvcnMgPT09IFwiKlwiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lKHNlbGVjdG9ycyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlTGlzdFswXTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicXVlcnlTZWxlY3RvckFsbFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9ycykge1xuICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IFwiVW5jYXVnaHQgVHlwZUVycm9yOiBGYWlsZWQgdG8gZXhlY3V0ZSAncXVlcnlTZWxlY3RvckFsbCcgb24gJ0RvY3VtZW50JzogMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LlwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgbm9kZUxpc3QgPSBuZXcgX05vZGVMaXN0W1wiZGVmYXVsdFwiXSgpO1xuXG4gICAgICBzd2l0Y2ggKHNlbGVjdG9ycykge1xuICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICBjYXNlIE5hTjpcbiAgICAgICAgY2FzZSB0cnVlOlxuICAgICAgICBjYXNlIGZhbHNlOlxuICAgICAgICBjYXNlIFwiXCI6XG4gICAgICAgICAgcmV0dXJuIG5vZGVMaXN0O1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHNlbGVjdG9ycyAhPT0gXCJzdHJpbmdcIiAmJiBzZWxlY3RvcnMgaW5zdGFuY2VvZiBTdHJpbmcpIHtcbiAgICAgICAgdGhyb3cgXCJVbmNhdWdodCBET01FeGNlcHRpb246IEZhaWxlZCB0byBleGVjdXRlICdxdWVyeVNlbGVjdG9yQWxsJyBvbiAnRG9jdW1lbnQnOiAnXCIgKyBzZWxlY3RvcnMgKyBcIicgaXMgbm90IGEgdmFsaWQgc2VsZWN0b3IuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWcgPSAvXltBLVphLXpdKyQvO1xuICAgICAgdmFyIHJlc3VsdCA9IHNlbGVjdG9ycy5tYXRjaChyZWcpO1xuXG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lKHNlbGVjdG9ycyk7XG4gICAgICB9XG5cbiAgICAgIHJlZyA9IC9eXFwuW0EtWmEteiRfXVtBLVphLXokXzAtOVxcLV0qJC87XG4gICAgICByZXN1bHQgPSBzZWxlY3RvcnMubWF0Y2gocmVnKTtcblxuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHNlbGVjdG9ycy5zdWJzdHIoMSkpO1xuICAgICAgfVxuXG4gICAgICByZWcgPSAvXiNbQS1aYS16JF9dW0EtWmEteiRfMC05XFwtXSokLztcbiAgICAgIHJlc3VsdCA9IHNlbGVjdG9ycy5tYXRjaChyZWcpO1xuXG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5nZXRFbGVtZW50QnlJZChzZWxlY3RvcnMuc3Vic3RyKDEpKTtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIG5vZGVMaXN0LnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdG9ycyA9PT0gXCIqXCIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoc2VsZWN0b3JzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGVMaXN0O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEb2N1bWVudDtcbn0oX05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gRG9jdW1lbnQ7XG5cbn0se1wiLi9BdWRpb1wiOjMsXCIuL0ZvbnRGYWNlU2V0XCI6MTIsXCIuL0hUTUxBbmNob3JFbGVtZW50XCI6MTMsXCIuL0hUTUxCb2R5RWxlbWVudFwiOjE1LFwiLi9IVE1MQ2FudmFzRWxlbWVudFwiOjE2LFwiLi9IVE1MRWxlbWVudFwiOjE3LFwiLi9IVE1MSGVhZEVsZW1lbnRcIjoxOCxcIi4vSFRNTEh0bWxFbGVtZW50XCI6MTksXCIuL0hUTUxJbnB1dEVsZW1lbnRcIjoyMSxcIi4vSFRNTFNjcmlwdEVsZW1lbnRcIjoyMyxcIi4vSFRNTFN0eWxlRWxlbWVudFwiOjI0LFwiLi9IVE1MVmlkZW9FbGVtZW50XCI6MjUsXCIuL05vZGVcIjozMCxcIi4vTm9kZUxpc3RcIjozMSxcIi4vdXRpbC9XZWFrTWFwXCI6NTN9XSw4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9Ob2RlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vTm9kZVwiKSk7XG5cbnZhciBfTm9kZUxpc3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL05vZGVMaXN0XCIpKTtcblxudmFyIF9ET01Ub2tlbkxpc3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0RPTVRva2VuXFx1MjAwQkxpc3RcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIEVsZW1lbnQgPSBmdW5jdGlvbiAoX05vZGUpIHtcbiAgX2luaGVyaXRzKEVsZW1lbnQsIF9Ob2RlKTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEVsZW1lbnQpO1xuXG4gIGZ1bmN0aW9uIEVsZW1lbnQodGFnTmFtZSkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFbGVtZW50KTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgdGFnTmFtZSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY2xhc3NOYW1lXCIsICcnKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJjaGlsZHJlblwiLCBbXSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY2xhc3NMaXN0XCIsIG5ldyBfRE9NVG9rZW5MaXN0W1wiZGVmYXVsdFwiXSgpKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJ2YWx1ZVwiLCAxKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJjb250ZW50XCIsIFwiXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInNjcm9sbExlZnRcIiwgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwic2Nyb2xsVG9wXCIsIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImNsaWVudExlZnRcIiwgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY2xpZW50VG9wXCIsIDApO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEVsZW1lbnQsIFt7XG4gICAga2V5OiBcImdldEJvdW5kaW5nQ2xpZW50UmVjdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiAwLFxuICAgICAgICB5OiAwLFxuICAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIGJvdHRvbTogd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICByaWdodDogd2luZG93LmlubmVyV2lkdGhcbiAgICAgIH07XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEVsZW1lbnRzQnlUYWdOYW1lXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ05hbWUpIHtcbiAgICAgIHRhZ05hbWUgPSB0YWdOYW1lLnRvVXBwZXJDYXNlKCk7XG4gICAgICB2YXIgcmVzdWx0ID0gbmV3IF9Ob2RlTGlzdFtcImRlZmF1bHRcIl0oKTtcbiAgICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5jaGlsZE5vZGVzO1xuICAgICAgdmFyIGxlbmd0aCA9IGNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIHZhciBlbGVtZW50ID0gY2hpbGROb2Rlc1tpbmRleF07XG5cbiAgICAgICAgaWYgKGVsZW1lbnQudGFnTmFtZSA9PT0gdGFnTmFtZSB8fCB0YWdOYW1lID09PSBcIipcIikge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChlbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG5hbWVzKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgXCJVbmNhdWdodCBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdnZXRFbGVtZW50c0J5Q2xhc3NOYW1lJyBvbiAnRG9jdW1lbnQnOiAxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAwIHByZXNlbnQuXCI7XG4gICAgICB9XG5cbiAgICAgIHZhciByZXN1bHQgPSBuZXcgX05vZGVMaXN0W1wiZGVmYXVsdFwiXSgpO1xuXG4gICAgICBpZiAodHlwZW9mIG5hbWVzICE9PSBcInN0cmluZ1wiICYmIG5hbWVzIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIHZhciBlbGVtZW50QXJyID0gW10uY29uY2F0KHRoaXMuY2hpbGROb2Rlcyk7XG4gICAgICB2YXIgZWxlbWVudDtcblxuICAgICAgd2hpbGUgKGVsZW1lbnQgPSBlbGVtZW50QXJyLnBvcCgpKSB7XG4gICAgICAgIHZhciBjbGFzc1N0ciA9IGVsZW1lbnRbXCJjbGFzc1wiXTtcblxuICAgICAgICBpZiAoY2xhc3NTdHIpIHtcbiAgICAgICAgICB2YXIgY2xhc3NBcnIgPSBjbGFzc1N0ci5zcGxpdChcIiBcIik7XG4gICAgICAgICAgdmFyIGxlbmd0aCA9IGNsYXNzQXJyLmxlbmd0aDtcblxuICAgICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChjbGFzc0FycltpbmRleF0gPT09IG5hbWVzKSB7XG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50QXJyID0gZWxlbWVudEFyci5jb25jYXQoZWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicXVlcnlTZWxlY3RvclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yKHNlbGVjdG9ycykge1xuICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IFwiVW5jYXVnaHQgVHlwZUVycm9yOiBGYWlsZWQgdG8gZXhlY3V0ZSAncXVlcnlTZWxlY3RvckFsbCcgb24gJ0RvY3VtZW50JzogMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LlwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgbm9kZUxpc3QgPSBuZXcgX05vZGVMaXN0W1wiZGVmYXVsdFwiXSgpO1xuXG4gICAgICBzd2l0Y2ggKHNlbGVjdG9ycykge1xuICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICBjYXNlIE5hTjpcbiAgICAgICAgY2FzZSB0cnVlOlxuICAgICAgICBjYXNlIGZhbHNlOlxuICAgICAgICBjYXNlIFwiXCI6XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygc2VsZWN0b3JzICE9PSBcInN0cmluZ1wiICYmIHNlbGVjdG9ycyBpbnN0YW5jZW9mIFN0cmluZykge1xuICAgICAgICB0aHJvdyBcIlVuY2F1Z2h0IERPTUV4Y2VwdGlvbjogRmFpbGVkIHRvIGV4ZWN1dGUgJ3F1ZXJ5U2VsZWN0b3JBbGwnIG9uICdEb2N1bWVudCc6ICdcIiArIHNlbGVjdG9ycyArIFwiJyBpcyBub3QgYSB2YWxpZCBzZWxlY3Rvci5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHJlZyA9IC9eW0EtWmEtel0rJC87XG4gICAgICB2YXIgcmVzdWx0ID0gc2VsZWN0b3JzLm1hdGNoKHJlZyk7XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoc2VsZWN0b3JzKTtcbiAgICAgIH1cblxuICAgICAgcmVnID0gL14uW0EtWmEteiRfXVtBLVphLXokXzAtOVxcLSBdKiQvO1xuICAgICAgcmVzdWx0ID0gc2VsZWN0b3JzLm1hdGNoKHJlZyk7XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdmFyIHNlbGVjdG9yQXJyID0gc2VsZWN0b3JzLnNwbGl0KFwiIFwiKTtcbiAgICAgICAgdmFyIHNlbGVjdG9yID0gc2VsZWN0b3JBcnIuc2hpZnQoKTtcbiAgICAgICAgbm9kZUxpc3QgPSB0aGlzLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoc2VsZWN0b3Iuc3Vic3RyKDEpKTtcbiAgICAgICAgdmFyIGxlbmd0aCA9IHNlbGVjdG9yQXJyLmxlbmd0aDtcblxuICAgICAgICBpZiAobGVuZ3RoKSB7XG4gICAgICAgICAgc2VsZWN0b3JzID0gc2VsZWN0b3JBcnIuam9pbihcIiBcIik7XG4gICAgICAgICAgbGVuZ3RoID0gbm9kZUxpc3QubGVuZ3RoO1xuXG4gICAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgdmFyIHN1Yk5vZGVMaXN0ID0gbm9kZUxpc3RbaW5kZXhdLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3JzKTtcblxuICAgICAgICAgICAgaWYgKHN1Yk5vZGVMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gc3ViTm9kZUxpc3RbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5vZGVMaXN0WzBdO1xuICAgICAgfVxuXG4gICAgICByZWcgPSAvXiNbQS1aYS16JF9dW0EtWmEteiRfMC05XFwtXSokLztcbiAgICAgIHJlc3VsdCA9IHNlbGVjdG9ycy5tYXRjaChyZWcpO1xuXG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5nZXRFbGVtZW50QnlJZChzZWxlY3RvcnMuc3Vic3RyKDEpKTtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIG5vZGVMaXN0LnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdG9ycyA9PT0gXCIqXCIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoc2VsZWN0b3JzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGVMaXN0WzBdO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJhZGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYWRkKCkge31cbiAgfSwge1xuICAgIGtleTogXCJyZXF1ZXN0RnVsbHNjcmVlblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZXF1ZXN0RnVsbHNjcmVlbigpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVtb3ZlQXR0cmlidXRlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbW92ZUF0dHJpYnV0ZShhdHRyTmFtZSkge1xuICAgICAgaWYgKGF0dHJOYW1lID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgZm9yICh2YXIgc3R5bGVOYW1lIGluIHRoaXNbXCJzdHlsZVwiXSkge1xuICAgICAgICAgIHRoaXNbXCJzdHlsZVwiXVtzdHlsZU5hbWVdID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1thdHRyTmFtZV0gPSBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzZXRBdHRyaWJ1dGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7XG4gICAgICBpZiAobmFtZSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJ1bmRlZmluZWRcIiB8fCB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09IFwiXCIpIHtcbiAgICAgICAgICBmb3IgKHZhciBzdHlsZU5hbWUgaW4gdGhpc1tcInN0eWxlXCJdKSB7XG4gICAgICAgICAgICB0aGlzW1wic3R5bGVcIl1bc3R5bGVOYW1lXSA9IFwiXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxzKi9nLCBcIlwiKTtcbiAgICAgICAgICB2YXIgdmFsdWVBcnJheSA9IHZhbHVlLnNwbGl0KFwiO1wiKTtcblxuICAgICAgICAgIGZvciAodmFyIGluZGV4IGluIHZhbHVlQXJyYXkpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZUFycmF5W2luZGV4XSAhPSBcIlwiKSB7XG4gICAgICAgICAgICAgIHZhciB2YWx1ZVRlbXAgPSB2YWx1ZUFycmF5W2luZGV4XS5zcGxpdChcIjpcIik7XG4gICAgICAgICAgICAgIHRoaXNbXCJzdHlsZVwiXVt2YWx1ZVRlbXBbMF1dID0gdmFsdWVUZW1wWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRBdHRyaWJ1dGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0QXR0cmlidXRlKG5hbWUpIHtcbiAgICAgIHZhciBhdHRyaWJ1dGVWYWx1ZSA9IG51bGw7XG5cbiAgICAgIGlmIChuYW1lID09IFwic3R5bGVcIikge1xuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHRoaXNbXCJzdHlsZVwiXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXNbbmFtZV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdHRyaWJ1dGVWYWx1ZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic2V0QXR0cmlidXRlTlNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0QXR0cmlidXRlTlMobnMsIG5hbWUsIHZhbHVlKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZvY3VzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzKCkge31cbiAgfSwge1xuICAgIGtleTogXCJibHVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGJsdXIoKSB7fVxuICB9LCB7XG4gICAga2V5OiBcImxhc3RDaGlsZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIGxhc3RDaGlsZCA9IHRoaXMuY2hpbGROb2Rlc1t0aGlzLmNoaWxkTm9kZXMubGVuZ3RoIC0gMV07XG4gICAgICByZXR1cm4gbGFzdENoaWxkID8gbGFzdENoaWxkIDogdGhpcy5pbm5lckhUTUwgPyBuZXcgSFRNTEVsZW1lbnQoKSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZmlyc3RDaGlsZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIGNoaWxkID0gdGhpcy5jaGlsZE5vZGVzWzBdO1xuICAgICAgcmV0dXJuIGNoaWxkID8gY2hpbGQgOiB0aGlzLmlubmVySFRNTCA/IG5ldyBIVE1MRWxlbWVudCgpIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJmaXJzdEVsZW1lbnRDaGlsZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIGNoaWxkID0gdGhpcy5jaGlsZE5vZGVzWzBdO1xuICAgICAgcmV0dXJuIGNoaWxkID8gY2hpbGQgOiB0aGlzLmlubmVySFRNTCA/IG5ldyBIVE1MRWxlbWVudCgpIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjbGllbnRIZWlnaHRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBzdHlsZSA9IHRoaXMuc3R5bGUgfHwge307XG4gICAgICByZXR1cm4gcGFyc2VJbnQoc3R5bGUuZm9udFNpemUgfHwgXCIwXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJ0YWdOYW1lXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlTmFtZTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRWxlbWVudDtcbn0oX05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gRWxlbWVudDtcblxufSx7XCIuL0RPTVRva2Vu4oCLTGlzdFwiOjUsXCIuL05vZGVcIjozMCxcIi4vTm9kZUxpc3RcIjozMX1dLDk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG52YXIgRXZlbnQgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEV2ZW50KHR5cGUsIGV2ZW50SW5pdCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBFdmVudCk7XG5cbiAgICB0aGlzLl90eXBlID0gdHlwZTtcbiAgICB0aGlzLl90YXJnZXQgPSBudWxsO1xuICAgIHRoaXMuX2V2ZW50UGhhc2UgPSAyO1xuICAgIHRoaXMuX2N1cnJlbnRUYXJnZXQgPSBudWxsO1xuICAgIHRoaXMuX2NhbmNlbGVkID0gZmFsc2U7XG4gICAgdGhpcy5fc3RvcHBlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3Bhc3NpdmVMaXN0ZW5lciA9IG51bGw7XG4gICAgdGhpcy5fdGltZVN0YW1wID0gRGF0ZS5ub3coKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhFdmVudCwgW3tcbiAgICBrZXk6IFwiY29tcG9zZWRQYXRoXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvc2VkUGF0aCgpIHtcbiAgICAgIHZhciBjdXJyZW50VGFyZ2V0ID0gdGhpcy5fY3VycmVudFRhcmdldDtcblxuICAgICAgaWYgKGN1cnJlbnRUYXJnZXQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gW2N1cnJlbnRUYXJnZXRdO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzdG9wUHJvcGFnYXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc3RvcFByb3BhZ2F0aW9uKCkge31cbiAgfSwge1xuICAgIGtleTogXCJzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkge1xuICAgICAgdGhpcy5fc3RvcHBlZCA9IHRydWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInByZXZlbnREZWZhdWx0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHByZXZlbnREZWZhdWx0KCkge1xuICAgICAgaWYgKHRoaXMuX3Bhc3NpdmVMaXN0ZW5lciAhPT0gbnVsbCkge1xuICAgICAgICBjb25zb2xlLndhcm4oXCJFdmVudCNwcmV2ZW50RGVmYXVsdCgpIHdhcyBjYWxsZWQgZnJvbSBhIHBhc3NpdmUgbGlzdGVuZXI6XCIsIHRoaXMuX3Bhc3NpdmVMaXN0ZW5lcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmNhbmNlbGFibGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9jYW5jZWxlZCA9IHRydWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInR5cGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl90eXBlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJ0YXJnZXRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl90YXJnZXQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImN1cnJlbnRUYXJnZXRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50VGFyZ2V0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJpc1RydXN0ZWRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwidGltZVN0YW1wXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdGltZVN0YW1wO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUuaW5kZXhPZihcInRvdWNoXCIpKSB7XG4gICAgICAgIHRoaXMuX3RpbWVTdGFtcCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJldmVudFBoYXNlXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZXZlbnRQaGFzZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiYnViYmxlc1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjYW5jZWxhYmxlXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZGVmYXVsdFByZXZlbnRlZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NhbmNlbGVkO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb21wb3NlZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBFdmVudDtcbn0oKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBFdmVudDtcbkV2ZW50Lk5PTkUgPSAwO1xuRXZlbnQuQ0FQVFVSSU5HX1BIQVNFID0gMTtcbkV2ZW50LkFUX1RBUkdFVCA9IDI7XG5FdmVudC5CVUJCTElOR19QSEFTRSA9IDM7XG5cbn0se31dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfVG91Y2hFdmVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vVG91Y2hFdmVudFwiKSk7XG5cbnZhciBfV2Vha01hcCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vdXRpbC9XZWFrTWFwXCIpKTtcblxudmFyIF9EZXZpY2VNb3Rpb25FdmVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRGV2aWNlTW90aW9uRXZlbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG52YXIgX2xpc3RlbmVyU3RhdCA9IHt9O1xuXG52YXIgX29uVG91Y2hTdGFydCA9IGZ1bmN0aW9uIF9vblRvdWNoU3RhcnQoZSkge1xuICB2YXIgZXZlbnQgPSBuZXcgX1RvdWNoRXZlbnRbXCJkZWZhdWx0XCJdKFwidG91Y2hzdGFydFwiKTtcbiAgd2luZG93LmRpc3BhdGNoRXZlbnQoT2JqZWN0LmFzc2lnbihldmVudCwgZSkpO1xufTtcblxudmFyIF9vblRvdWNoTW92ZSA9IGZ1bmN0aW9uIF9vblRvdWNoTW92ZShlKSB7XG4gIHZhciBldmVudCA9IG5ldyBfVG91Y2hFdmVudFtcImRlZmF1bHRcIl0oXCJ0b3VjaG1vdmVcIik7XG4gIHdpbmRvdy5kaXNwYXRjaEV2ZW50KE9iamVjdC5hc3NpZ24oZXZlbnQsIGUpKTtcbn07XG5cbnZhciBfb25Ub3VjaENhbmNlbCA9IGZ1bmN0aW9uIF9vblRvdWNoQ2FuY2VsKGUpIHtcbiAgdmFyIGV2ZW50ID0gbmV3IF9Ub3VjaEV2ZW50W1wiZGVmYXVsdFwiXShcInRvdWNoY2FuY2VsXCIpO1xuICB3aW5kb3cuZGlzcGF0Y2hFdmVudChPYmplY3QuYXNzaWduKGV2ZW50LCBlKSk7XG59O1xuXG52YXIgX29uVG91Y2hFbmQgPSBmdW5jdGlvbiBfb25Ub3VjaEVuZChlKSB7XG4gIHZhciBldmVudCA9IG5ldyBfVG91Y2hFdmVudFtcImRlZmF1bHRcIl0oXCJ0b3VjaGVuZFwiKTtcbiAgd2luZG93LmRpc3BhdGNoRXZlbnQoT2JqZWN0LmFzc2lnbihldmVudCwgZSkpO1xufTtcblxudmFyIF9zeXN0ZW1JbmZvID0gcmFsLmdldFN5c3RlbUluZm9TeW5jKCk7XG5cbnZhciBfaXNBbmRyb2lkID0gX3N5c3RlbUluZm8ucGxhdGZvcm0udG9Mb3dlckNhc2UoKSA9PT0gXCJhbmRyb2lkXCI7XG5cbnZhciBfYWxwaGEgPSAwLjg7XG52YXIgX2dyYXZpdHkgPSBbMCwgMCwgMF07XG5cbnZhciBfb25BY2NlbGVyb21ldGVyQ2hhbmdlID0gZnVuY3Rpb24gX29uQWNjZWxlcm9tZXRlckNoYW5nZShlKSB7XG4gIGlmIChfaXNBbmRyb2lkKSB7XG4gICAgZS54ICo9IC0xMDtcbiAgICBlLnkgKj0gLTEwO1xuICAgIGUueiAqPSAtMTA7XG4gIH0gZWxzZSB7XG4gICAgZS54ICo9IDEwO1xuICAgIGUueSAqPSAxMDtcbiAgICBlLnogKj0gMTA7XG4gIH1cblxuICBfZ3Jhdml0eVswXSA9IF9hbHBoYSAqIF9ncmF2aXR5WzBdICsgKDEgLSBfYWxwaGEpICogZS54O1xuICBfZ3Jhdml0eVsxXSA9IF9hbHBoYSAqIF9ncmF2aXR5WzFdICsgKDEgLSBfYWxwaGEpICogZS55O1xuICBfZ3Jhdml0eVsyXSA9IF9hbHBoYSAqIF9ncmF2aXR5WzJdICsgKDEgLSBfYWxwaGEpICogZS56O1xuICB2YXIgZXZlbnQgPSBuZXcgX0RldmljZU1vdGlvbkV2ZW50W1wiZGVmYXVsdFwiXSh7XG4gICAgYWNjZWxlcmF0aW9uOiB7XG4gICAgICB4OiBlLnggLSBfZ3Jhdml0eVswXSxcbiAgICAgIHk6IGUueSAtIF9ncmF2aXR5WzFdLFxuICAgICAgejogZS56IC0gX2dyYXZpdHlbMl1cbiAgICB9LFxuICAgIGFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHk6IHtcbiAgICAgIHg6IGUueCxcbiAgICAgIHk6IGUueSxcbiAgICAgIHo6IGUuelxuICAgIH1cbiAgfSk7XG4gIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbn07XG5cbnZhciBFdmVudFRhcmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gRXZlbnRUYXJnZXQoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEV2ZW50VGFyZ2V0KTtcblxuICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5zZXQodGhpcywge30pO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEV2ZW50VGFyZ2V0LCBbe1xuICAgIGtleTogXCJhZGRFdmVudExpc3RlbmVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB7fTtcblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKTtcblxuICAgICAgaWYgKCFwcml2YXRlVGhpcykge1xuICAgICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uc2V0KHRoaXMsIHByaXZhdGVUaGlzID0ge30pO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXZlbnRzID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChwcml2YXRlVGhpcyk7XG5cbiAgICAgIGlmICghZXZlbnRzKSB7XG4gICAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5zZXQocHJpdmF0ZVRoaXMsIGV2ZW50cyA9IHt9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFldmVudHNbdHlwZV0pIHtcbiAgICAgICAgZXZlbnRzW3R5cGVdID0gW107XG4gICAgICB9XG5cbiAgICAgIHZhciBsaXN0ZW5lckFycmF5ID0gZXZlbnRzW3R5cGVdO1xuICAgICAgdmFyIGxlbmd0aCA9IGxpc3RlbmVyQXJyYXkubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICAgIGlmIChsaXN0ZW5lckFycmF5W2luZGV4XSA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdGVuZXJBcnJheS5wdXNoKGxpc3RlbmVyKTtcblxuICAgICAgaWYgKF9saXN0ZW5lclN0YXRbdHlwZV0pIHtcbiAgICAgICAgKytfbGlzdGVuZXJTdGF0W3R5cGVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX2xpc3RlbmVyU3RhdFt0eXBlXSA9IDE7XG5cbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSBcInRvdWNoc3RhcnRcIjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcmFsLm9uVG91Y2hTdGFydChfb25Ub3VjaFN0YXJ0KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFwidG91Y2htb3ZlXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJhbC5vblRvdWNoTW92ZShfb25Ub3VjaE1vdmUpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgXCJ0b3VjaGNhbmNlbFwiOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByYWwub25Ub3VjaENhbmNlbChfb25Ub3VjaENhbmNlbCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSBcInRvdWNoZW5kXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJhbC5vblRvdWNoRW5kKF9vblRvdWNoRW5kKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFwiZGV2aWNlbW90aW9uXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJhbC5vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UoX29uQWNjZWxlcm9tZXRlckNoYW5nZSk7XG4gICAgICAgICAgICAgIHJhbC5kZXZpY2Uuc2V0TW90aW9uRW5hYmxlZCh0cnVlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnMuY2FwdHVyZSkge31cblxuICAgICAgaWYgKG9wdGlvbnMub25jZSkge31cblxuICAgICAgaWYgKG9wdGlvbnMucGFzc2l2ZSkge31cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpO1xuXG4gICAgICB2YXIgZXZlbnRzO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgZXZlbnRzID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChwcml2YXRlVGhpcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudHMpIHtcbiAgICAgICAgdmFyIGxpc3RlbmVycyA9IGV2ZW50c1t0eXBlXTtcblxuICAgICAgICBpZiAobGlzdGVuZXJzICYmIGxpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IGxpc3RlbmVycy5sZW5ndGg7IGktLTsgaSA+IDApIHtcbiAgICAgICAgICAgIGlmIChsaXN0ZW5lcnNbaV0gPT09IGxpc3RlbmVyKSB7XG4gICAgICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSk7XG5cbiAgICAgICAgICAgICAgaWYgKC0tX2xpc3RlbmVyU3RhdFt0eXBlXSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgICAgY2FzZSBcInRvdWNoc3RhcnRcIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHJhbC5vZmZUb3VjaFN0YXJ0KF9vblRvdWNoU3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJ0b3VjaG1vdmVcIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHJhbC5vZmZUb3VjaE1vdmUoX29uVG91Y2hNb3ZlKTtcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBjYXNlIFwidG91Y2hjYW5jZWxcIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHJhbC5vZmZUb3VjaENhbmNlbChfb25Ub3VjaENhbmNlbCk7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgY2FzZSBcInRvdWNoZW5kXCI6XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICByYWwub2ZmVG91Y2hFbmQoX29uVG91Y2hFbmQpO1xuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJkZXZpY2Vtb3Rpb25cIjpcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHJhbC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlKF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgIHJhbC5kZXZpY2Uuc2V0TW90aW9uRW5hYmxlZChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZGlzcGF0Y2hFdmVudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkaXNwYXRjaEV2ZW50KCkge1xuICAgICAgdmFyIGV2ZW50ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICAgIGV2ZW50Ll90YXJnZXQgPSBldmVudC5fY3VycmVudFRhcmdldCA9IHRoaXM7XG5cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIF9Ub3VjaEV2ZW50W1wiZGVmYXVsdFwiXSkge1xuICAgICAgICB2YXIgdG91Y2hlQXJyYXkgPSBldmVudC50b3VjaGVzO1xuICAgICAgICB2YXIgbGVuZ3RoID0gdG91Y2hlQXJyYXkubGVuZ3RoO1xuXG4gICAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgICAgICB0b3VjaGVBcnJheVtpbmRleF0udGFyZ2V0ID0gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIHRvdWNoZUFycmF5ID0gZXZlbnQuY2hhbmdlZFRvdWNoZXM7XG4gICAgICAgIGxlbmd0aCA9IHRvdWNoZUFycmF5Lmxlbmd0aDtcblxuICAgICAgICBmb3IgKHZhciBfaW5kZXggPSAwOyBfaW5kZXggPCBsZW5ndGg7ICsrX2luZGV4KSB7XG4gICAgICAgICAgdG91Y2hlQXJyYXlbX2luZGV4XS50YXJnZXQgPSB0aGlzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBjYWxsYmFjayA9IHRoaXNbXCJvblwiICsgZXZlbnQudHlwZV07XG5cbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMsIGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKTtcblxuICAgICAgdmFyIGV2ZW50cztcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIGV2ZW50cyA9IF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQocHJpdmF0ZVRoaXMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnRzKSB7XG4gICAgICAgIHZhciBsaXN0ZW5lcnMgPSBldmVudHNbZXZlbnQudHlwZV07XG5cbiAgICAgICAgaWYgKGxpc3RlbmVycykge1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsaXN0ZW5lcnNbaV0uY2FsbCh0aGlzLCBldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGV2ZW50Ll90YXJnZXQgPSBldmVudC5fY3VycmVudFRhcmdldCA9IG51bGw7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRXZlbnRUYXJnZXQ7XG59KCk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gRXZlbnRUYXJnZXQ7XG5cbn0se1wiLi9EZXZpY2VNb3Rpb25FdmVudFwiOjYsXCIuL1RvdWNoRXZlbnRcIjozMyxcIi4vdXRpbC9XZWFrTWFwXCI6NTN9XSwxMTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9XZWFrTWFwID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi91dGlsL1dlYWtNYXBcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG52YXIgRm9udEZhY2UgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEZvbnRGYWNlKGZhbWlseSwgc291cmNlLCBkZXNjcmlwdG9ycykge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBGb250RmFjZSk7XG5cbiAgICB0aGlzLmZhbWlseSA9IGZhbWlseTtcbiAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICB0aGlzLmRlc2NyaXB0b3JzID0gZGVzY3JpcHRvcnM7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIHZhciBfc2VsZlByaXZhdGUgPSB7XG4gICAgICBzdGF0dXM6IFwidW5sb2FkZWRcIixcbiAgICAgIF9zdGF0dXM6IFwidW5sb2FkZWRcIixcbiAgICAgIGxvYWQ6IGZ1bmN0aW9uIGxvYWQoKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gXCJsb2FkaW5nXCI7XG4gICAgICAgIHZhciBzb3VyY2U7XG5cbiAgICAgICAgaWYgKHNlbGYuc291cmNlLm1hdGNoKC91cmxcXChcXHMqJ1xccyooLio/KVxccyonXFxzKlxcKS8pKSB7XG4gICAgICAgICAgc291cmNlID0gc2VsZi5zb3VyY2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc291cmNlID0gXCJ1cmwoJ1wiICsgc2VsZi5zb3VyY2UgKyBcIicpXCI7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZmFtaWx5ID0gcmFsLmxvYWRGb250KHNlbGYuZmFtaWx5LCBzb3VyY2UpO1xuXG4gICAgICAgIGlmIChmYW1pbHkpIHtcbiAgICAgICAgICB0aGlzLl9zdGF0dXMgPSBcImxvYWRlZFwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N0YXR1cyA9IFwiZXJyb3JcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHZhciBzdGF0dXMgPSBfc2VsZlByaXZhdGUuc3RhdHVzID0gX3NlbGZQcml2YXRlLl9zdGF0dXM7XG5cbiAgICAgICAgICBpZiAoc3RhdHVzID09PSBcImxvYWRlZFwiKSB7XG4gICAgICAgICAgICBfc2VsZlByaXZhdGUubG9hZFJlc29sdmUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX3NlbGZQcml2YXRlLmxvYWRSZWplY3QoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uc2V0KHRoaXMsIF9zZWxmUHJpdmF0ZSk7XG5cbiAgICBfc2VsZlByaXZhdGUubG9hZGVkID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgX3NlbGZQcml2YXRlLmxvYWRSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIF9zZWxmUHJpdmF0ZS5sb2FkUmVqZWN0ID0gcmVqZWN0O1xuICAgIH0pO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEZvbnRGYWNlLCBbe1xuICAgIGtleTogXCJsb2FkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGxvYWQoKSB7XG4gICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmxvYWQoKTtcblxuICAgICAgcmV0dXJuIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykubG9hZGVkO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzdGF0dXNcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLnN0YXR1cztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibG9hZGVkXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5sb2FkZWQ7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEZvbnRGYWNlO1xufSgpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEZvbnRGYWNlO1xuXG59LHtcIi4vdXRpbC9XZWFrTWFwXCI6NTN9XSwxMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfRXZlbnRUYXJnZXQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9FdmVudFRhcmdldFwiKSk7XG5cbnZhciBfRXZlbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0V2ZW50XCIpKTtcblxudmFyIF9XZWFrTWFwID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi91dGlsL1dlYWtNYXBcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIEZvbnRGYWNlU2V0ID0gZnVuY3Rpb24gKF9FdmVudFRhcmdldCkge1xuICBfaW5oZXJpdHMoRm9udEZhY2VTZXQsIF9FdmVudFRhcmdldCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihGb250RmFjZVNldCk7XG5cbiAgZnVuY3Rpb24gRm9udEZhY2VTZXQoKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZvbnRGYWNlU2V0KTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcyk7XG5cbiAgICB2YXIgc2VsZiA9IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpO1xuXG4gICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSkuc3RhdHVzID0gXCJsb2FkZWRcIjtcbiAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKS5yZWFkeSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQoc2VsZikucmVhZHlSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQoc2VsZikucmVhZHlSZWplY3QgPSByZWplY3Q7XG4gICAgfSk7XG4gICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSkuZm9udEZhY2VTZXQgPSBbXTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoRm9udEZhY2VTZXQsIFt7XG4gICAga2V5OiBcImFkZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhZGQoZm9udEZhY2UpIHtcbiAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuZm9udEZhY2VTZXQucHVzaChmb250RmFjZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNoZWNrXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNoZWNrKCkge1xuICAgICAgY29uc29sZS53YXJuKFwiRm9udEZhY2VTZXQuY2hlY2soKSBub3QgaW1wbGVtZW50c1wiKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY2xlYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2xlYXIoKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJGb250RmFjZVNldC5jbGVhcigpIG5vdCBpbXBsZW1lbnRzXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJkZWxldGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2RlbGV0ZSgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkZvbnRGYWNlU2V0LmRlbGV0ZSgpIG5vdCBpbXBsZW1lbnRzXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJsb2FkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGxvYWQoKSB7XG4gICAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLnN0YXR1cyA9IFwibG9hZGluZ1wiO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKCdsb2FkaW5nJykpO1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgdmFyIGZvbnRGYWNlU2V0ID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChzZWxmKS5mb250RmFjZVNldDtcblxuICAgICAgICBpZiAoZm9udEZhY2VTZXQpIHtcbiAgICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBmb250RmFjZVNldCkge1xuICAgICAgICAgICAgdmFyIGZvbnRGYWNlID0gZm9udEZhY2VTZXRbaW5kZXhdO1xuXG4gICAgICAgICAgICB2YXIgc3RhdHVzID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChmb250RmFjZSkuc3RhdHVzO1xuXG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcInVubG9hZGVkXCIgfHwgc3RhdHVzID09PSBcImVycm9yXCIpIHtcbiAgICAgICAgICAgICAgZm9udEZhY2UubG9hZCgpO1xuXG4gICAgICAgICAgICAgIGlmIChfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KGZvbnRGYWNlKS5fc3RhdHVzICE9PSBcImxvYWRlZFwiKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHNlbGYpLnN0YXR1cyA9IFwibG9hZGVkXCI7XG5cbiAgICAgICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHNlbGYpLnJlYWR5UmVzb2x2ZShbXS5jb25jYXQoX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChzZWxmKS5mb250RmFjZVNldCkpO1xuXG4gICAgICAgICAgcmVzb2x2ZShbXS5jb25jYXQoX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChzZWxmKS5mb250RmFjZVNldCkpO1xuICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXSgnbG9hZGluZ2RvbmUnKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldChzZWxmKS5zdGF0dXMgPSBcImxvYWRlZFwiO1xuXG4gICAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQoc2VsZikucmVhZHlSZWplY3QoKTtcblxuICAgICAgICByZWplY3QoKTtcbiAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKCdsb2FkaW5nZXJyb3InKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RhdHVzXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5zdGF0dXM7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlYWR5XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5yZWFkeTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRm9udEZhY2VTZXQ7XG59KF9FdmVudFRhcmdldDJbXCJkZWZhdWx0XCJdKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBGb250RmFjZVNldDtcblxufSx7XCIuL0V2ZW50XCI6OSxcIi4vRXZlbnRUYXJnZXRcIjoxMCxcIi4vdXRpbC9XZWFrTWFwXCI6NTN9XSwxMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfSFRNTEVsZW1lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MRWxlbWVudFwiKSk7XG5cbnZhciBfV2Vha01hcCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vdXRpbC9XZWFrTWFwXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbnZhciBIVE1MQW5jaG9yRWxlbWVudCA9IGZ1bmN0aW9uIChfSFRNTEVsZW1lbnQpIHtcbiAgX2luaGVyaXRzKEhUTUxBbmNob3JFbGVtZW50LCBfSFRNTEVsZW1lbnQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoSFRNTEFuY2hvckVsZW1lbnQpO1xuXG4gIGZ1bmN0aW9uIEhUTUxBbmNob3JFbGVtZW50KCkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIVE1MQW5jaG9yRWxlbWVudCk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIFwiQVwiKTtcbiAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKS5wcm90b2NvbCA9IFwiOlwiO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhIVE1MQW5jaG9yRWxlbWVudCwgW3tcbiAgICBrZXk6IFwicHJvdG9jb2xcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLnByb3RvY29sO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBIVE1MQW5jaG9yRWxlbWVudDtcbn0oX0hUTUxFbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IEhUTUxBbmNob3JFbGVtZW50O1xuXG59LHtcIi4vSFRNTEVsZW1lbnRcIjoxNyxcIi4vdXRpbC9XZWFrTWFwXCI6NTN9XSwxNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfSFRNTE1lZGlhRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxNZWRpYUVsZW1lbnRcIikpO1xuXG52YXIgX0V2ZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9FdmVudFwiKSk7XG5cbnZhciBfV2Vha01hcCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vdXRpbC9XZWFrTWFwXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gc2V0KHRhcmdldCwgcHJvcGVydHksIHZhbHVlLCByZWNlaXZlcikgeyBpZiAodHlwZW9mIFJlZmxlY3QgIT09IFwidW5kZWZpbmVkXCIgJiYgUmVmbGVjdC5zZXQpIHsgc2V0ID0gUmVmbGVjdC5zZXQ7IH0gZWxzZSB7IHNldCA9IGZ1bmN0aW9uIHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIpIHsgdmFyIGJhc2UgPSBfc3VwZXJQcm9wQmFzZSh0YXJnZXQsIHByb3BlcnR5KTsgdmFyIGRlc2M7IGlmIChiYXNlKSB7IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2UsIHByb3BlcnR5KTsgaWYgKGRlc2Muc2V0KSB7IGRlc2Muc2V0LmNhbGwocmVjZWl2ZXIsIHZhbHVlKTsgcmV0dXJuIHRydWU7IH0gZWxzZSBpZiAoIWRlc2Mud3JpdGFibGUpIHsgcmV0dXJuIGZhbHNlOyB9IH0gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVjZWl2ZXIsIHByb3BlcnR5KTsgaWYgKGRlc2MpIHsgaWYgKCFkZXNjLndyaXRhYmxlKSB7IHJldHVybiBmYWxzZTsgfSBkZXNjLnZhbHVlID0gdmFsdWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZWNlaXZlciwgcHJvcGVydHksIGRlc2MpOyB9IGVsc2UgeyBfZGVmaW5lUHJvcGVydHkocmVjZWl2ZXIsIHByb3BlcnR5LCB2YWx1ZSk7IH0gcmV0dXJuIHRydWU7IH07IH0gcmV0dXJuIHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIpOyB9XG5cbmZ1bmN0aW9uIF9zZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHJlY2VpdmVyLCBpc1N0cmljdCkgeyB2YXIgcyA9IHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIgfHwgdGFyZ2V0KTsgaWYgKCFzICYmIGlzU3RyaWN0KSB7IHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIHNldCBwcm9wZXJ0eScpOyB9IHJldHVybiB2YWx1ZTsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKSB7IGlmICh0eXBlb2YgUmVmbGVjdCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBSZWZsZWN0LmdldCkgeyBfZ2V0ID0gUmVmbGVjdC5nZXQ7IH0gZWxzZSB7IF9nZXQgPSBmdW5jdGlvbiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKSB7IHZhciBiYXNlID0gX3N1cGVyUHJvcEJhc2UodGFyZ2V0LCBwcm9wZXJ0eSk7IGlmICghYmFzZSkgcmV0dXJuOyB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZSwgcHJvcGVydHkpOyBpZiAoZGVzYy5nZXQpIHsgcmV0dXJuIGRlc2MuZ2V0LmNhbGwocmVjZWl2ZXIpOyB9IHJldHVybiBkZXNjLnZhbHVlOyB9OyB9IHJldHVybiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyIHx8IHRhcmdldCk7IH1cblxuZnVuY3Rpb24gX3N1cGVyUHJvcEJhc2Uob2JqZWN0LCBwcm9wZXJ0eSkgeyB3aGlsZSAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KSkgeyBvYmplY3QgPSBfZ2V0UHJvdG90eXBlT2Yob2JqZWN0KTsgaWYgKG9iamVjdCA9PT0gbnVsbCkgYnJlYWs7IH0gcmV0dXJuIG9iamVjdDsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIF9FUlJPUiA9IC0xO1xuXG52YXIgX0lOSVRJQUxJWklORyA9IDA7XG52YXIgX1BMQVlJTkcgPSAxO1xudmFyIF9QQVVTRSA9IDI7XG5cbnZhciBfYXVkaW9fdmFsaWRfaWQgPSBmdW5jdGlvbiBfYXVkaW9fdmFsaWRfaWQoYXVkaW9JRCkge1xuICByZXR1cm4gdHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCI7XG59O1xuXG52YXIgX2F1ZGlvX3ZhbGlkX3NyYyA9IGZ1bmN0aW9uIF9hdWRpb192YWxpZF9zcmMoc3JjKSB7XG4gIHJldHVybiB0eXBlb2Ygc3JjID09PSBcInN0cmluZ1wiICYmIHNyYyAhPT0gXCJcIjtcbn07XG5cbnZhciBIVE1MQXVkaW9FbGVtZW50ID0gZnVuY3Rpb24gKF9IVE1MTWVkaWFFbGVtZW50KSB7XG4gIF9pbmhlcml0cyhIVE1MQXVkaW9FbGVtZW50LCBfSFRNTE1lZGlhRWxlbWVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihIVE1MQXVkaW9FbGVtZW50KTtcblxuICBmdW5jdGlvbiBIVE1MQXVkaW9FbGVtZW50KHVybCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIVE1MQXVkaW9FbGVtZW50KTtcblxuICAgIHJldHVybiBfc3VwZXIuY2FsbCh0aGlzLCB1cmwsICdBVURJTycpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEhUTUxBdWRpb0VsZW1lbnQsIFt7XG4gICAga2V5OiBcImNhblBsYXlUeXBlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNhblBsYXlUeXBlKCkge1xuICAgICAgdmFyIG1lZGlhVHlwZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7XG5cbiAgICAgIGlmICh0eXBlb2YgbWVkaWFUeXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZWRpYVR5cGUuaW5kZXhPZignYXVkaW8vbXBlZycpID4gLTEgfHwgbWVkaWFUeXBlLmluZGV4T2YoJ2F1ZGlvL21wNCcpKSB7XG4gICAgICAgIHJldHVybiAncHJvYmFibHknO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImxvYWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gbG9hZCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcyk7XG5cbiAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgaWYgKF9hdWRpb192YWxpZF9pZChhdWRpb0lEKSkge1xuICAgICAgICByYWwuQXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcbiAgICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciBzcmMgPSB0aGlzLnNyYztcblxuICAgICAgaWYgKF9hdWRpb192YWxpZF9zcmMoc3JjKSkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgIHR5cGU6IFwibG9hZHN0YXJ0XCJcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcbiAgICAgICAgcmFsLkF1ZGlvRW5naW5lLnByZWxvYWQodGhpcy5zcmMsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLnNyYyA9PT0gc3JjKSB7XG4gICAgICAgICAgICAgIGlmIChzZWxmLmF1dG9wbGF5KSB7XG4gICAgICAgICAgICAgICAgc2VsZi5wbGF5KCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQobmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJsb2FkZWRtZXRhZGF0YVwiKSk7XG4gICAgICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRlZGRhdGFcIikpO1xuICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQobmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJjYW5wbGF5XCIpKTtcbiAgICAgICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwiY2FucGxheXRocm91Z2hcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzcmMgIT09IFwiXCIpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiaW52YWxpZCBzcmM6IFwiLCBzcmMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwiZXJyb3JcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJwYXVzZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwYXVzZSgpIHtcbiAgICAgIHZhciBhdWRpb0lEID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5hdWRpb0lEO1xuXG4gICAgICBpZiAoX2F1ZGlvX3ZhbGlkX2lkKGF1ZGlvSUQpKSB7XG4gICAgICAgIHZhciBzdGF0ZSA9IHJhbC5BdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKTtcblxuICAgICAgICBpZiAoc3RhdGUgPT09IF9JTklUSUFMSVpJTkcgfHwgc3RhdGUgPT09IF9QTEFZSU5HKSB7XG4gICAgICAgICAgcmFsLkF1ZGlvRW5naW5lLnBhdXNlKGF1ZGlvSUQpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcInBhdXNlXCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJwbGF5XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHBsYXkoKSB7XG4gICAgICBpZiAoIV9hdWRpb192YWxpZF9zcmModGhpcy5zcmMpKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgdHlwZTogXCJlbXB0aWVkXCJcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdWRpbyBwbGF5OiBwbGVhc2UgZGVmaW5lIHNyYyBiZWZvcmUgcGxheVwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgYXVkaW9JRCA9IF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuYXVkaW9JRDtcblxuICAgICAgaWYgKF9hdWRpb192YWxpZF9pZChhdWRpb0lEKSkge1xuICAgICAgICB2YXIgc3RhdGUgPSByYWwuQXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCk7XG5cbiAgICAgICAgc3dpdGNoIChzdGF0ZSkge1xuICAgICAgICAgIGNhc2UgX1BBVVNFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByYWwuQXVkaW9FbmdpbmUucmVzdW1lKGF1ZGlvSUQpO1xuICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJwbGF5XCIpKTtcbiAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwicGxheWluZ1wiKSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgX1BMQVlJTkc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWUgPSAwO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIF9JTklUSUFMSVpJTkc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgX0VSUk9SOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB7fVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBzZWxmID0gdGhpcztcbiAgICAgIGF1ZGlvSUQgPSByYWwuQXVkaW9FbmdpbmUucGxheSh0aGlzLnNyYywgdGhpcy5sb29wLCB0aGlzLnZvbHVtZSk7XG5cbiAgICAgIGlmIChhdWRpb0lEID09PSAtMSkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQobmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJlcnJvclwiKSk7XG4gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwiZW5kZWRcIikpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgY3VycmVudFRpbWUgPSB0aGlzLmN1cnJlbnRUaW1lO1xuXG4gICAgICBpZiAodHlwZW9mIGN1cnJlbnRUaW1lID09PSBcIm51bWJlclwiICYmIGN1cnJlbnRUaW1lID4gMCkge1xuICAgICAgICByYWwuQXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgY3VycmVudFRpbWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJwbGF5XCIpKTtcbiAgICAgIHJhbC5BdWRpb0VuZ2luZS5zZXRGaW5pc2hDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQoc2VsZikuYXVkaW9JRCA9IG51bGw7XG4gICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImVuZGVkXCIpKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodHlwZW9mIHJhbC5BdWRpb0VuZ2luZS5zZXRFcnJvckNhbGxiYWNrICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJhbC5BdWRpb0VuZ2luZS5zZXRFcnJvckNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHNlbGYpLmF1ZGlvSUQgPSBudWxsO1xuICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImVycm9yXCIpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgcmFsLkF1ZGlvRW5naW5lLnNldFdhaXRpbmdDYWxsYmFjayAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByYWwuQXVkaW9FbmdpbmUuc2V0V2FpdGluZ0NhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQobmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJ3YWl0aW5nXCIpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgcmFsLkF1ZGlvRW5naW5lLnNldENhblBsYXlDYWxsYmFjayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJhbC5BdWRpb0VuZ2luZS5zZXRDYW5QbGF5Q2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImNhbnBsYXlcIikpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5hdWRpb0lEID0gYXVkaW9JRDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3VycmVudFRpbWVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBhdWRpb0lEID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5hdWRpb0lEO1xuXG4gICAgICBpZiAoX2F1ZGlvX3ZhbGlkX2lkKGF1ZGlvSUQpKSB7XG4gICAgICAgIHJldHVybiByYWwuQXVkaW9FbmdpbmUuZ2V0Q3VycmVudFRpbWUoYXVkaW9JRCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gX2dldChfZ2V0UHJvdG90eXBlT2YoSFRNTEF1ZGlvRWxlbWVudC5wcm90b3R5cGUpLCBcImN1cnJlbnRUaW1lXCIsIHRoaXMpO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhciBhdWRpb0lEID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5hdWRpb0lEO1xuXG4gICAgICBpZiAoX2F1ZGlvX3ZhbGlkX2lkKGF1ZGlvSUQpKSB7XG4gICAgICAgIHJhbC5BdWRpb0VuZ2luZS5zZXRDdXJyZW50VGltZShhdWRpb0lELCB2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIF9zZXQoX2dldFByb3RvdHlwZU9mKEhUTUxBdWRpb0VsZW1lbnQucHJvdG90eXBlKSwgXCJjdXJyZW50VGltZVwiLCB2YWx1ZSwgdGhpcywgdHJ1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImR1cmF0aW9uXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgYXVkaW9JRCA9IF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuYXVkaW9JRDtcblxuICAgICAgaWYgKF9hdWRpb192YWxpZF9pZChhdWRpb0lEKSkge1xuICAgICAgICByZXR1cm4gcmFsLkF1ZGlvRW5naW5lLmdldER1cmF0aW9uKGF1ZGlvSUQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIF9nZXQoX2dldFByb3RvdHlwZU9mKEhUTUxBdWRpb0VsZW1lbnQucHJvdG90eXBlKSwgXCJkdXJhdGlvblwiLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibG9vcFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIGF1ZGlvSUQgPSBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmF1ZGlvSUQ7XG5cbiAgICAgIGlmIChfYXVkaW9fdmFsaWRfaWQoYXVkaW9JRCkpIHtcbiAgICAgICAgcmV0dXJuIHJhbC5BdWRpb0VuZ2luZS5pc0xvb3AoYXVkaW9JRCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gX2dldChfZ2V0UHJvdG90eXBlT2YoSFRNTEF1ZGlvRWxlbWVudC5wcm90b3R5cGUpLCBcImxvb3BcIiwgdGhpcyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdmFyIGF1ZGlvSUQgPSBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmF1ZGlvSUQ7XG5cbiAgICAgIGlmIChfYXVkaW9fdmFsaWRfaWQoYXVkaW9JRCkpIHtcbiAgICAgICAgcmFsLkF1ZGlvRW5naW5lLnNldExvb3AoYXVkaW9JRCwgdmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBfc2V0KF9nZXRQcm90b3R5cGVPZihIVE1MQXVkaW9FbGVtZW50LnByb3RvdHlwZSksIFwibG9vcFwiLCB2YWx1ZSwgdGhpcywgdHJ1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInZvbHVtZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIGF1ZGlvSUQgPSBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmF1ZGlvSUQ7XG5cbiAgICAgIGlmIChfYXVkaW9fdmFsaWRfaWQoYXVkaW9JRCkpIHtcbiAgICAgICAgcmV0dXJuIHJhbC5BdWRpb0VuZ2luZS5nZXRWb2x1bWUoYXVkaW9JRCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gX2dldChfZ2V0UHJvdG90eXBlT2YoSFRNTEF1ZGlvRWxlbWVudC5wcm90b3R5cGUpLCBcInZvbHVtZVwiLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICB2YXIgYXVkaW9JRCA9IF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuYXVkaW9JRDtcblxuICAgICAgaWYgKF9hdWRpb192YWxpZF9pZChhdWRpb0lEKSkge1xuICAgICAgICByYWwuQXVkaW9FbmdpbmUuc2V0Vm9sdW1lKGF1ZGlvSUQsIHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgX3NldChfZ2V0UHJvdG90eXBlT2YoSFRNTEF1ZGlvRWxlbWVudC5wcm90b3R5cGUpLCBcInZvbHVtZVwiLCB2YWx1ZSwgdGhpcywgdHJ1ZSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInNyY1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIF9nZXQoX2dldFByb3RvdHlwZU9mKEhUTUxBdWRpb0VsZW1lbnQucHJvdG90eXBlKSwgXCJzcmNcIiwgdGhpcyk7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKTtcblxuICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICBpZiAoX2F1ZGlvX3ZhbGlkX2lkKGF1ZGlvSUQpKSB7XG4gICAgICAgIHJhbC5BdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuICAgICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgX3NldChfZ2V0UHJvdG90eXBlT2YoSFRNTEF1ZGlvRWxlbWVudC5wcm90b3R5cGUpLCBcInNyY1wiLCB2YWx1ZSwgdGhpcywgdHJ1ZSk7XG5cbiAgICAgIGlmIChfYXVkaW9fdmFsaWRfc3JjKHZhbHVlKSkge1xuICAgICAgICBpZiAodGhpcy5hdXRvcGxheSB8fCB0aGlzLnByZWxvYWQgPT09IFwiYXV0b1wiKSB7XG4gICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gXCJcIikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJpbnZhbGlkIHNyYzogXCIsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImVycm9yXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSFRNTEF1ZGlvRWxlbWVudDtcbn0oX0hUTUxNZWRpYUVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gSFRNTEF1ZGlvRWxlbWVudDtcblxufSx7XCIuL0V2ZW50XCI6OSxcIi4vSFRNTE1lZGlhRWxlbWVudFwiOjIyLFwiLi91dGlsL1dlYWtNYXBcIjo1M31dLDE1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9IVE1MRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxFbGVtZW50LmpzXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgSFRNTEJvZHlFbGVtZW50ID0gZnVuY3Rpb24gKF9IVE1MRWxlbWVudCkge1xuICBfaW5oZXJpdHMoSFRNTEJvZHlFbGVtZW50LCBfSFRNTEVsZW1lbnQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoSFRNTEJvZHlFbGVtZW50KTtcblxuICBmdW5jdGlvbiBIVE1MQm9keUVsZW1lbnQocGFyZW50Tm9kZSkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIVE1MQm9keUVsZW1lbnQpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBcIkJPRFlcIik7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicGFyZW50Tm9kZVwiLCBudWxsKTtcblxuICAgIF90aGlzLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHJldHVybiBIVE1MQm9keUVsZW1lbnQ7XG59KF9IVE1MRWxlbWVudDJbXCJkZWZhdWx0XCJdKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBIVE1MQm9keUVsZW1lbnQ7XG5cbn0se1wiLi9IVE1MRWxlbWVudC5qc1wiOjE3fV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxudmFyIF9IVE1MRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxFbGVtZW50XCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmlmIChyYWwuZ2V0RmVhdHVyZVByb3BlcnR5KFwiSFRNTENhbnZhc0VsZW1lbnRcIiwgXCJzcGVjXCIpID09PSBcInZpdm9fcGxhdGZvcm1fc3VwcG9ydFwiKSB7XG4gIHZhciBIVE1MQ2FudmFzRWxlbWVudCA9IHdpbmRvdy5IVE1MQ2FudmFzRWxlbWVudDtcbiAgbW9kdWxlLmV4cG9ydHMgPSBIVE1MQ2FudmFzRWxlbWVudDtcbn0gZWxzZSB7XG4gIHZhciBDQU5WQVNfREVGQVVMVF9XSURUSCA9IDMwMDtcbiAgdmFyIENBTlZBU19ERUZBVUxUX0hFSUdIVCA9IDE1MDtcbiAgd2luZG93LnJhbCA9IHdpbmRvdy5yYWwgfHwge307XG4gIHZhciBfY3JlYXRlQ2FudmFzID0gcmFsLmNyZWF0ZUNhbnZhcztcblxuICB2YXIgX0hUTUxDYW52YXNFbGVtZW50ID0gZnVuY3Rpb24gKF9IVE1MRWxlbWVudCkge1xuICAgIF9pbmhlcml0cyhfSFRNTENhbnZhc0VsZW1lbnQsIF9IVE1MRWxlbWVudCk7XG5cbiAgICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKF9IVE1MQ2FudmFzRWxlbWVudCk7XG5cbiAgICBmdW5jdGlvbiBfSFRNTENhbnZhc0VsZW1lbnQod2lkdGgsIGhlaWdodCkge1xuICAgICAgdmFyIF90aGlzO1xuXG4gICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgX0hUTUxDYW52YXNFbGVtZW50KTtcblxuICAgICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCAnQ0FOVkFTJyk7XG4gICAgICBfdGhpcy5pZCA9ICdnbGNhbnZhcyc7XG4gICAgICBfdGhpcy50eXBlID0gJ2NhbnZhcyc7XG4gICAgICBfdGhpcy50b3AgPSAwO1xuICAgICAgX3RoaXMubGVmdCA9IDA7XG5cbiAgICAgIGlmICh0eXBlb2YgcmFsLmdldEZlYXR1cmVQcm9wZXJ0eShcInJhbC5jcmVhdGVDYW52YXNcIiwgXCJzcGVjXCIpID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHZhciBjYW52YXMgPSBfY3JlYXRlQ2FudmFzKCk7XG5cbiAgICAgICAgY2FudmFzLl9fcHJvdG9fXy5fX3Byb3RvX18gPSBfSFRNTENhbnZhc0VsZW1lbnQucHJvdG90eXBlO1xuICAgICAgICBPYmplY3Qua2V5cyhfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgY2FudmFzW2tleV0gPSB0aGlzW2tleV07XG4gICAgICAgIH0uYmluZChfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSkpO1xuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aCA+PSAwID8gTWF0aC5jZWlsKHdpZHRoKSA6IENBTlZBU19ERUZBVUxUX1dJRFRIO1xuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0ID49IDAgPyBNYXRoLmNlaWwoaGVpZ2h0KSA6IENBTlZBU19ERUZBVUxUX0hFSUdIVDtcbiAgICAgICAgY2FudmFzLl90YXJnZXRJRCA9IF90aGlzLl90YXJnZXRJRDtcbiAgICAgICAgY2FudmFzLl9saXN0ZW5lckNvdW50ID0gX3RoaXMuX2xpc3RlbmVyQ291bnQ7XG4gICAgICAgIGNhbnZhcy5fbGlzdGVuZXJzID0gX3RoaXMuX2xpc3RlbmVycztcbiAgICAgICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKF90aGlzLCBjYW52YXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX3RoaXMuX3dpZHRoID0gd2lkdGggPyBNYXRoLmNlaWwod2lkdGgpIDogQ0FOVkFTX0RFRkFVTFRfV0lEVEg7XG4gICAgICAgIF90aGlzLl9oZWlnaHQgPSBoZWlnaHQgPyBNYXRoLmNlaWwoaGVpZ2h0KSA6IENBTlZBU19ERUZBVUxUX0hFSUdIVDtcbiAgICAgICAgX3RoaXMuX2NvbnRleHQyRCA9IG51bGw7XG4gICAgICAgIF90aGlzLl9hbGlnbm1lbnQgPSBfdGhpcy5fd2lkdGggJSAyID09PSAwID8gOCA6IDQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG5cbiAgICBfY3JlYXRlQ2xhc3MoX0hUTUxDYW52YXNFbGVtZW50LCBbe1xuICAgICAga2V5OiBcImdldENvbnRleHRcIixcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRDb250ZXh0KG5hbWUsIG9wdHMpIHtcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICAgIGlmIChuYW1lID09PSAnd2ViZ2wnIHx8IG5hbWUgPT09ICdleHBlcmltZW50YWwtd2ViZ2wnKSB7XG4gICAgICAgICAgcmV0dXJuIHdpbmRvdy5fX2dsO1xuICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICcyZCcpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuX2NvbnRleHQyRCkge1xuICAgICAgICAgICAgdGhpcy5fY29udGV4dDJEID0gbmV3IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCh0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7XG4gICAgICAgICAgICB0aGlzLl9jb250ZXh0MkQuX2lubmVyQ2FudmFzID0gdGhpcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dDJEO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcImNsaWVudFdpZHRoXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkdGg7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcImNsaWVudEhlaWdodFwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhlaWdodDtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwid2lkdGhcIixcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0KHdpZHRoKSB7XG4gICAgICAgIHdpZHRoID0gcGFyc2VJbnQod2lkdGgpO1xuXG4gICAgICAgIGlmIChpc05hTih3aWR0aCkpIHtcbiAgICAgICAgICB3aWR0aCA9IENBTlZBU19ERUZBVUxUX1dJRFRIO1xuICAgICAgICB9IGVsc2UgaWYgKHdpZHRoIDwgMCkge1xuICAgICAgICAgIHdpZHRoID0gQ0FOVkFTX0RFRkFVTFRfV0lEVEg7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl93aWR0aCA9IHdpZHRoO1xuICAgICAgICB0aGlzLl9hbGlnbm1lbnQgPSB0aGlzLl93aWR0aCAlIDIgPT09IDAgPyA4IDogNDtcblxuICAgICAgICBpZiAodGhpcy5fY29udGV4dDJEKSB7XG4gICAgICAgICAgdGhpcy5fY29udGV4dDJELl93aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiaGVpZ2h0XCIsXG4gICAgICBzZXQ6IGZ1bmN0aW9uIHNldChoZWlnaHQpIHtcbiAgICAgICAgaGVpZ2h0ID0gcGFyc2VJbnQoaGVpZ2h0KTtcblxuICAgICAgICBpZiAoaXNOYU4oaGVpZ2h0KSkge1xuICAgICAgICAgIGhlaWdodCA9IENBTlZBU19ERUZBVUxUX0hFSUdIVDtcbiAgICAgICAgfSBlbHNlIGlmIChoZWlnaHQgPCAwKSB7XG4gICAgICAgICAgaGVpZ2h0ID0gQ0FOVkFTX0RFRkFVTFRfSEVJR0hUO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gaGVpZ2h0O1xuXG4gICAgICAgIGlmICh0aGlzLl9jb250ZXh0MkQpIHtcbiAgICAgICAgICB0aGlzLl9jb250ZXh0MkQuX2hlaWdodCA9IGhlaWdodDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBfSFRNTENhbnZhc0VsZW1lbnQ7XG4gIH0oX0hUTUxFbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG4gIG1vZHVsZS5leHBvcnRzID0gX0hUTUxDYW52YXNFbGVtZW50O1xufVxuXG59LHtcIi4vSFRNTEVsZW1lbnRcIjoxN31dLDE3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9FbGVtZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRWxlbWVudFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgSFRNTEVsZW1lbnQgPSBmdW5jdGlvbiAoX0VsZW1lbnQpIHtcbiAgX2luaGVyaXRzKEhUTUxFbGVtZW50LCBfRWxlbWVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihIVE1MRWxlbWVudCk7XG5cbiAgZnVuY3Rpb24gSFRNTEVsZW1lbnQodGFnTmFtZSkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIVE1MRWxlbWVudCk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIHRhZ05hbWUpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImNsYXNzTmFtZVwiLCAnJyk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY2hpbGRlcm5cIiwgW10pO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInN0eWxlXCIsIHtcbiAgICAgIHdpZHRoOiBcIlwiLmNvbmNhdCh3aW5kb3cuaW5uZXJXaWR0aCwgXCJweFwiKSxcbiAgICAgIGhlaWdodDogXCJcIi5jb25jYXQod2luZG93LmlubmVySGVpZ2h0LCBcInB4XCIpXG4gICAgfSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiaW5zZXJ0QmVmb3JlXCIsIGZ1bmN0aW9uICgpIHt9KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJpbm5lckhUTUxcIiwgJycpO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEhUTUxFbGVtZW50LCBbe1xuICAgIGtleTogXCJzZXRBdHRyaWJ1dGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7XG4gICAgICB0aGlzW25hbWVdID0gdmFsdWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEF0dHJpYnV0ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRBdHRyaWJ1dGUobmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXNbbmFtZV07XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNsaWVudFdpZHRoXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcmV0ID0gcGFyc2VJbnQodGhpcy5zdHlsZS5mb250U2l6ZSwgMTApICogdGhpcy5pbm5lckhUTUwubGVuZ3RoO1xuICAgICAgcmV0dXJuIE51bWJlci5pc05hTihyZXQpID8gMCA6IHJldDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY2xpZW50SGVpZ2h0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcmV0ID0gcGFyc2VJbnQodGhpcy5zdHlsZS5mb250U2l6ZSwgMTApO1xuICAgICAgcmV0dXJuIE51bWJlci5pc05hTihyZXQpID8gMCA6IHJldDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSFRNTEVsZW1lbnQ7XG59KF9FbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IEhUTUxFbGVtZW50O1xuXG59LHtcIi4vRWxlbWVudFwiOjh9XSwxODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfSFRNTEVsZW1lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MRWxlbWVudC5qc1wiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIEhUTUxIZWFkRWxlbWVudCA9IGZ1bmN0aW9uIChfSFRNTEVsZW1lbnQpIHtcbiAgX2luaGVyaXRzKEhUTUxIZWFkRWxlbWVudCwgX0hUTUxFbGVtZW50KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEhUTUxIZWFkRWxlbWVudCk7XG5cbiAgZnVuY3Rpb24gSFRNTEhlYWRFbGVtZW50KHBhcmVudE5vZGUpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgSFRNTEhlYWRFbGVtZW50KTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgXCJIRUFEXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInBhcmVudE5vZGVcIiwgbnVsbCk7XG5cbiAgICBfdGhpcy5wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICByZXR1cm4gSFRNTEhlYWRFbGVtZW50O1xufShfSFRNTEVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gSFRNTEhlYWRFbGVtZW50O1xuXG59LHtcIi4vSFRNTEVsZW1lbnQuanNcIjoxN31dLDE5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9IVE1MRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxFbGVtZW50XCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbnZhciBIVE1MSHRtbEVsZW1lbnQgPSBmdW5jdGlvbiAoX0hUTUxFbGVtZW50KSB7XG4gIF9pbmhlcml0cyhIVE1MSHRtbEVsZW1lbnQsIF9IVE1MRWxlbWVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihIVE1MSHRtbEVsZW1lbnQpO1xuXG4gIGZ1bmN0aW9uIEhUTUxIdG1sRWxlbWVudCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgSFRNTEh0bWxFbGVtZW50KTtcblxuICAgIHJldHVybiBfc3VwZXIuY2FsbCh0aGlzLCBcIkhUTUxcIik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoSFRNTEh0bWxFbGVtZW50LCBbe1xuICAgIGtleTogXCJ2ZXJzaW9uXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSFRNTEh0bWxFbGVtZW50O1xufShfSFRNTEVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gSFRNTEh0bWxFbGVtZW50O1xuXG59LHtcIi4vSFRNTEVsZW1lbnRcIjoxN31dLDIwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbnZhciBfSFRNTEVsZW1lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MRWxlbWVudFwiKSk7XG5cbnZhciBfRXZlbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0V2ZW50XCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmlmIChyYWwuZ2V0RmVhdHVyZVByb3BlcnR5KFwiSFRNTEltYWdlRWxlbWVudFwiLCBcInNwZWNcIikgPT09IFwidml2b19wbGF0Zm9ybV9zdXBwb3J0XCIpIHtcbiAgdmFyIEhUTUxJbWFnZUVsZW1lbnQgPSB3aW5kb3cuSFRNTEltYWdlRWxlbWVudDtcbiAgbW9kdWxlLmV4cG9ydHMgPSBIVE1MSW1hZ2VFbGVtZW50O1xufSBlbHNlIHtcbiAgd2luZG93LnJhbCA9IHdpbmRvdy5yYWwgfHwge307XG4gIHZhciBfY3JldGVJbWFnZSA9IHJhbC5jcmVhdGVJbWFnZTtcblxuICB2YXIgX2ltYWdlO1xuXG4gIHZhciBfc2V0dGVyO1xuXG4gIHZhciBfZ2V0dGVyO1xuXG4gIGlmICh0eXBlb2YgcmFsLmdldEZlYXR1cmVQcm9wZXJ0eShcInJhbC5jcmVhdGVJbWFnZVwiLCBcInNwZWNcIikgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBfaW1hZ2UgPSBfY3JldGVJbWFnZSgpO1xuXG4gICAgdmFyIF9kZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihfaW1hZ2UuX19wcm90b19fLCBcInNyY1wiKTtcblxuICAgIF9zZXR0ZXIgPSBfZGVzY3JpcHRvci5zZXQ7XG4gICAgX2dldHRlciA9IF9kZXNjcmlwdG9yLmdldDtcbiAgfVxuXG4gIHZhciBfSFRNTEltYWdlRWxlbWVudCA9IGZ1bmN0aW9uIChfSFRNTEVsZW1lbnQpIHtcbiAgICBfaW5oZXJpdHMoX0hUTUxJbWFnZUVsZW1lbnQsIF9IVE1MRWxlbWVudCk7XG5cbiAgICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKF9IVE1MSW1hZ2VFbGVtZW50KTtcblxuICAgIGZ1bmN0aW9uIF9IVE1MSW1hZ2VFbGVtZW50KHdpZHRoLCBoZWlnaHQsIGlzQ2FsbGVkRnJvbUltYWdlKSB7XG4gICAgICB2YXIgX3RoaXM7XG5cbiAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBfSFRNTEltYWdlRWxlbWVudCk7XG5cbiAgICAgIGlmICghaXNDYWxsZWRGcm9tSW1hZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIklsbGVnYWwgY29uc3RydWN0b3IsIHVzZSAnbmV3IEltYWdlKHcsIGgpOyBpbnN0ZWFkISdcIik7XG4gICAgICB9XG5cbiAgICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgJ0lNRycpO1xuICAgICAgX3RoaXMuY29tcGxldGUgPSBmYWxzZTtcbiAgICAgIF90aGlzLmNyb3NzT3JpZ2luID0gbnVsbDtcbiAgICAgIF90aGlzLm5hdHVyYWxXaWR0aCA9IDA7XG4gICAgICBfdGhpcy5uYXR1cmFsSGVpZ2h0ID0gMDtcbiAgICAgIF90aGlzLndpZHRoID0gd2lkdGggfHwgMDtcbiAgICAgIF90aGlzLmhlaWdodCA9IGhlaWdodCB8fCAwO1xuXG4gICAgICBpZiAodHlwZW9mIHJhbC5nZXRGZWF0dXJlUHJvcGVydHkoXCJyYWwuY3JlYXRlSW1hZ2VcIiwgXCJzcGVjXCIpID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHZhciBpbWFnZSA9IF9jcmV0ZUltYWdlKCk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcykpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgIGltYWdlW2tleV0gPSB0aGlzW2tleV07XG4gICAgICAgIH0uYmluZChfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSkpO1xuXG4gICAgICAgIGltYWdlLl9vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5uYXR1cmFsV2lkdGggPSB0aGlzLndpZHRoO1xuICAgICAgICAgIHRoaXMubmF0dXJhbEhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRcIikpO1xuICAgICAgICB9LmJpbmQoaW1hZ2UpO1xuXG4gICAgICAgIGltYWdlLl9vbmVycm9yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImVycm9yXCIpKTtcbiAgICAgICAgfS5iaW5kKGltYWdlKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW1hZ2UsIFwic3JjXCIsIHtcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICAgIHJldHVybiBfZ2V0dGVyLmNhbGwodGhpcyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIF9zZXR0ZXIuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKF90aGlzLCBpbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG5cbiAgICBfY3JlYXRlQ2xhc3MoX0hUTUxJbWFnZUVsZW1lbnQsIFt7XG4gICAgICBrZXk6IFwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0XCIsXG4gICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgICAgICByZXR1cm4gbmV3IERPTVJlY3QoMCwgMCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpO1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogXCJzcmNcIixcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0KHNyYykge1xuICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgICB0aGlzLl9zcmMgPSBzcmM7XG5cbiAgICAgICAgaWYgKHNyYyA9PT0gXCJcIikge1xuICAgICAgICAgIHRoaXMud2lkdGggPSAwO1xuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gMDtcbiAgICAgICAgICB0aGlzLl9kYXRhID0gbnVsbDtcbiAgICAgICAgICB0aGlzLl9pbWFnZU1ldGEgPSBudWxsO1xuICAgICAgICAgIHRoaXMuY29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX2dsRm9ybWF0ID0gdGhpcy5fZ2xJbnRlcm5hbEZvcm1hdCA9IDB4MTkwODtcbiAgICAgICAgICB0aGlzLmNyb3NzT3JpZ2luID0gbnVsbDtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByYWwubG9hZEltYWdlRGF0YShzcmMsIGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgICAgaWYgKCFpbmZvKSB7XG4gICAgICAgICAgICB2YXIgX2V2ZW50ID0gbmV3IF9FdmVudFtcImRlZmF1bHRcIl0oJ2Vycm9yJyk7XG5cbiAgICAgICAgICAgIF90aGlzMi5kaXNwYXRjaEV2ZW50KF9ldmVudCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGhpczIuX2ltYWdlTWV0YSA9IGluZm87XG4gICAgICAgICAgX3RoaXMyLndpZHRoID0gX3RoaXMyLm5hdHVyYWxXaWR0aCA9IGluZm8ud2lkdGg7XG4gICAgICAgICAgX3RoaXMyLmhlaWdodCA9IF90aGlzMi5uYXR1cmFsSGVpZ2h0ID0gaW5mby5oZWlnaHQ7XG4gICAgICAgICAgX3RoaXMyLl9kYXRhID0gaW5mby5kYXRhO1xuICAgICAgICAgIF90aGlzMi5fZ2xGb3JtYXQgPSBpbmZvLmdsRm9ybWF0O1xuICAgICAgICAgIF90aGlzMi5fZ2xJbnRlcm5hbEZvcm1hdCA9IGluZm8uZ2xJbnRlcm5hbEZvcm1hdDtcbiAgICAgICAgICBfdGhpczIuX2dsVHlwZSA9IGluZm8uZ2xUeXBlO1xuICAgICAgICAgIF90aGlzMi5fbnVtYmVyT2ZNaXBtYXBzID0gaW5mby5udW1iZXJPZk1pcG1hcHM7XG4gICAgICAgICAgX3RoaXMyLl9jb21wcmVzc2VkID0gaW5mby5jb21wcmVzc2VkO1xuICAgICAgICAgIF90aGlzMi5fYnBwID0gaW5mby5icHA7XG4gICAgICAgICAgX3RoaXMyLl9wcmVtdWx0aXBseUFscGhhID0gaW5mby5wcmVtdWx0aXBseUFscGhhO1xuICAgICAgICAgIF90aGlzMi5fYWxpZ25tZW50ID0gMTtcblxuICAgICAgICAgIGlmICgoX3RoaXMyLl9udW1iZXJPZk1pcG1hcHMgPT0gMCB8fCBfdGhpczIuX251bWJlck9mTWlwbWFwcyA9PSAxKSAmJiAhX3RoaXMyLl9jb21wcmVzc2VkKSB7XG4gICAgICAgICAgICB2YXIgYnl0ZXNQZXJSb3cgPSBfdGhpczIud2lkdGggKiBfdGhpczIuX2JwcCAvIDg7XG4gICAgICAgICAgICBpZiAoYnl0ZXNQZXJSb3cgJSA4ID09IDApIF90aGlzMi5fYWxpZ25tZW50ID0gODtlbHNlIGlmIChieXRlc1BlclJvdyAlIDQgPT0gMCkgX3RoaXMyLl9hbGlnbm1lbnQgPSA0O2Vsc2UgaWYgKGJ5dGVzUGVyUm93ICUgMiA9PSAwKSBfdGhpczIuX2FsaWdubWVudCA9IDI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX3RoaXMyLmNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICB2YXIgZXZlbnQgPSBuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXSgnbG9hZCcpO1xuXG4gICAgICAgICAgX3RoaXMyLmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NyYztcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiY2xpZW50V2lkdGhcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy53aWR0aDtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiY2xpZW50SGVpZ2h0XCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVpZ2h0O1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBfSFRNTEltYWdlRWxlbWVudDtcbiAgfShfSFRNTEVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbiAgbW9kdWxlLmV4cG9ydHMgPSBfSFRNTEltYWdlRWxlbWVudDtcbn1cblxufSx7XCIuL0V2ZW50XCI6OSxcIi4vSFRNTEVsZW1lbnRcIjoxN31dLDIxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9IVE1MRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxFbGVtZW50XCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcikgeyBpZiAodHlwZW9mIFJlZmxlY3QgIT09IFwidW5kZWZpbmVkXCIgJiYgUmVmbGVjdC5nZXQpIHsgX2dldCA9IFJlZmxlY3QuZ2V0OyB9IGVsc2UgeyBfZ2V0ID0gZnVuY3Rpb24gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcikgeyB2YXIgYmFzZSA9IF9zdXBlclByb3BCYXNlKHRhcmdldCwgcHJvcGVydHkpOyBpZiAoIWJhc2UpIHJldHVybjsgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2UsIHByb3BlcnR5KTsgaWYgKGRlc2MuZ2V0KSB7IHJldHVybiBkZXNjLmdldC5jYWxsKHJlY2VpdmVyKTsgfSByZXR1cm4gZGVzYy52YWx1ZTsgfTsgfSByZXR1cm4gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlciB8fCB0YXJnZXQpOyB9XG5cbmZ1bmN0aW9uIF9zdXBlclByb3BCYXNlKG9iamVjdCwgcHJvcGVydHkpIHsgd2hpbGUgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSkpIHsgb2JqZWN0ID0gX2dldFByb3RvdHlwZU9mKG9iamVjdCk7IGlmIChvYmplY3QgPT09IG51bGwpIGJyZWFrOyB9IHJldHVybiBvYmplY3Q7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbndpbmRvdy5yYWwgPSB3aW5kb3cucmFsIHx8IHt9O1xuXG52YXIgSFRNTElucHV0RWxlbWVudCA9IGZ1bmN0aW9uIChfSFRNTEVsZW1lbnQpIHtcbiAgX2luaGVyaXRzKEhUTUxJbnB1dEVsZW1lbnQsIF9IVE1MRWxlbWVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihIVE1MSW5wdXRFbGVtZW50KTtcblxuICBmdW5jdGlvbiBIVE1MSW5wdXRFbGVtZW50KCkge1xuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBIVE1MSW5wdXRFbGVtZW50KTtcblxuICAgIHJldHVybiBfc3VwZXIuY2FsbCh0aGlzLCBcIklOUFVUXCIpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEhUTUxJbnB1dEVsZW1lbnQsIFt7XG4gICAga2V5OiBcImZvY3VzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZvY3VzKCkge1xuICAgICAgX2dldChfZ2V0UHJvdG90eXBlT2YoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUpLCBcImZvY3VzXCIsIHRoaXMpLmNhbGwodGhpcyk7XG5cbiAgICAgIGlmICghdGhpcy50YXJnZXQuZWRpdGFibGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgdGhhdCA9IHRoaXM7XG5cbiAgICAgIHZhciBvbktleWJvYXJkSW5wdXQgPSBmdW5jdGlvbiBvbktleWJvYXJkSW5wdXQocmVzKSB7XG4gICAgICAgIHZhciBzdHIgPSByZXMgPyByZXMudmFsdWUgOiBcIlwiO1xuICAgICAgICB0aGF0LmlucHV0VGFyZ2V0LnRleHQgPSBzdHI7XG4gICAgICAgIHRoYXQudGFyZ2V0LmV2ZW50KFwiaW5wdXRcIik7XG4gICAgICB9O1xuXG4gICAgICB2YXIgb25LZXlib2FyZENvbmZpcm0gPSBmdW5jdGlvbiBvbktleWJvYXJkQ29uZmlybShyZXMpIHtcbiAgICAgICAgdmFyIHN0ciA9IHJlcyA/IHJlcy52YWx1ZSA6IFwiXCI7XG4gICAgICAgIHRoYXQudGFyZ2V0LnRleHQgPSBzdHI7XG4gICAgICAgIHRoYXQudGFyZ2V0LmV2ZW50KFwiaW5wdXRcIik7XG4gICAgICAgIHRoYXQudGFyZ2V0LmZvY3VzID0gZmFsc2U7XG4gICAgICAgIHJhbC5vZmZLZXlib2FyZENvbmZpcm0ob25LZXlib2FyZENvbmZpcm0pO1xuICAgICAgICByYWwub2ZmS2V5Ym9hcmRJbnB1dChvbktleWJvYXJkSW5wdXQpO1xuICAgICAgICByYWwuaGlkZUtleWJvYXJkKHt9KTtcbiAgICAgIH07XG5cbiAgICAgIHJhbC5vZmZLZXlib2FyZElucHV0KG9uS2V5Ym9hcmRJbnB1dCk7XG4gICAgICByYWwub2ZmS2V5Ym9hcmRDb25maXJtKG9uS2V5Ym9hcmRDb25maXJtKTtcbiAgICAgIHJhbC5zaG93S2V5Ym9hcmQoe1xuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgIG1heExlbmd0aDogdGhpcy5tYXhMZW5ndGgsXG4gICAgICAgIG11bHRpcGxlOiB0aGlzLnRhcmdldC5tdWx0aWxpbmUsXG4gICAgICAgIGNvbmZpcm1Ib2xkOiBmYWxzZSxcbiAgICAgICAgaW5wdXRUeXBlOiB0aGlzLnRhcmdldC50eXBlLFxuICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiBzdWNjZXNzKHJlcykge30sXG4gICAgICAgIGZhaWw6IGZ1bmN0aW9uIGZhaWwocmVzKSB7fVxuICAgICAgfSk7XG4gICAgICByYWwub25LZXlib2FyZElucHV0KG9uS2V5Ym9hcmRJbnB1dCk7XG4gICAgICByYWwub25LZXlib2FyZENvbmZpcm0ob25LZXlib2FyZENvbmZpcm0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJibHVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGJsdXIoKSB7XG4gICAgICBfZ2V0KF9nZXRQcm90b3R5cGVPZihIVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZSksIFwiYmx1clwiLCB0aGlzKS5jYWxsKHRoaXMpO1xuXG4gICAgICByYWwuaGlkZUtleWJvYXJkKHt9KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSFRNTElucHV0RWxlbWVudDtcbn0oX0hUTUxFbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbn0se1wiLi9IVE1MRWxlbWVudFwiOjE3fV0sMjI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0hUTUxFbGVtZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vSFRNTEVsZW1lbnRcIikpO1xuXG52YXIgX01lZGlhRXJyb3IgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL01lZGlhRXJyb3JcIikpO1xuXG52YXIgX1dlYWtNYXAgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL3V0aWwvV2Vha01hcFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG52YXIgSFRNTE1lZGlhRWxlbWVudCA9IGZ1bmN0aW9uIChfSFRNTEVsZW1lbnQpIHtcbiAgX2luaGVyaXRzKEhUTUxNZWRpYUVsZW1lbnQsIF9IVE1MRWxlbWVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihIVE1MTWVkaWFFbGVtZW50KTtcblxuICBfY3JlYXRlQ2xhc3MoSFRNTE1lZGlhRWxlbWVudCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiTkVUV09SS19FTVBUWVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIk5FVFdPUktfSURMRVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIk5FVFdPUktfTE9BRElOR1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIDI7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIk5FVFdPUktfTk9fU09VUkNFXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gMztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiSEFWRV9OT1RISU5HXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiSEFWRV9NRVRBREFUQVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkhBVkVfQ1VSUkVOVF9EQVRBXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gMjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiSEFWRV9GVVRVUkVfREFUQVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIDM7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkhBVkVfRU5PVUdIX0RBVEFcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiA0O1xuICAgIH1cbiAgfV0pO1xuXG4gIGZ1bmN0aW9uIEhUTUxNZWRpYUVsZW1lbnQodXJsLCB0eXBlKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEhUTUxNZWRpYUVsZW1lbnQpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCB0eXBlKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJhdWRpb1RyYWNrc1wiLCB1bmRlZmluZWQpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImF1dG9wbGF5XCIsIGZhbHNlKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJjb250cm9sbGVyXCIsIG51bGwpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImNvbnRyb2xzXCIsIGZhbHNlKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJjcm9zc09yaWdpblwiLCBudWxsKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJkZWZhdWx0TXV0ZWRcIiwgZmFsc2UpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImRlZmF1bHRQbGF5YmFja1JhdGVcIiwgMS4wKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJtZWRpYUdyb3VwXCIsIHVuZGVmaW5lZCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibWVkaWFLZXlzXCIsIG51bGwpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIm1vekF1ZGlvQ2hhbm5lbFR5cGVcIiwgdW5kZWZpbmVkKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJtdXRlZFwiLCBmYWxzZSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwibmV0d29ya1N0YXRlXCIsIEhUTUxNZWRpYUVsZW1lbnQuTkVUV09SS19FTVBUWSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicGxheWJhY2tSYXRlXCIsIDEpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcInByZWxvYWRcIiwgXCJhdXRvXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcImxvb3BcIiwgZmFsc2UpO1xuXG4gICAgT2JqZWN0LmFzc2lnbihfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKSwge1xuICAgICAgYnVmZmVyZWQ6IHVuZGVmaW5lZCxcbiAgICAgIGN1cnJlbnRTcmM6IHVybCB8fCBcIlwiLFxuICAgICAgZHVyYXRpb246IDAsXG4gICAgICBlbmRlZDogZmFsc2UsXG4gICAgICBlcnJvcjogbnVsbCxcbiAgICAgIGluaXRpYWxUaW1lOiAwLFxuICAgICAgcGF1c2VkOiB0cnVlLFxuICAgICAgcmVhZHlTdGF0ZTogSFRNTE1lZGlhRWxlbWVudC5IQVZFX05PVEhJTkcsXG4gICAgICB2b2x1bWU6IDEuMCxcbiAgICAgIGN1cnJlbnRUaW1lOiAwXG4gICAgfSk7XG5cbiAgICBfdGhpcy5hZGRFdmVudExpc3RlbmVyKFwiZW5kZWRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5lbmRlZCA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBfdGhpcy5hZGRFdmVudExpc3RlbmVyKFwicGxheVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmVuZGVkID0gZmFsc2U7XG4gICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmVycm9yID0gbnVsbDtcbiAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykucGF1c2VkID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBfdGhpcy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5lcnJvciA9IHRydWU7XG4gICAgICBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmVuZGVkID0gdHJ1ZTtcbiAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykucGF1c2VkID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoSFRNTE1lZGlhRWxlbWVudCwgW3tcbiAgICBrZXk6IFwiY2FuUGxheVR5cGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2FuUGxheVR5cGUobWVkaWFUeXBlKSB7XG4gICAgICByZXR1cm4gJ21heWJlJztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY2FwdHVyZVN0cmVhbVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjYXB0dXJlU3RyZWFtKCkge31cbiAgfSwge1xuICAgIGtleTogXCJmYXN0U2Vla1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBmYXN0U2VlaygpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwibG9hZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBsb2FkKCkge31cbiAgfSwge1xuICAgIGtleTogXCJwYXVzZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwYXVzZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwicGxheVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwbGF5KCkge31cbiAgfSwge1xuICAgIGtleTogXCJjdXJyZW50VGltZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuY3VycmVudFRpbWU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5jdXJyZW50VGltZSA9IHZhbHVlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzcmNcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmN1cnJlbnRTcmM7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5jdXJyZW50U3JjID0gdmFsdWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImJ1ZmZlcmVkXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5idWZmZXJlZDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3VycmVudFNyY1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuY3VycmVudFNyYztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZHVyYXRpb25cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmR1cmF0aW9uO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJlbmRlZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuZW5kZWQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImVycm9yXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5lcnJvcjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaW5pdGlhbFRpbWVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmluaXRpYWxUaW1lO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJwYXVzZWRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLnBhdXNlZDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwidm9sdW1lXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS52b2x1bWU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS52b2x1bWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSFRNTE1lZGlhRWxlbWVudDtcbn0oX0hUTUxFbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IEhUTUxNZWRpYUVsZW1lbnQ7XG5cbn0se1wiLi9IVE1MRWxlbWVudFwiOjE3LFwiLi9NZWRpYUVycm9yXCI6MjgsXCIuL3V0aWwvV2Vha01hcFwiOjUzfV0sMjM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0hUTUxFbGVtZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vSFRNTEVsZW1lbnRcIikpO1xuXG52YXIgX0V2ZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9FdmVudFwiKSk7XG5cbnZhciBfRmlsZUNhY2hlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi91dGlsL0ZpbGVDYWNoZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIF9CQVNFNjRfTkFNRSA9IFwiZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0O2Jhc2U2NCxcIjtcbnZhciBfVVJJX05BTUUgPSBcImRhdGE6YXBwbGljYXRpb24vamF2YXNjcmlwdCxcIjtcblxudmFyIF9nZXRQYXRoRnJvbUJhc2U2NFN0cmluZyA9IGZ1bmN0aW9uIF9nZXRQYXRoRnJvbUJhc2U2NFN0cmluZyhzcmMpIHtcbiAgaWYgKHNyYyA9PT0gbnVsbCB8fCBzcmMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBzcmM7XG4gIH1cblxuICBpZiAoc3JjLnN0YXJ0c1dpdGgoX0JBU0U2NF9OQU1FKSkge1xuICAgIHZhciBjb250ZW50ID0gc3JjLnN1YnN0cmluZyhfQkFTRTY0X05BTUUubGVuZ3RoKTtcbiAgICB2YXIgc291cmNlID0gd2luZG93LmF0b2IoY29udGVudCk7XG4gICAgdmFyIGxlbiA9IHNvdXJjZS5sZW5ndGg7XG5cbiAgICBpZiAobGVuID4gMCkge1xuICAgICAgcmV0dXJuIF9nZXREaXNrUGF0aEZyb21BcnJheUJ1ZmZlcihzb3VyY2UsIGxlbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzcmM7XG4gICAgfVxuICB9IGVsc2UgaWYgKHNyYy5zdGFydHNXaXRoKF9VUklfTkFNRSkpIHtcbiAgICB2YXIgX2NvbnRlbnQgPSBzcmMuc3Vic3RyaW5nKF9VUklfTkFNRS5sZW5ndGgpO1xuXG4gICAgdmFyIF9zb3VyY2UgPSBkZWNvZGVVUklDb21wb25lbnQoX2NvbnRlbnQpO1xuXG4gICAgdmFyIF9sZW4gPSBfc291cmNlLmxlbmd0aDtcblxuICAgIGlmIChfbGVuID4gMCkge1xuICAgICAgcmV0dXJuIF9nZXREaXNrUGF0aEZyb21BcnJheUJ1ZmZlcihfc291cmNlLCBfbGVuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHNyYztcbiAgfVxufTtcblxuZnVuY3Rpb24gX2dldERpc2tQYXRoRnJvbUFycmF5QnVmZmVyKHNvdXJjZSwgbGVuKSB7XG4gIHZhciBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihsZW4pO1xuICB2YXIgdWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgdWludDhBcnJheVtpXSA9IHNvdXJjZS5jaGFyQ29kZUF0KGkpO1xuICB9XG5cbiAgcmV0dXJuIF9GaWxlQ2FjaGVbXCJkZWZhdWx0XCJdLmdldENhY2hlKGFycmF5QnVmZmVyKTtcbn1cblxudmFyIEhUTUxTY3JpcHRFbGVtZW50ID0gZnVuY3Rpb24gKF9IVE1MRWxlbWVudCkge1xuICBfaW5oZXJpdHMoSFRNTFNjcmlwdEVsZW1lbnQsIF9IVE1MRWxlbWVudCk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihIVE1MU2NyaXB0RWxlbWVudCk7XG5cbiAgZnVuY3Rpb24gSFRNTFNjcmlwdEVsZW1lbnQoKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEhUTUxTY3JpcHRFbGVtZW50KTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgJ1NDUklQVCcpO1xuXG4gICAgdmFyIHNlbGYgPSBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKTtcblxuICAgIHZhciBvbkFwcGVuZCA9IGZ1bmN0aW9uIG9uQXBwZW5kKCkge1xuICAgICAgc2VsZi5yZW1vdmVFdmVudExpc3RlbmVyKFwiYXBwZW5kXCIsIG9uQXBwZW5kKTtcblxuICAgICAgdmFyIHNyYyA9IF9nZXRQYXRoRnJvbUJhc2U2NFN0cmluZyhzZWxmLnNyYyk7XG5cbiAgICAgIHJlcXVpcmUoc3JjKTtcblxuICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKCdsb2FkJykpO1xuICAgIH07XG5cbiAgICBfdGhpcy5hZGRFdmVudExpc3RlbmVyKFwiYXBwZW5kXCIsIG9uQXBwZW5kKTtcblxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHJldHVybiBIVE1MU2NyaXB0RWxlbWVudDtcbn0oX0hUTUxFbGVtZW50MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IEhUTUxTY3JpcHRFbGVtZW50O1xuXG59LHtcIi4vRXZlbnRcIjo5LFwiLi9IVE1MRWxlbWVudFwiOjE3LFwiLi91dGlsL0ZpbGVDYWNoZVwiOjUyfV0sMjQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0ZvbnRGYWNlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9Gb250RmFjZVwiKSk7XG5cbnZhciBfSFRNTEVsZW1lbnQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MRWxlbWVudFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIEhUTUxTdHlsZUVsZW1lbnQgPSBmdW5jdGlvbiAoX0hUTUxFbGVtZW50KSB7XG4gIF9pbmhlcml0cyhIVE1MU3R5bGVFbGVtZW50LCBfSFRNTEVsZW1lbnQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoSFRNTFN0eWxlRWxlbWVudCk7XG5cbiAgZnVuY3Rpb24gSFRNTFN0eWxlRWxlbWVudCgpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgSFRNTFN0eWxlRWxlbWVudCk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIFwiU1RZTEVcIik7XG5cbiAgICB2YXIgc2VsZiA9IF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpO1xuXG4gICAgdmFyIG9uQXBwZW5kID0gZnVuY3Rpb24gb25BcHBlbmQoKSB7XG4gICAgICBzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhcHBlbmRcIiwgb25BcHBlbmQpO1xuICAgICAgdmFyIHRleHRDb250ZW50ID0gc2VsZi50ZXh0Q29udGVudCB8fCBzZWxmLmlubmVySFRNTCB8fCBcIlwiO1xuICAgICAgdmFyIGZvbnRGYWNlU3RyID0gXCJcIjtcbiAgICAgIHZhciBzdGFydCA9IDA7XG4gICAgICB2YXIgbGVuZ3RoID0gdGV4dENvbnRlbnQubGVuZ3RoO1xuICAgICAgdmFyIGZsYWcgPSAwO1xuXG4gICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICAgIGlmIChzdGFydCA+IDApIHtcbiAgICAgICAgICBpZiAodGV4dENvbnRlbnRbaW5kZXhdID09PSBcIntcIikge1xuICAgICAgICAgICAgZmxhZysrO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGV4dENvbnRlbnRbaW5kZXhdID09PSBcIn1cIikge1xuICAgICAgICAgICAgZmxhZy0tO1xuXG4gICAgICAgICAgICBpZiAoZmxhZyA9PT0gMCkge1xuICAgICAgICAgICAgICBmb250RmFjZVN0ciA9IHRleHRDb250ZW50LnN1YnN0cmluZyhzdGFydCwgaW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZsYWcgPCAwKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGV4dENvbnRlbnRbaW5kZXhdID09PSBcIkBcIiAmJiB0ZXh0Q29udGVudC5zdWJzdHIoaW5kZXgsIFwiQGZvbnQtZmFjZVwiLmxlbmd0aCkgPT09IFwiQGZvbnQtZmFjZVwiKSB7XG4gICAgICAgICAgICBpbmRleCArPSA5O1xuICAgICAgICAgICAgc3RhcnQgPSBpbmRleCArIDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmb250RmFjZVN0cikge1xuICAgICAgICB2YXIgZm9udEZhbWlseTtcbiAgICAgICAgdmFyIF9sZW5ndGggPSBmb250RmFjZVN0ci5sZW5ndGg7XG5cbiAgICAgICAgdmFyIF9zdGFydCA9IGZvbnRGYWNlU3RyLmluZGV4T2YoXCJmb250LWZhbWlseVwiKTtcblxuICAgICAgICBpZiAoX3N0YXJ0ID09PSAtMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIF9zdGFydCArPSBcImZvbnQtZmFtaWx5XCIubGVuZ3RoICsgMTtcbiAgICAgICAgdmFyIGVuZCA9IF9zdGFydDtcblxuICAgICAgICBmb3IgKDsgZW5kIDwgX2xlbmd0aDsgKytlbmQpIHtcbiAgICAgICAgICBpZiAoZm9udEZhY2VTdHJbZW5kXSA9PT0gXCI7XCIpIHtcbiAgICAgICAgICAgIGZvbnRGYW1pbHkgPSBmb250RmFjZVN0ci5zdWJzdHJpbmcoX3N0YXJ0LCBlbmQpLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZm9udEZhY2VTdHJbZW5kXSA9PT0gXCI6XCIpIHtcbiAgICAgICAgICAgIF9zdGFydCA9IGVuZCArIDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFmb250RmFtaWx5KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZW5kID0gZm9udEZhY2VTdHIuaW5kZXhPZihcInVybChcIik7XG4gICAgICAgIF9zdGFydCA9IDA7XG4gICAgICAgIHZhciBzb3VyY2U7XG5cbiAgICAgICAgZm9yICg7IGVuZCA8IF9sZW5ndGg7ICsrZW5kKSB7XG4gICAgICAgICAgaWYgKGZvbnRGYWNlU3RyW2VuZF0gPT09IFwiJ1wiIHx8IGZvbnRGYWNlU3RyW2VuZF0gPT09ICdcIicpIHtcbiAgICAgICAgICAgIGlmIChfc3RhcnQgPiAwKSB7XG4gICAgICAgICAgICAgIHNvdXJjZSA9IGZvbnRGYWNlU3RyLnN1YnN0cmluZyhfc3RhcnQsIGVuZCkudHJpbSgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3N0YXJ0ID0gZW5kICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgdmFyIGZvbnRGYWNlID0gbmV3IF9Gb250RmFjZVtcImRlZmF1bHRcIl0oZm9udEZhbWlseSwgc291cmNlKTtcbiAgICAgICAgICBmb250RmFjZS5sb2FkKCk7XG4gICAgICAgICAgZG9jdW1lbnQuZm9udHMuYWRkKGZvbnRGYWNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBfdGhpcy5hZGRFdmVudExpc3RlbmVyKFwiYXBwZW5kXCIsIG9uQXBwZW5kKTtcblxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHJldHVybiBIVE1MU3R5bGVFbGVtZW50O1xufShfSFRNTEVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gSFRNTFN0eWxlRWxlbWVudDtcblxufSx7XCIuL0ZvbnRGYWNlXCI6MTEsXCIuL0hUTUxFbGVtZW50XCI6MTd9XSwyNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfSFRNTE1lZGlhRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxNZWRpYUVsZW1lbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIEhUTUxWaWRlb0VsZW1lbnQgPSBmdW5jdGlvbiAoX0hUTUxNZWRpYUVsZW1lbnQpIHtcbiAgX2luaGVyaXRzKEhUTUxWaWRlb0VsZW1lbnQsIF9IVE1MTWVkaWFFbGVtZW50KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEhUTUxWaWRlb0VsZW1lbnQpO1xuXG4gIGZ1bmN0aW9uIEhUTUxWaWRlb0VsZW1lbnQoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEhUTUxWaWRlb0VsZW1lbnQpO1xuXG4gICAgcmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsICdWSURFTycpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEhUTUxWaWRlb0VsZW1lbnQsIFt7XG4gICAga2V5OiBcImNhblBsYXlUeXBlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNhblBsYXlUeXBlKHR5cGUpIHtcbiAgICAgIHJldHVybiB0eXBlID09PSAndmlkZW8vbXA0JztcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gSFRNTFZpZGVvRWxlbWVudDtcbn0oX0hUTUxNZWRpYUVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gSFRNTFZpZGVvRWxlbWVudDtcblxufSx7XCIuL0hUTUxNZWRpYUVsZW1lbnRcIjoyMn1dLDI2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbnZhciBfSFRNTEltYWdlRWxlbWVudDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxJbWFnZUVsZW1lbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbmlmIChyYWwuZ2V0RmVhdHVyZVByb3BlcnR5KFwiSW1hZ2VcIiwgXCJzcGVjXCIpID09PSBcInZpdm9fcGxhdGZvcm1fc3VwcG9ydFwiKSB7XG4gIHZhciBJbWFnZSA9IHdpbmRvdy5JbWFnZTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBJbWFnZTtcbn0gZWxzZSB7XG4gIHZhciBfSW1hZ2UgPSB3aW5kb3cuSW1hZ2U7XG5cbiAgdmFyIF9JbWFnZTIgPSBmdW5jdGlvbiAoX0hUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICBfaW5oZXJpdHMoX0ltYWdlMiwgX0hUTUxJbWFnZUVsZW1lbnQpO1xuXG4gICAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihfSW1hZ2UyKTtcblxuICAgIGZ1bmN0aW9uIF9JbWFnZTIod2lkdGgsIGhlaWdodCkge1xuICAgICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIF9JbWFnZTIpO1xuXG4gICAgICByZXR1cm4gX3N1cGVyLmNhbGwodGhpcywgd2lkdGgsIGhlaWdodCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9JbWFnZTI7XG4gIH0oX0hUTUxJbWFnZUVsZW1lbnQyW1wiZGVmYXVsdFwiXSk7XG5cbiAgdmFyIF9jcmV0ZUltYWdlID0gcmFsLmNyZWF0ZUltYWdlO1xuXG4gIGlmIChfY3JldGVJbWFnZSkge1xuICAgIF9JbWFnZS5wcm90b3R5cGUuX19wcm90b19fID0gX0ltYWdlMi5wcm90b3R5cGU7XG4gIH1cblxuICBtb2R1bGUuZXhwb3J0cyA9IF9JbWFnZTI7XG59XG5cbn0se1wiLi9IVE1MSW1hZ2VFbGVtZW50XCI6MjB9XSwyNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbnZhciBMb2NhdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gTG9jYXRpb24oKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIExvY2F0aW9uKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImFuY2VzdG9yT3JpZ2luc1wiLCBcIlwiKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImhhc2hcIiwgXCJcIik7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJob3N0XCIsIFwiXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiaG9zdG5hbWVcIiwgXCJcIik7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJocmVmXCIsIFwiZ2FtZS5qc1wiKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm9yaWdpblwiLCBcIlwiKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBhc3N3b3JkXCIsIFwiXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwicGF0aG5hbWVcIiwgXCJnYW1lLmpzXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwicG9ydFwiLCBcIlwiKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInByb3RvY29sXCIsIFwiXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwic2VhcmNoXCIsIFwiXCIpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwidXNlcm5hbWVcIiwgXCJcIik7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTG9jYXRpb24sIFt7XG4gICAga2V5OiBcImFzc2lnblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBhc3NpZ24oKSB7fVxuICB9LCB7XG4gICAga2V5OiBcInJlbG9hZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZWxvYWQoKSB7fVxuICB9LCB7XG4gICAga2V5OiBcInJlcGxhY2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVwbGFjZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwidG9TdHJpbmdcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTG9jYXRpb247XG59KCk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gTG9jYXRpb247XG5cbn0se31dLDI4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxudmFyIE1FRElBX0VSUl9BQk9SVEVEID0gMTtcbnZhciBNRURJQV9FUlJfTkVUV09SSyA9IDI7XG52YXIgTUVESUFfRVJSX0RFQ09ERSA9IDM7XG52YXIgTUVESUFfRVJSX1NSQ19OT1RfU1VQUE9SVEVEID0gNDtcblxudmFyIE1lZGlhRXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIE1lZGlhRXJyb3IoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE1lZGlhRXJyb3IpO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKE1lZGlhRXJyb3IsIFt7XG4gICAga2V5OiBcImNvZGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBNRURJQV9FUlJfQUJPUlRFRDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibWVzc2FnZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIE1lZGlhRXJyb3I7XG59KCk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gTWVkaWFFcnJvcjtcbm1vZHVsZS5leHBvcnRzID0gTWVkaWFFcnJvcjtcblxufSx7fV0sMjk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIE5hdmlnYXRvciA9IGZ1bmN0aW9uIE5hdmlnYXRvcihwbGF0Zm9ybSwgbGFuZ3VhZ2UpIHtcbiAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE5hdmlnYXRvcik7XG5cbiAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwicGxhdGZvcm1cIiwgXCJcIik7XG5cbiAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwibGFuZ3VhZ2VcIiwgXCJcIik7XG5cbiAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiYXBwVmVyc2lvblwiLCAnNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgOV8xIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMS4xLjQ2IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi85LjAgTW9iaWxlLzEzQjE0MyBTYWZhcmkvNjAxLjEnKTtcblxuICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJ1c2VyQWdlbnRcIiwgJ01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTBfM18xIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMy4xLjMwIChLSFRNTCwgbGlrZSBHZWNrbykgTW9iaWxlLzE0RTgzMDEgTmV0VHlwZS9XSUZJIExhbmd1YWdlL3poX0NOJyk7XG5cbiAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwib25MaW5lXCIsIHRydWUpO1xuXG4gIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcIm1heFRvdWNoUG9pbnRzXCIsIDEwKTtcblxuICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJnZW9sb2NhdGlvblwiLCB7XG4gICAgZ2V0Q3VycmVudFBvc2l0aW9uOiBmdW5jdGlvbiBnZXRDdXJyZW50UG9zaXRpb24oKSB7fSxcbiAgICB3YXRjaFBvc2l0aW9uOiBmdW5jdGlvbiB3YXRjaFBvc2l0aW9uKCkge30sXG4gICAgY2xlYXJXYXRjaDogZnVuY3Rpb24gY2xlYXJXYXRjaCgpIHt9XG4gIH0pO1xuXG4gIHRoaXMucGxhdGZvcm0gPSBwbGF0Zm9ybTtcbiAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xufTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBOYXZpZ2F0b3I7XG5cbn0se31dLDMwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9FdmVudFRhcmdldDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0V2ZW50VGFyZ2V0XCIpKTtcblxudmFyIF9FdmVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRXZlbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKSB7IGlmICh0eXBlb2YgUmVmbGVjdCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBSZWZsZWN0LmdldCkgeyBfZ2V0ID0gUmVmbGVjdC5nZXQ7IH0gZWxzZSB7IF9nZXQgPSBmdW5jdGlvbiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKSB7IHZhciBiYXNlID0gX3N1cGVyUHJvcEJhc2UodGFyZ2V0LCBwcm9wZXJ0eSk7IGlmICghYmFzZSkgcmV0dXJuOyB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZSwgcHJvcGVydHkpOyBpZiAoZGVzYy5nZXQpIHsgcmV0dXJuIGRlc2MuZ2V0LmNhbGwocmVjZWl2ZXIpOyB9IHJldHVybiBkZXNjLnZhbHVlOyB9OyB9IHJldHVybiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyIHx8IHRhcmdldCk7IH1cblxuZnVuY3Rpb24gX3N1cGVyUHJvcEJhc2Uob2JqZWN0LCBwcm9wZXJ0eSkgeyB3aGlsZSAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KSkgeyBvYmplY3QgPSBfZ2V0UHJvdG90eXBlT2Yob2JqZWN0KTsgaWYgKG9iamVjdCA9PT0gbnVsbCkgYnJlYWs7IH0gcmV0dXJuIG9iamVjdDsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIE5vZGUgPSBmdW5jdGlvbiAoX0V2ZW50VGFyZ2V0KSB7XG4gIF9pbmhlcml0cyhOb2RlLCBfRXZlbnRUYXJnZXQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoTm9kZSk7XG5cbiAgZnVuY3Rpb24gTm9kZShub2RlTmFtZSkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBOb2RlKTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcyk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiY2hpbGROb2Rlc1wiLCBbXSk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwicGFyZW50Tm9kZVwiLCBudWxsKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfbm9kZU5hbWVcIiwgXCJcIik7XG5cbiAgICBfdGhpcy5fbm9kZU5hbWUgPSBub2RlTmFtZTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoTm9kZSwgW3tcbiAgICBrZXk6IFwiYXBwZW5kQ2hpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gYXBwZW5kQ2hpbGQobm9kZSkge1xuICAgICAgdGhpcy5jaGlsZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICBub2RlLnBhcmVudE5vZGUgPSB0aGlzO1xuICAgICAgdmFyIG5vZGVOYW1lID0gbm9kZS5ub2RlTmFtZTtcblxuICAgICAgaWYgKG5vZGVOYW1lID09PSBcIlNDUklQVFwiIHx8IG5vZGVOYW1lID09PSBcIlNUWUxFXCIpIHtcbiAgICAgICAgbm9kZS5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwiYXBwZW5kXCIpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNsb25lTm9kZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjbG9uZU5vZGUoKSB7XG4gICAgICB2YXIgY29weU5vZGUgPSBPYmplY3QuY3JlYXRlKHRoaXMpO1xuICAgICAgT2JqZWN0LmFzc2lnbihjb3B5Tm9kZSwgdGhpcyk7XG4gICAgICBjb3B5Tm9kZS5wYXJlbnROb2RlID0gbnVsbDtcbiAgICAgIHJldHVybiBjb3B5Tm9kZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVtb3ZlQ2hpbGRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVtb3ZlQ2hpbGQobm9kZSkge1xuICAgICAgdmFyIGluZGV4ID0gdGhpcy5jaGlsZE5vZGVzLmZpbmRJbmRleChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkID09PSBub2RlO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHZhciBfbm9kZSA9IHRoaXMuY2hpbGROb2Rlcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICBfbm9kZS5wYXJlbnROb2RlID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIF9ub2RlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY29udGFpbnNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29udGFpbnMobm9kZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2hpbGROb2Rlcy5pbmRleE9mKG5vZGUpID4gLTE7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImRpc3BhdGNoRXZlbnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzcGF0Y2hFdmVudCgpIHtcbiAgICAgIHZhciByZXN1bHQgPSB0cnVlO1xuICAgICAgdmFyIGxlbmd0aCA9IHRoaXMuY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGluZGV4ID0gbGVuZ3RoIC0gMTsgcmVzdWx0ICYmIGluZGV4ID49IDA7IC0taW5kZXgpIHtcbiAgICAgICAgdmFyIF90aGlzJGNoaWxkTm9kZXMkaW5kZTtcblxuICAgICAgICByZXN1bHQgPSAoX3RoaXMkY2hpbGROb2RlcyRpbmRlID0gdGhpcy5jaGlsZE5vZGVzW2luZGV4XSkuZGlzcGF0Y2hFdmVudC5hcHBseShfdGhpcyRjaGlsZE5vZGVzJGluZGUsIGFyZ3VtZW50cyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIF9nZXQoX2dldFByb3RvdHlwZU9mKE5vZGUucHJvdG90eXBlKSwgXCJkaXNwYXRjaEV2ZW50XCIsIHRoaXMpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibm9kZU5hbWVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ub2RlTmFtZTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTm9kZTtcbn0oX0V2ZW50VGFyZ2V0MltcImRlZmF1bHRcIl0pO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IE5vZGU7XG5cbn0se1wiLi9FdmVudFwiOjksXCIuL0V2ZW50VGFyZ2V0XCI6MTB9XSwzMTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX1dlYWtNYXAgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL3V0aWwvV2Vha01hcFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxudmFyIE5vZGVMaXN0ID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBOb2RlTGlzdCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTm9kZUxpc3QpO1xuXG4gICAgX1dlYWtNYXBbXCJkZWZhdWx0XCJdLnNldCh0aGlzLCB7XG4gICAgICBhcnJheTogW11cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQodGFyZ2V0LCBrZXkpIHtcbiAgICAgICAgaWYgKF90eXBlb2Yoa2V5KSA9PT0gXCJzeW1ib2xcIikge1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKC9eWzAtOV0qJC8udGVzdChrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGFyZ2V0KS5hcnJheVtrZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHJlc3VsdCA9IHRhcmdldFtrZXldO1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuYmluZCh0YXJnZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhOb2RlTGlzdCwgW3tcbiAgICBrZXk6IFwicHVzaFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwdXNoKGVsZW1lbnQpIHtcbiAgICAgIF9XZWFrTWFwW1wiZGVmYXVsdFwiXS5nZXQodGhpcykuYXJyYXkucHVzaChlbGVtZW50KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaXRlbVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpdGVtKGluZGV4KSB7XG4gICAgICByZXR1cm4gX1dlYWtNYXBbXCJkZWZhdWx0XCJdLmdldCh0aGlzKS5hcnJheVtpbmRleF07XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNvbmNhdFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb25jYXQoKSB7XG4gICAgICB2YXIgYXJyYXkgPSBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmFycmF5O1xuXG4gICAgICByZXR1cm4gYXJyYXkuY29uY2F0LmFwcGx5KGFycmF5LCBhcmd1bWVudHMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJsZW5ndGhcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBfV2Vha01hcFtcImRlZmF1bHRcIl0uZ2V0KHRoaXMpLmFycmF5Lmxlbmd0aDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTm9kZUxpc3Q7XG59KCk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gTm9kZUxpc3Q7XG5cbn0se1wiLi91dGlsL1dlYWtNYXBcIjo1M31dLDMyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxud2luZG93LnJhbCA9IHdpbmRvdy5yYWwgfHwge307XG5cbnZhciBTY3JlZW4gPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNjcmVlbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgU2NyZWVuKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImF2YWlsVG9wXCIsIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiYXZhaWxMZWZ0XCIsIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiYXZhaWxIZWlnaHRcIiwgd2luZG93LmlubmVySGVpZ2h0KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImF2YWlsV2lkdGhcIiwgd2luZG93LmlubmVyV2lkdGgpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiY29sb3JEZXB0aFwiLCA4KTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBpeGVsRGVwdGhcIiwgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJsZWZ0XCIsIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwidG9wXCIsIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwid2lkdGhcIiwgd2luZG93LmlubmVyV2lkdGgpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KHRoaXMsIFwiaGVpZ2h0XCIsIHdpbmRvdy5pbm5lckhlaWdodCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkodGhpcywgXCJvcmllbnRhdGlvblwiLCB7XG4gICAgICB0eXBlOiAncG9ydHJhaXQtcHJpbWFyeSdcbiAgICB9KTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhTY3JlZW4sIFt7XG4gICAga2V5OiBcIm9ub3JpZW50YXRpb25jaGFuZ2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25vcmllbnRhdGlvbmNoYW5nZSgpIHt9XG4gIH1dKTtcblxuICByZXR1cm4gU2NyZWVuO1xufSgpO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IFNjcmVlbjtcblxufSx7fV0sMzM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0V2ZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRXZlbnRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbnZhciBUb3VjaEV2ZW50ID0gZnVuY3Rpb24gKF9FdmVudCkge1xuICBfaW5oZXJpdHMoVG91Y2hFdmVudCwgX0V2ZW50KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKFRvdWNoRXZlbnQpO1xuXG4gIGZ1bmN0aW9uIFRvdWNoRXZlbnQodHlwZSkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUb3VjaEV2ZW50KTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgdHlwZSk7XG4gICAgX3RoaXMudG91Y2hlcyA9IFtdO1xuICAgIF90aGlzLnRhcmdldFRvdWNoZXMgPSBbXTtcbiAgICBfdGhpcy5jaGFuZ2VkVG91Y2hlcyA9IFtdO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIHJldHVybiBUb3VjaEV2ZW50O1xufShfRXZlbnQyW1wiZGVmYXVsdFwiXSk7XG5cbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gVG91Y2hFdmVudDtcblxufSx7XCIuL0V2ZW50XCI6OX1dLDM0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9FdmVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRXZlbnRcIikpO1xuXG52YXIgX0ZpbGVDYWNoZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vdXRpbC9GaWxlQ2FjaGVcIikpO1xuXG52YXIgX1hNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL1hNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXRcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIGZzbSA9IHJhbC5nZXRGaWxlU3lzdGVtTWFuYWdlcigpO1xudmFyIF9YTUxIdHRwUmVxdWVzdCA9IHdpbmRvdy5YTUxIdHRwUmVxdWVzdDtcbndpbmRvdy5yYWwgPSB3aW5kb3cucmFsIHx8IHt9O1xuXG52YXIgWE1MSHR0cFJlcXVlc3QgPSBmdW5jdGlvbiAoX1hNTEh0dHBSZXF1ZXN0RXZlbnRUKSB7XG4gIF9pbmhlcml0cyhYTUxIdHRwUmVxdWVzdCwgX1hNTEh0dHBSZXF1ZXN0RXZlbnRUKTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKFhNTEh0dHBSZXF1ZXN0KTtcblxuICBmdW5jdGlvbiBYTUxIdHRwUmVxdWVzdCgpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgWE1MSHR0cFJlcXVlc3QpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBuZXcgX1hNTEh0dHBSZXF1ZXN0KCkpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9pc0xvY2FsXCIsIGZhbHNlKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfcmVhZHlTdGF0ZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9yZXNwb25zZVwiLCB2b2lkIDApO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl9yZXNwb25zZVRleHRcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfcmVzcG9uc2VVUkxcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfcmVzcG9uc2VYTUxcIiwgdm9pZCAwKTtcblxuICAgIF9kZWZpbmVQcm9wZXJ0eShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSwgXCJfc3RhdHVzXCIsIHZvaWQgMCk7XG5cbiAgICBfZGVmaW5lUHJvcGVydHkoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcyksIFwiX3N0YXR1c1RleHRcIiwgdm9pZCAwKTtcblxuICAgIHZhciB4aHIgPSBfdGhpcy5feGhyO1xuXG4gICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcInJlYWR5c3RhdGVjaGFuZ2VcIik7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoT2JqZWN0LmFzc2lnbihldmVudCwgZSkpO1xuICAgIH0uYmluZChfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSk7XG5cbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoWE1MSHR0cFJlcXVlc3QsIFt7XG4gICAga2V5OiBcImFib3J0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGFib3J0KCkge1xuICAgICAgdGhpcy5feGhyLmFib3J0KCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldEFsbFJlc3BvbnNlSGVhZGVyc1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRBbGxSZXNwb25zZUhlYWRlcnMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5feGhyLmdldEFsbFJlc3BvbnNlSGVhZGVycygpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRSZXNwb25zZUhlYWRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRSZXNwb25zZUhlYWRlcihuYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5feGhyLmdldFJlc3BvbnNlSGVhZGVyKG5hbWUpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJvcGVuXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29yZCkge1xuICAgICAgaWYgKHR5cGVvZiB1cmwgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdmFyIF91cmwgPSB1cmwudG9Mb2NhbGVTdHJpbmcoKTtcblxuICAgICAgICBpZiAoX3VybC5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSB8fCBfdXJsLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSkge1xuICAgICAgICAgIHZhciBfdGhpcyRfeGhyO1xuXG4gICAgICAgICAgdGhpcy5faXNMb2NhbCA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiAoX3RoaXMkX3hociA9IHRoaXMuX3hocikub3Blbi5hcHBseShfdGhpcyRfeGhyLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2lzTG9jYWwgPSB0cnVlO1xuICAgICAgdGhpcy5fdXJsID0gdXJsO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJvdmVycmlkZU1pbWVUeXBlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG92ZXJyaWRlTWltZVR5cGUoKSB7XG4gICAgICB2YXIgX3RoaXMkX3hocjI7XG5cbiAgICAgIHJldHVybiAoX3RoaXMkX3hocjIgPSB0aGlzLl94aHIpLm92ZXJyaWRlTWltZVR5cGUuYXBwbHkoX3RoaXMkX3hocjIsIGFyZ3VtZW50cyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInNlbmRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2VuZCgpIHtcbiAgICAgIGlmICh0aGlzLl9pc0xvY2FsKSB7XG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcbiAgICAgICAgdmFyIGlzQmluYXJ5ID0gdGhpcy5feGhyLnJlc3BvbnNlVHlwZSA9PT0gXCJhcnJheWJ1ZmZlclwiO1xuICAgICAgICBmc20ucmVhZEZpbGUoe1xuICAgICAgICAgIGZpbGVQYXRoOiB0aGlzLl91cmwsXG4gICAgICAgICAgZW5jb2Rpbmc6IGlzQmluYXJ5ID8gXCJiaW5hcnlcIiA6IFwidXRmOFwiLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIHN1Y2Nlc3MocmVzKSB7XG4gICAgICAgICAgICBzZWxmLl9zdGF0dXMgPSAyMDA7XG4gICAgICAgICAgICBzZWxmLl9yZWFkeVN0YXRlID0gNDtcbiAgICAgICAgICAgIHNlbGYuX3Jlc3BvbnNlID0gc2VsZi5fcmVzcG9uc2VUZXh0ID0gcmVzLmRhdGE7XG5cbiAgICAgICAgICAgIGlmIChpc0JpbmFyeSkge1xuICAgICAgICAgICAgICBfRmlsZUNhY2hlW1wiZGVmYXVsdFwiXS5zZXRDYWNoZShzZWxmLl91cmwsIHJlcy5kYXRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGV2ZW50UHJvZ3Jlc3NTdGFydCA9IG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwicHJvZ3Jlc3NcIik7XG4gICAgICAgICAgICBldmVudFByb2dyZXNzU3RhcnQubG9hZGVkID0gMDtcbiAgICAgICAgICAgIGV2ZW50UHJvZ3Jlc3NTdGFydC50b3RhbCA9IGlzQmluYXJ5ID8gcmVzLmRhdGEuYnl0ZUxlbmd0aCA6IHJlcy5kYXRhLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBldmVudFByb2dyZXNzRW5kID0gbmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJwcm9ncmVzc1wiKTtcbiAgICAgICAgICAgIGV2ZW50UHJvZ3Jlc3NFbmQubG9hZGVkID0gZXZlbnRQcm9ncmVzc1N0YXJ0LnRvdGFsO1xuICAgICAgICAgICAgZXZlbnRQcm9ncmVzc0VuZC50b3RhbCA9IGV2ZW50UHJvZ3Jlc3NTdGFydC50b3RhbDtcbiAgICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRzdGFydFwiKSk7XG4gICAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoZXZlbnRQcm9ncmVzc1N0YXJ0KTtcbiAgICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChldmVudFByb2dyZXNzRW5kKTtcbiAgICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRcIikpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFpbDogZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgaWYgKHJlcy5lcnJDb2RlID09PSAxKSB7XG4gICAgICAgICAgICAgIHNlbGYuX3N0YXR1cyA9IDQwNDtcbiAgICAgICAgICAgICAgc2VsZi5fcmVhZHlTdGF0ZSA9IDQ7XG4gICAgICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRzdGFydFwiKSk7XG4gICAgICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRcIikpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwiZXJyb3JcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0uYmluZCh0aGlzKSxcbiAgICAgICAgICBjb21wbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwibG9hZGVuZFwiKSk7XG4gICAgICAgICAgfS5iaW5kKHRoaXMpXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIF90aGlzJF94aHIzO1xuXG4gICAgICAgIChfdGhpcyRfeGhyMyA9IHRoaXMuX3hocikuc2VuZC5hcHBseShfdGhpcyRfeGhyMywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic2V0UmVxdWVzdEhlYWRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRSZXF1ZXN0SGVhZGVyKCkge1xuICAgICAgdmFyIF90aGlzJF94aHI0O1xuXG4gICAgICAoX3RoaXMkX3hocjQgPSB0aGlzLl94aHIpLnNldFJlcXVlc3RIZWFkZXIuYXBwbHkoX3RoaXMkX3hocjQsIGFyZ3VtZW50cyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlYWR5U3RhdGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIGlmICh0aGlzLl9pc0xvY2FsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkeVN0YXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3hoci5yZWFkeVN0YXRlO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZXNwb25zZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgaWYgKHRoaXMuX2lzTG9jYWwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3hoci5yZXNwb25zZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVzcG9uc2VUZXh0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICBpZiAodGhpcy5faXNMb2NhbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzcG9uc2VUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3hoci5yZXNwb25zZVRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInJlc3BvbnNlVHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3hoci5yZXNwb25zZVR5cGU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdGhpcy5feGhyLnJlc3BvbnNlVHlwZSA9IHZhbHVlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZXNwb25zZVVSTFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgaWYgKHRoaXMuX2lzTG9jYWwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNlVVJMO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3hoci5yZXNwb25zZVVSTDtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVzcG9uc2VYTUxcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIGlmICh0aGlzLl9pc0xvY2FsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNwb25zZVhNTDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl94aHIucmVzcG9uc2VYTUw7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInN0YXR1c1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgaWYgKHRoaXMuX2lzTG9jYWwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl94aHIuc3RhdHVzO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzdGF0dXNUZXh0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICBpZiAodGhpcy5faXNMb2NhbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzVGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl94aHIuc3RhdHVzVGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwidGltZW91dFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3hoci50aW1lb3V0O1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHRoaXMuX3hoci50aW1lb3V0ID0gdmFsdWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInVwbG9hZFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3hoci51cGxvYWQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIndpdGhDcmVkZW50aWFsc1wiLFxuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICB0aGlzLl94aHIud2l0aENyZWRlbnRpYWxzID0gdmFsdWU7XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl94aHIud2l0aENyZWRlbnRpYWxzO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBYTUxIdHRwUmVxdWVzdDtcbn0oX1hNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXRbXCJkZWZhdWx0XCJdKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBYTUxIdHRwUmVxdWVzdDtcblxufSx7XCIuL0V2ZW50XCI6OSxcIi4vWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldFwiOjM1LFwiLi91dGlsL0ZpbGVDYWNoZVwiOjUyfV0sMzU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0V2ZW50VGFyZ2V0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRXZlbnRUYXJnZXRcIikpO1xuXG52YXIgX0V2ZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9FdmVudFwiKSk7XG5cbnZhciBfRmlsZUNhY2hlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi91dGlsL0ZpbGVDYWNoZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxudmFyIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgPSBmdW5jdGlvbiAoX0V2ZW50VGFyZ2V0KSB7XG4gIF9pbmhlcml0cyhYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0LCBfRXZlbnRUYXJnZXQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCk7XG5cbiAgZnVuY3Rpb24gWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCh4aHIpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMpO1xuXG4gICAgX2RlZmluZVByb3BlcnR5KF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpLCBcIl94aHJcIiwgdm9pZCAwKTtcblxuICAgIF90aGlzLl94aHIgPSB4aHI7XG5cbiAgICB4aHIub25hYm9ydCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImFib3J0XCIpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KE9iamVjdC5hc3NpZ24oZXZlbnQsIGUpKTtcbiAgICB9LmJpbmQoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcykpO1xuXG4gICAgeGhyLm9uZXJyb3IgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIGV2ZW50ID0gbmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJlcnJvclwiKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChPYmplY3QuYXNzaWduKGV2ZW50LCBlKSk7XG4gICAgfS5iaW5kKF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKTtcblxuICAgIHhoci5vbmxvYWQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKHRoaXMucmVzcG9uc2UgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuICAgICAgICBfRmlsZUNhY2hlW1wiZGVmYXVsdFwiXS5zZXRJdGVtKHRoaXMucmVzcG9uc2UsIHRoaXMuX3VybCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBldmVudCA9IG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwibG9hZFwiKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChPYmplY3QuYXNzaWduKGV2ZW50LCBlKSk7XG4gICAgfS5iaW5kKF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKTtcblxuICAgIHhoci5vbmxvYWRzdGFydCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgZXZlbnQgPSBuZXcgX0V2ZW50W1wiZGVmYXVsdFwiXShcImxvYWRzdGFydFwiKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChPYmplY3QuYXNzaWduKGV2ZW50LCBlKSk7XG4gICAgfS5iaW5kKF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKTtcblxuICAgIHhoci5vbnByb2dyZXNzID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciBldmVudCA9IG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwicHJvZ3Jlc3NcIik7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoT2JqZWN0LmFzc2lnbihldmVudCwgZSkpO1xuICAgIH0uYmluZChfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSk7XG5cbiAgICB4aHIub250aW1lb3V0ID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciBldmVudCA9IG5ldyBfRXZlbnRbXCJkZWZhdWx0XCJdKFwidGltZW91dFwiKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChPYmplY3QuYXNzaWduKGV2ZW50LCBlKSk7XG4gICAgfS5iaW5kKF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoX3RoaXMpKTtcblxuICAgIHhoci5vbmxvYWRlbmQgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIGV2ZW50ID0gbmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJsb2FkZW5kXCIpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KE9iamVjdC5hc3NpZ24oZXZlbnQsIGUpKTtcbiAgICB9LmJpbmQoX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcykpO1xuXG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgcmV0dXJuIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7XG59KF9FdmVudFRhcmdldDJbXCJkZWZhdWx0XCJdKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0O1xuXG59LHtcIi4vRXZlbnRcIjo5LFwiLi9FdmVudFRhcmdldFwiOjEwLFwiLi91dGlsL0ZpbGVDYWNoZVwiOjUyfV0sMzY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0F1ZGlvTm9kZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvTm9kZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG52YXIgQW5hbHlzZXJOb2RlID0gZnVuY3Rpb24gKF9BdWRpb05vZGUpIHtcbiAgX2luaGVyaXRzKEFuYWx5c2VyTm9kZSwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihBbmFseXNlck5vZGUpO1xuXG4gIGZ1bmN0aW9uIEFuYWx5c2VyTm9kZShjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEFuYWx5c2VyTm9kZSk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbnRleHQpO1xuICAgIF90aGlzLl9mZnRTaXplO1xuICAgIF90aGlzLmZyZXF1ZW5jeUJpbkNvdW50O1xuICAgIF90aGlzLm1pbkRlY2liZWxzO1xuICAgIF90aGlzLm1heERlY2liZWxzO1xuICAgIF90aGlzLnNtb290aGluZ1RpbWVDb25zdGFudDtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQW5hbHlzZXJOb2RlLCBbe1xuICAgIGtleTogXCJnZXRGbG9hdEZyZXF1ZW5jeURhdGFcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RmxvYXRGcmVxdWVuY3lEYXRhKGFycmF5KSB7fVxuICB9LCB7XG4gICAga2V5OiBcImdldEJ5dGVGcmVxdWVuY3lEYXRhXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEJ5dGVGcmVxdWVuY3lEYXRhKGRhdGFBcnJheSkge1xuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRhdGFBcnJheS5sZW5ndGgpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJnZXRGbG9hdFRpbWVEb21haW5EYXRhXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldEZsb2F0VGltZURvbWFpbkRhdGEoZGF0YUFycmF5KSB7fVxuICB9LCB7XG4gICAga2V5OiBcImdldEJ5dGVUaW1lRG9tYWluRGF0YVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRCeXRlVGltZURvbWFpbkRhdGEoZGF0YUFycmF5KSB7fVxuICB9LCB7XG4gICAga2V5OiBcImZmdFNpemVcIixcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdGhpcy5fZmZ0U2l6ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5mcmVxdWVuY3lCaW5Db3VudCA9IHZhbHVlIC8gMjtcbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZmdFNpemU7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEFuYWx5c2VyTm9kZTtcbn0oX0F1ZGlvTm9kZTJbXCJkZWZhdWx0XCJdKTtcblxudmFyIF9kZWZhdWx0ID0gQW5hbHlzZXJOb2RlO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7XCIuL0F1ZGlvTm9kZVwiOjQyfV0sMzc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9GaWxlQ2FjaGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi91dGlsL0ZpbGVDYWNoZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbnZhciBhZSA9IHJhbC5BdWRpb0VuZ2luZTtcblxudmFyIEF1ZGlvQnVmZmVyID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBBdWRpb0J1ZmZlcihjb250ZXh0LCBidWZmZXIpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQXVkaW9CdWZmZXIpO1xuXG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLnVybCA9IFwiXCI7XG4gICAgdGhpcy5fc2FtcGxlUmF0ZSA9IDQ4MDAwO1xuICAgIHRoaXMuX2xlbmd0aCA9IDM4NjY4MTtcbiAgICB0aGlzLl9kdXJhdGlvbiA9IDA7XG4gICAgdGhpcy5fbnVtYmVyT2ZDaGFubmVscyA9IDQ4MDAwO1xuXG4gICAgX0ZpbGVDYWNoZVtcImRlZmF1bHRcIl0uZ2V0UGF0aChidWZmZXIsIGZ1bmN0aW9uICh1cmwpIHtcbiAgICAgIGlmICghdXJsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgICBhZS5wcmVsb2FkKHVybCwgZnVuY3Rpb24gKGlzU3VjY2VlZCwgZHVyYXRpb24pIHtcbiAgICAgICAgaWYgKGlzU3VjY2VlZCkge1xuICAgICAgICAgIHRoaXMuX2R1cmF0aW9uID0gZHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhBdWRpb0J1ZmZlciwgW3tcbiAgICBrZXk6IFwic2FtcGxlUmF0ZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NhbXBsZVJhdGU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImxlbmd0aFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZHVyYXRpb25cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kdXJhdGlvbjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibnVtYmVyT2ZDaGFubmVsc1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mQ2hhbm5lbHM7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEF1ZGlvQnVmZmVyO1xufSgpO1xuXG52YXIgX2RlZmF1bHQgPSBBdWRpb0J1ZmZlcjtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se1wiLi4vdXRpbC9GaWxlQ2FjaGVcIjo1Mn1dLDM4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpb05vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb05vZGVcIikpO1xuXG52YXIgX0F1ZGlvUGFyYW0gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvUGFyYW1cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIEF1ZGlvQnVmZmVyU291cmNlTm9kZSA9IGZ1bmN0aW9uIChfQXVkaW9Ob2RlKSB7XG4gIF9pbmhlcml0cyhBdWRpb0J1ZmZlclNvdXJjZU5vZGUsIF9BdWRpb05vZGUpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoQXVkaW9CdWZmZXJTb3VyY2VOb2RlKTtcblxuICBmdW5jdGlvbiBBdWRpb0J1ZmZlclNvdXJjZU5vZGUoY29udGV4dCwgb3B0aW9ucykge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBBdWRpb0J1ZmZlclNvdXJjZU5vZGUpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBjb250ZXh0KTtcbiAgICBfdGhpcy5idWZmZXIgPSBudWxsO1xuICAgIF90aGlzLmRldHVuZSA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDBcbiAgICB9KTtcbiAgICBfdGhpcy5fbG9vcCA9IGZhbHNlO1xuICAgIF90aGlzLmxvb3BTdGFydCA9IDA7XG4gICAgX3RoaXMubG9vcEVuZCA9IDA7XG4gICAgX3RoaXMuX3BsYXliYWNrUmF0ZSA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDEuMFxuICAgIH0pO1xuICAgIF90aGlzLmF1ZGlvRW5naW5lID0gcmFsLkF1ZGlvRW5naW5lO1xuICAgIF90aGlzLmF1ZGlvSUQgPSAtMTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQXVkaW9CdWZmZXJTb3VyY2VOb2RlLCBbe1xuICAgIGtleTogXCJzdGFydFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdGFydCh3aGVuLCBvZmZzZXQsIGR1cmF0aW9uKSB7XG4gICAgICBpZiAoIXRoaXMuYnVmZmVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGF1ZGlvRW5naW5lID0gdGhpcy5hdWRpb0VuZ2luZTtcblxuICAgICAgaWYgKHRoaXMuYXVkaW9JRCAhPT0gLTEpIHtcbiAgICAgICAgYXVkaW9FbmdpbmUuc3RvcCh0aGlzLmF1ZGlvSUQpO1xuICAgICAgfVxuXG4gICAgICB2YXIgYXVkaW9JRCA9IHRoaXMuYXVkaW9JRCA9IGF1ZGlvRW5naW5lLnBsYXkodGhpcy5idWZmZXIudXJsLCB0aGlzLmxvb3AsIDEpO1xuICAgICAgYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soYXVkaW9JRCwgdGhpcy5vbmVuZGVkKTtcbiAgICAgIGF1ZGlvRW5naW5lLnNldEN1cnJlbnRUaW1lKGF1ZGlvSUQsIHRoaXMubG9vcFN0YXJ0KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RvcFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdG9wKHdoZW4pIHtcbiAgICAgIHZhciBhdWRpb0VuZ2luZSA9IHRoaXMuYXVkaW9FbmdpbmU7XG5cbiAgICAgIGlmICh0aGlzLmF1ZGlvSUQgPT09IC0xKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXVkaW9FbmdpbmUuc3RvcCh0aGlzLmF1ZGlvSUQpO1xuICAgICAgdGhpcy5hdWRpb0lEID0gLTE7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIm9uZW5kZWRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25lbmRlZCgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwicGxheWJhY2tSYXRlXCIsXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcInBsYXliYWNrUmF0ZSBub25zdXBwb3J0XCIpO1xuICAgICAgdGhpcy5fcGxheWJhY2tSYXRlID0gdmFsdWU7XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9wbGF5YmFja1JhdGU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImxvb3BcIixcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdmFyIGF1ZGlvRW5naW5lID0gdGhpcy5hdWRpb0VuZ2luZTtcbiAgICAgIHZhciBhdWRpb0lEID0gdGhpcy5hdWRpb0lEO1xuICAgICAgdmFyIGxvb3AgPSAhIXZhbHVlO1xuXG4gICAgICBpZiAoYXVkaW9JRCAhPT0gLTEgJiYgYXVkaW9FbmdpbmUpIHtcbiAgICAgICAgYXVkaW9FbmdpbmUuc2V0TG9vcChhdWRpb0lELCBsb29wKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fbG9vcCA9IGxvb3A7XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb29wO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBBdWRpb0J1ZmZlclNvdXJjZU5vZGU7XG59KF9BdWRpb05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbnZhciBfZGVmYXVsdCA9IEF1ZGlvQnVmZmVyU291cmNlTm9kZTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se1wiLi9BdWRpb05vZGVcIjo0MixcIi4vQXVkaW9QYXJhbVwiOjQzfV0sMzk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0Jhc2VBdWRpb0NvbnRleHQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9CYXNlQXVkaW9Db250ZXh0XCIpKTtcblxudmFyIF9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG52YXIgQXVkaW9Db250ZXh0ID0gZnVuY3Rpb24gKF9CYXNlQXVkaW9Db250ZXh0KSB7XG4gIF9pbmhlcml0cyhBdWRpb0NvbnRleHQsIF9CYXNlQXVkaW9Db250ZXh0KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEF1ZGlvQ29udGV4dCk7XG5cbiAgZnVuY3Rpb24gQXVkaW9Db250ZXh0KG9wdGlvbnMpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQXVkaW9Db250ZXh0KTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcyk7XG4gICAgX3RoaXMuYmFzZUxhdGVuY3k7XG4gICAgX3RoaXMub3V0cHV0TGF0ZW5jeTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQXVkaW9Db250ZXh0LCBbe1xuICAgIGtleTogXCJjbG9zZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjbG9zZSgpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiQXVkaW9Db250ZXh0IGNsb3NlXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlTWVkaWFFbGVtZW50U291cmNlKG15TWVkaWFFbGVtZW50KSB7XG4gICAgICByZXR1cm4gbmV3IF9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGVbXCJkZWZhdWx0XCJdKHRoaXMsIHtcbiAgICAgICAgbWVkaWFFbGVtZW50OiBteU1lZGlhRWxlbWVudFxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZU1lZGlhU3RyZWFtU291cmNlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZU1lZGlhU3RyZWFtU291cmNlKCkge31cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9uXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24oKSB7fVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZU1lZGlhU3RyZWFtVHJhY2tTb3VyY2VcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlTWVkaWFTdHJlYW1UcmFja1NvdXJjZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0T3V0cHV0VGltZXN0YW1wXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldE91dHB1dFRpbWVzdGFtcCgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVzdW1lXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlc3VtZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwic3VzcGVuZFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdXNwZW5kKCkge31cbiAgfV0pO1xuXG4gIHJldHVybiBBdWRpb0NvbnRleHQ7XG59KF9CYXNlQXVkaW9Db250ZXh0MltcImRlZmF1bHRcIl0pO1xuXG52YXIgX2RlZmF1bHQgPSBBdWRpb0NvbnRleHQ7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHtcIi4vQmFzZUF1ZGlvQ29udGV4dFwiOjQ1LFwiLi9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGVcIjo0OH1dLDQwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpb05vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb05vZGVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbnZhciBBdWRpb0Rlc3RpbmF0aW9uTm9kZSA9IGZ1bmN0aW9uIChfQXVkaW9Ob2RlKSB7XG4gIF9pbmhlcml0cyhBdWRpb0Rlc3RpbmF0aW9uTm9kZSwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihBdWRpb0Rlc3RpbmF0aW9uTm9kZSk7XG5cbiAgZnVuY3Rpb24gQXVkaW9EZXN0aW5hdGlvbk5vZGUoY29udGV4dCkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBBdWRpb0Rlc3RpbmF0aW9uTm9kZSk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbnRleHQpO1xuICAgIF90aGlzLm1heENoYW5uZWxDb3VudCA9IDI7XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgcmV0dXJuIEF1ZGlvRGVzdGluYXRpb25Ob2RlO1xufShfQXVkaW9Ob2RlMltcImRlZmF1bHRcIl0pO1xuXG52YXIgX2RlZmF1bHQgPSBBdWRpb0Rlc3RpbmF0aW9uTm9kZTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se1wiLi9BdWRpb05vZGVcIjo0Mn1dLDQxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpb05vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb05vZGVcIikpO1xuXG52YXIgX0F1ZGlvUGFyYW0gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvUGFyYW1cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIEF1ZGlvTGlzdGVuZXIgPSBmdW5jdGlvbiAoX0F1ZGlvTm9kZSkge1xuICBfaW5oZXJpdHMoQXVkaW9MaXN0ZW5lciwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihBdWRpb0xpc3RlbmVyKTtcblxuICBmdW5jdGlvbiBBdWRpb0xpc3RlbmVyKGNvbnRleHQpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQXVkaW9MaXN0ZW5lcik7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbnRleHQpO1xuICAgIF90aGlzLnBvc2l0aW9uWCA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDBcbiAgICB9KTtcbiAgICBfdGhpcy5wb3NpdGlvblkgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAwXG4gICAgfSk7XG4gICAgX3RoaXMucG9zaXRpb25aID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMFxuICAgIH0pO1xuICAgIF90aGlzLmZvcndhcmRYID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMFxuICAgIH0pO1xuICAgIF90aGlzLmZvcndhcmRZID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMFxuICAgIH0pO1xuICAgIF90aGlzLmZvcndhcmRaID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogLTFcbiAgICB9KTtcbiAgICBfdGhpcy51cFggPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAwXG4gICAgfSk7XG4gICAgX3RoaXMudXBZID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMVxuICAgIH0pO1xuICAgIF90aGlzLnVwWiA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDBcbiAgICB9KTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQXVkaW9MaXN0ZW5lciwgW3tcbiAgICBrZXk6IFwic2V0T3JpZW50YXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0T3JpZW50YXRpb24oeCwgeSwgeikge31cbiAgfSwge1xuICAgIGtleTogXCJzZXRQb3NpdGlvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRQb3NpdGlvbih4LCB5LCB6KSB7XG4gICAgICB4ID0geCB8fCAwO1xuICAgICAgeSA9IHkgfHwgMDtcbiAgICAgIHogPSB6IHx8IDA7XG4gICAgICB0aGlzLnBvc2l0aW9uWC52YWx1ZSA9IHg7XG4gICAgICB0aGlzLnBvc2l0aW9uWS52YWx1ZSA9IHk7XG4gICAgICB0aGlzLnBvc2l0aW9uWi52YWx1ZSA9IHo7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEF1ZGlvTGlzdGVuZXI7XG59KF9BdWRpb05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbnZhciBfZGVmYXVsdCA9IEF1ZGlvTGlzdGVuZXI7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHtcIi4vQXVkaW9Ob2RlXCI6NDIsXCIuL0F1ZGlvUGFyYW1cIjo0M31dLDQyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9FdmVudFRhcmdldDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9FdmVudFRhcmdldFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG52YXIgQXVkaW9Ob2RlID0gZnVuY3Rpb24gKF9FdmVudFRhcmdldCkge1xuICBfaW5oZXJpdHMoQXVkaW9Ob2RlLCBfRXZlbnRUYXJnZXQpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoQXVkaW9Ob2RlKTtcblxuICBmdW5jdGlvbiBBdWRpb05vZGUoY29udGV4dCkge1xuICAgIHZhciBfdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBBdWRpb05vZGUpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKTtcbiAgICBfdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7XG4gICAgX3RoaXMubnVtYmVyT2ZJbnB1dHMgPSAxO1xuICAgIF90aGlzLm51bWJlck9mT3V0cHV0cyA9IDE7XG4gICAgX3RoaXMuY2hhbm5lbENvdW50ID0gMjtcbiAgICBfdGhpcy5jaGFubmVsQ291bnRNb2RlID0gXCJleHBsaWNpdFwiO1xuICAgIF90aGlzLmNoYW5uZWxJbnRlcnByZXRhdGlvbiA9IFwic3BlYWtlcnNcIjtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQXVkaW9Ob2RlLCBbe1xuICAgIGtleTogXCJjb25uZWN0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbm5lY3QoZGVzdGluYXRpb24sIG91dHB1dEluZGV4LCBpbnB1dEluZGV4KSB7fVxuICB9LCB7XG4gICAga2V5OiBcImRpc2Nvbm5lY3RcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGlzY29ubmVjdCgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiaXNOdW1iZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaXNOdW1iZXIob2JqKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ251bWJlcicgfHwgb2JqIGluc3RhbmNlb2YgTnVtYmVyO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjb250ZXh0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQXVkaW9Ob2RlO1xufShfRXZlbnRUYXJnZXQyW1wiZGVmYXVsdFwiXSk7XG5cbnZhciBfZGVmYXVsdCA9IEF1ZGlvTm9kZTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se1wiLi4vRXZlbnRUYXJnZXRcIjoxMH1dLDQzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxudmFyIEF1ZGlvUGFyYW0gPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEF1ZGlvUGFyYW0oKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEF1ZGlvUGFyYW0pO1xuXG4gICAgdGhpcy5hdXRvbWF0aW9uUmF0ZSA9IG9wdGlvbnMuYXV0b21hdGlvblJhdGUgfHwgXCJhLXJhdGVcIjtcbiAgICB0aGlzLl9kZWZhdWx0VmFsdWUgPSBvcHRpb25zLmRlZmF1bHRWYWx1ZSB8fCAxO1xuICAgIHRoaXMuX21heFZhbHVlID0gb3B0aW9ucy5tYXhWYWx1ZSB8fCBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIHRoaXMuX21pblZhbHVlID0gb3B0aW9ucy5taW5WYWx1ZSB8fCAtTnVtYmVyLk1BWF9WQUxVRTtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZSB8fCAxO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEF1ZGlvUGFyYW0sIFt7XG4gICAga2V5OiBcInNldFZhbHVlQXRUaW1lXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNldFZhbHVlQXRUaW1lKHZhbHVlLCBzdGFydFRpbWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwibGluZWFyUmFtcFRvVmFsdWVBdFRpbWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gbGluZWFyUmFtcFRvVmFsdWVBdFRpbWUodmFsdWUsIGVuZFRpbWUpIHtcbiAgICAgIGlmIChlbmRUaW1lIDwgMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBrID0gdmFsdWUgLyBlbmRUaW1lO1xuICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIGZ1bmMoZHQpIHtcbiAgICAgICAgZHQgPSBkdCAvIDEwMDA7XG5cbiAgICAgICAgaWYgKGR0ID4gZW5kVGltZSkge1xuICAgICAgICAgIGR0ID0gZW5kVGltZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkdCA8IDApIHtcbiAgICAgICAgICBkdCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBlbmRUaW1lIC09IGR0O1xuICAgICAgICBzZWxmLnZhbHVlICs9IGR0ICogaztcblxuICAgICAgICBpZiAoZW5kVGltZSA+IDApIHtcbiAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuYyk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBleHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKCkge31cbiAgfSwge1xuICAgIGtleTogXCJzZXRUYXJnZXRBdFRpbWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0VGFyZ2V0QXRUaW1lKHRhcmdldCwgc3RhcnRUaW1lLCB0aW1lQ29uc3RhbnQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0YXJnZXQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInNldFZhbHVlQ3VydmVBdFRpbWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0VmFsdWVDdXJ2ZUF0VGltZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiY2FuY2VsU2NoZWR1bGVkVmFsdWVzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNhbmNlbFNjaGVkdWxlZFZhbHVlcygpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiY2FuY2VsQW5kSG9sZEF0VGltZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjYW5jZWxBbmRIb2xkQXRUaW1lKCkge31cbiAgfSwge1xuICAgIGtleTogXCJkZWZhdWx0VmFsdWVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0VmFsdWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIm1heFZhbHVlXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbWF4VmFsdWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIm1pblZhbHVlXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInZhbHVlXCIsXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhbHVlID0gTWF0aC5taW4odGhpcy5fbWF4VmFsdWUsIHZhbHVlKTtcbiAgICAgIHRoaXMuX3ZhbHVlID0gTWF0aC5tYXgodGhpcy5fbWluVmFsdWUsIHZhbHVlKTtcbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBBdWRpb1BhcmFtO1xufSgpO1xuXG52YXIgX2RlZmF1bHQgPSBBdWRpb1BhcmFtO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7fV0sNDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX0F1ZGlvTm9kZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvTm9kZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG52YXIgQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlID0gZnVuY3Rpb24gKF9BdWRpb05vZGUpIHtcbiAgX2luaGVyaXRzKEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUpO1xuXG4gIGZ1bmN0aW9uIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZShjb250ZXh0KSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSk7XG5cbiAgICByZXR1cm4gX3N1cGVyLmNhbGwodGhpcywgY29udGV4dCk7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLCBbe1xuICAgIGtleTogXCJvbmVuZGVkXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uZW5kZWQoZXZlbnQpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwic3RhcnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc3RhcnQod2hlbiwgb2Zmc2V0LCBkdXJhdGlvbikge31cbiAgfSwge1xuICAgIGtleTogXCJzdG9wXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHN0b3Aod2hlbikge31cbiAgfV0pO1xuXG4gIHJldHVybiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU7XG59KF9BdWRpb05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbnZhciBfZGVmYXVsdCA9IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se1wiLi9BdWRpb05vZGVcIjo0Mn1dLDQ1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9FdmVudFRhcmdldDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9FdmVudFRhcmdldFwiKSk7XG5cbnZhciBfQXVkaW9MaXN0ZW5lciA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vQXVkaW9MaXN0ZW5lclwiKSk7XG5cbnZhciBfUGVyaW9kaWNXYXZlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9QZXJpb2RpY1dhdmVcIikpO1xuXG52YXIgX0F1ZGlvQnVmZmVyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb0J1ZmZlclwiKSk7XG5cbnZhciBfRHluYW1pY3NDb21wcmVzc29yTm9kZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRHluYW1pY3NDb21wcmVzc29yTm9kZVwiKSk7XG5cbnZhciBfQXVkaW9CdWZmZXJTb3VyY2VOb2RlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb0J1ZmZlclNvdXJjZU5vZGVcIikpO1xuXG52YXIgX0F1ZGlvRGVzdGluYXRpb25Ob2RlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb0Rlc3RpbmF0aW9uTm9kZVwiKSk7XG5cbnZhciBfT3NjaWxsYXRvck5vZGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL09zY2lsbGF0b3JOb2RlXCIpKTtcblxudmFyIF9BbmFseXNlck5vZGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0FuYWx5c2VyTm9kZVwiKSk7XG5cbnZhciBfUGFubmVyTm9kZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vUGFubmVyTm9kZVwiKSk7XG5cbnZhciBfR2Fpbk5vZGUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0dhaW5Ob2RlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cblxuZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIF9zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7IH1cblxuZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgX3NldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IG8uX19wcm90b19fID0gcDsgcmV0dXJuIG87IH07IHJldHVybiBfc2V0UHJvdG90eXBlT2YobywgcCk7IH1cblxuZnVuY3Rpb24gX2NyZWF0ZVN1cGVyKERlcml2ZWQpIHsgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCk7IHJldHVybiBmdW5jdGlvbiBfY3JlYXRlU3VwZXJJbnRlcm5hbCgpIHsgdmFyIFN1cGVyID0gX2dldFByb3RvdHlwZU9mKERlcml2ZWQpLCByZXN1bHQ7IGlmIChoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KSB7IHZhciBOZXdUYXJnZXQgPSBfZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3I7IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7IH0gZWxzZSB7IHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIHJlc3VsdCk7IH07IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoY2FsbCAmJiAoX3R5cGVvZihjYWxsKSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSkgeyByZXR1cm4gY2FsbDsgfSByZXR1cm4gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKTsgfVxuXG5mdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHsgaWYgKHNlbGYgPT09IHZvaWQgMCkgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIHNlbGY7IH1cblxuZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHsgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlOyBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlOyBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlOyB0cnkgeyBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsIFtdLCBmdW5jdGlvbiAoKSB7fSkpOyByZXR1cm4gdHJ1ZTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gZmFsc2U7IH0gfVxuXG5mdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyBfZ2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBfZ2V0UHJvdG90eXBlT2YobykgeyByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOyB9OyByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pOyB9XG5cbnZhciBCYXNlQXVkaW9Db250ZXh0ID0gZnVuY3Rpb24gKF9FdmVudFRhcmdldCkge1xuICBfaW5oZXJpdHMoQmFzZUF1ZGlvQ29udGV4dCwgX0V2ZW50VGFyZ2V0KTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEJhc2VBdWRpb0NvbnRleHQpO1xuXG4gIGZ1bmN0aW9uIEJhc2VBdWRpb0NvbnRleHQoKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJhc2VBdWRpb0NvbnRleHQpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKTtcbiAgICBfdGhpcy5hdWRpb1dvcmtsZXQ7XG4gICAgX3RoaXMuY3VycmVudFRpbWUgPSAwO1xuICAgIF90aGlzLmRlc3RpbmF0aW9uID0gbmV3IF9BdWRpb0Rlc3RpbmF0aW9uTm9kZVtcImRlZmF1bHRcIl0oX2Fzc2VydFRoaXNJbml0aWFsaXplZChfdGhpcykpO1xuICAgIF90aGlzLmxpc3RlbmVyID0gbmV3IF9BdWRpb0xpc3RlbmVyW1wiZGVmYXVsdFwiXShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKSk7XG4gICAgX3RoaXMuc2FtcGxlUmF0ZTtcbiAgICBfdGhpcy5zdGF0ZSA9IFwicnVubmluZ1wiO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhCYXNlQXVkaW9Db250ZXh0LCBbe1xuICAgIGtleTogXCJjcmVhdGVBbmFseXNlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVBbmFseXNlcigpIHtcbiAgICAgIHJldHVybiBuZXcgX0FuYWx5c2VyTm9kZVtcImRlZmF1bHRcIl0odGhpcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZUJpcXVhZEZpbHRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVCaXF1YWRGaWx0ZXIoKSB7fVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZUJ1ZmZlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVCdWZmZXIoKSB7fVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZUJ1ZmZlclNvdXJjZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVCdWZmZXJTb3VyY2UoKSB7XG4gICAgICByZXR1cm4gbmV3IF9BdWRpb0J1ZmZlclNvdXJjZU5vZGVbXCJkZWZhdWx0XCJdKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVDb25zdGFudFNvdXJjZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVDb25zdGFudFNvdXJjZSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3JlYXRlQ2hhbm5lbE1lcmdlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVDaGFubmVsTWVyZ2VyKCkge31cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVDaGFubmVsU3BsaXR0ZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlQ2hhbm5lbFNwbGl0dGVyKCkge31cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVDb252b2x2ZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlQ29udm9sdmVyKCkge31cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVEZWxheVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVEZWxheSgpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3JlYXRlRHluYW1pY3NDb21wcmVzc29yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZUR5bmFtaWNzQ29tcHJlc3NvcigpIHtcbiAgICAgIHJldHVybiBuZXcgX0R5bmFtaWNzQ29tcHJlc3Nvck5vZGVbXCJkZWZhdWx0XCJdKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVHYWluXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZUdhaW4oKSB7XG4gICAgICByZXR1cm4gbmV3IF9HYWluTm9kZVtcImRlZmF1bHRcIl0odGhpcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZUlJUkZpbHRlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVJSVJGaWx0ZXIoKSB7fVxuICB9LCB7XG4gICAga2V5OiBcImNyZWF0ZU9zY2lsbGF0b3JcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlT3NjaWxsYXRvcigpIHtcbiAgICAgIHJldHVybiBuZXcgX09zY2lsbGF0b3JOb2RlW1wiZGVmYXVsdFwiXSh0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3JlYXRlUGFubmVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZVBhbm5lcigpIHtcbiAgICAgIHJldHVybiBuZXcgX1Bhbm5lck5vZGVbXCJkZWZhdWx0XCJdKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjcmVhdGVQZXJpb2RpY1dhdmVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlUGVyaW9kaWNXYXZlKCkge1xuICAgICAgcmV0dXJuIG5ldyBfUGVyaW9kaWNXYXZlW1wiZGVmYXVsdFwiXSh0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3JlYXRlU2NyaXB0UHJvY2Vzc29yXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZVNjcmlwdFByb2Nlc3NvcigpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3JlYXRlU3RlcmVvUGFubmVyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNyZWF0ZVN0ZXJlb1Bhbm5lcigpIHt9XG4gIH0sIHtcbiAgICBrZXk6IFwiY3JlYXRlV2F2ZVNoYXBlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVXYXZlU2hhcGVyKCkge31cbiAgfSwge1xuICAgIGtleTogXCJkZWNvZGVBdWRpb0RhdGFcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZGVjb2RlQXVkaW9EYXRhKGF1ZGlvRGF0YSwgY2FsbEZ1bmMpIHtcbiAgICAgIGNhbGxGdW5jKG5ldyBfQXVkaW9CdWZmZXJbXCJkZWZhdWx0XCJdKHRoaXMsIGF1ZGlvRGF0YSkpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJvbnN0YXRlY2hhbmdlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uc3RhdGVjaGFuZ2UoKSB7fVxuICB9XSk7XG5cbiAgcmV0dXJuIEJhc2VBdWRpb0NvbnRleHQ7XG59KF9FdmVudFRhcmdldDJbXCJkZWZhdWx0XCJdKTtcblxudmFyIF9kZWZhdWx0ID0gQmFzZUF1ZGlvQ29udGV4dDtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se1wiLi4vRXZlbnRUYXJnZXRcIjoxMCxcIi4vQW5hbHlzZXJOb2RlXCI6MzYsXCIuL0F1ZGlvQnVmZmVyXCI6MzcsXCIuL0F1ZGlvQnVmZmVyU291cmNlTm9kZVwiOjM4LFwiLi9BdWRpb0Rlc3RpbmF0aW9uTm9kZVwiOjQwLFwiLi9BdWRpb0xpc3RlbmVyXCI6NDEsXCIuL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGVcIjo0NixcIi4vR2Fpbk5vZGVcIjo0NyxcIi4vT3NjaWxsYXRvck5vZGVcIjo0OSxcIi4vUGFubmVyTm9kZVwiOjUwLFwiLi9QZXJpb2RpY1dhdmVcIjo1MX1dLDQ2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpb05vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb05vZGVcIikpO1xuXG52YXIgX0F1ZGlvUGFyYW0gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvUGFyYW1cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIER5bmFtaWNzQ29tcHJlc3Nvck5vZGUgPSBmdW5jdGlvbiAoX0F1ZGlvTm9kZSkge1xuICBfaW5oZXJpdHMoRHluYW1pY3NDb21wcmVzc29yTm9kZSwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihEeW5hbWljc0NvbXByZXNzb3JOb2RlKTtcblxuICBmdW5jdGlvbiBEeW5hbWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgRHluYW1pY3NDb21wcmVzc29yTm9kZSk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbnRleHQpO1xuICAgIF90aGlzLl90aHJlc2hvbGQgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAtMjQsXG4gICAgICBkZWZhdWx0VmFsdWU6IC0yNCxcbiAgICAgIG1heFZhbHVlOiAwLFxuICAgICAgbWluVmFsdWU6IC0xMDBcbiAgICB9KTtcbiAgICBfdGhpcy5fa25lZSA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDMwLFxuICAgICAgZGVmYXVsdFZhbHVlOiAzMCxcbiAgICAgIG1heFZhbHVlOiA0MCxcbiAgICAgIG1pblZhbHVlOiAwXG4gICAgfSk7XG4gICAgX3RoaXMuX3JhdGlvID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMTIsXG4gICAgICBkZWZhdWx0VmFsdWU6IDEyLFxuICAgICAgbWF4VmFsdWU6IDIwLFxuICAgICAgbWluVmFsdWU6IDFcbiAgICB9KTtcbiAgICBfdGhpcy5fcmVkdWN0aW9uID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIGRlZmF1bHRWYWx1ZTogMCxcbiAgICAgIG1heFZhbHVlOiAwLFxuICAgICAgbWluVmFsdWU6IC0yMFxuICAgIH0pO1xuICAgIF90aGlzLl9hdHRhY2sgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAwLjAwMyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogMC4wMDMsXG4gICAgICBtYXhWYWx1ZTogMSxcbiAgICAgIG1pblZhbHVlOiAwXG4gICAgfSk7XG4gICAgX3RoaXMuX3JlbGVhc2UgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAwLjI1LFxuICAgICAgZGVmYXVsdFZhbHVlOiAwLjI1LFxuICAgICAgbWF4VmFsdWU6IDEsXG4gICAgICBtaW5WYWx1ZTogMFxuICAgIH0pO1xuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhEeW5hbWljc0NvbXByZXNzb3JOb2RlLCBbe1xuICAgIGtleTogXCJ0aHJlc2hvbGRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl90aHJlc2hvbGQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImtlZW5cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9rZWVuO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyYXRpb1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3JhdGlvO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJyZWR1Y3Rpb25cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yZWR1Y3Rpb247XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImF0dGFja1wiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2F0dGFjaztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVsZWFzZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3JlbGVhc2U7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIER5bmFtaWNzQ29tcHJlc3Nvck5vZGU7XG59KF9BdWRpb05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbnZhciBfZGVmYXVsdCA9IER5bmFtaWNzQ29tcHJlc3Nvck5vZGU7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHtcIi4vQXVkaW9Ob2RlXCI6NDIsXCIuL0F1ZGlvUGFyYW1cIjo0M31dLDQ3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpb05vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb05vZGVcIikpO1xuXG52YXIgX0F1ZGlvUGFyYW0gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvUGFyYW1cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIEdhaW5Ob2RlID0gZnVuY3Rpb24gKF9BdWRpb05vZGUpIHtcbiAgX2luaGVyaXRzKEdhaW5Ob2RlLCBfQXVkaW9Ob2RlKTtcblxuICB2YXIgX3N1cGVyID0gX2NyZWF0ZVN1cGVyKEdhaW5Ob2RlKTtcblxuICBmdW5jdGlvbiBHYWluTm9kZShjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgdmFyIF90aGlzO1xuXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEdhaW5Ob2RlKTtcblxuICAgIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgY29udGV4dCk7XG4gICAgX3RoaXMuX2dhaW4gPSBvcHRpb25zICYmIG9wdGlvbnMuZ2FpbiB8fCBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKCk7XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgX2NyZWF0ZUNsYXNzKEdhaW5Ob2RlLCBbe1xuICAgIGtleTogXCJnYWluXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2FpbjtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gR2Fpbk5vZGU7XG59KF9BdWRpb05vZGUyW1wiZGVmYXVsdFwiXSk7XG5cbnZhciBfZGVmYXVsdCA9IEdhaW5Ob2RlO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7XCIuL0F1ZGlvTm9kZVwiOjQyLFwiLi9BdWRpb1BhcmFtXCI6NDN9XSw0ODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfQXVkaW9Ob2RlMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vQXVkaW9Ob2RlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBfc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOyB9XG5cbmZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7IF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBvLl9fcHJvdG9fXyA9IHA7IHJldHVybiBvOyB9OyByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApOyB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVTdXBlcihEZXJpdmVkKSB7IHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpOyByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7IHZhciBTdXBlciA9IF9nZXRQcm90b3R5cGVPZihEZXJpdmVkKSwgcmVzdWx0OyBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgeyB2YXIgTmV3VGFyZ2V0ID0gX2dldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yOyByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOyB9IGVsc2UgeyByZXN1bHQgPSBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCByZXN1bHQpOyB9OyB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKGNhbGwgJiYgKF90eXBlb2YoY2FsbCkgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikpIHsgcmV0dXJuIGNhbGw7IH0gcmV0dXJuIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZik7IH1cblxuZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZChzZWxmKSB7IGlmIChzZWxmID09PSB2b2lkIDApIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSB7IGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhUmVmbGVjdC5jb25zdHJ1Y3QpIHJldHVybiBmYWxzZTsgaWYgKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pIHJldHVybiBmYWxzZTsgaWYgKHR5cGVvZiBQcm94eSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdHJ1ZTsgdHJ5IHsgRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLCBbXSwgZnVuY3Rpb24gKCkge30pKTsgcmV0dXJuIHRydWU7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGZhbHNlOyB9IH1cblxuZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHsgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsgfTsgcmV0dXJuIF9nZXRQcm90b3R5cGVPZihvKTsgfVxuXG52YXIgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlID0gZnVuY3Rpb24gKF9BdWRpb05vZGUpIHtcbiAgX2luaGVyaXRzKE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUpO1xuXG4gIGZ1bmN0aW9uIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSk7XG5cbiAgICByZXR1cm4gX3N1cGVyLmNhbGwodGhpcywgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlO1xufShfQXVkaW9Ob2RlMltcImRlZmF1bHRcIl0pO1xuXG52YXIgX2RlZmF1bHQgPSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHtcIi4vQXVkaW9Ob2RlXCI6NDJ9XSw0OTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbnZhciBfQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGVcIikpO1xuXG52YXIgX0F1ZGlvUGFyYW0gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvUGFyYW1cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIHR5cGVzID0ge1xuICBcInNpbmVcIjogMCxcbiAgXCJzcXVhcmVcIjogMCxcbiAgXCJzYXd0b290aFwiOiAwLFxuICBcInRyaWFuZ2xlXCI6IDAsXG4gIFwiY3VzdG9tXCI6IDBcbn07XG5cbnZhciBPc2NpbGxhdG9yTm9kZSA9IGZ1bmN0aW9uIChfQXVkaW9TY2hlZHVsZWRTb3VyY2UpIHtcbiAgX2luaGVyaXRzKE9zY2lsbGF0b3JOb2RlLCBfQXVkaW9TY2hlZHVsZWRTb3VyY2UpO1xuXG4gIHZhciBfc3VwZXIgPSBfY3JlYXRlU3VwZXIoT3NjaWxsYXRvck5vZGUpO1xuXG4gIGZ1bmN0aW9uIE9zY2lsbGF0b3JOb2RlKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgT3NjaWxsYXRvck5vZGUpO1xuXG4gICAgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzKTtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBfdGhpcy5mcmVxdWVuY3kgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiBfdGhpcy5pc051bWJlcihvcHRpb25zLmZyZXF1ZW5jeSkgPyBvcHRpb25zLmZyZXF1ZW5jeSA6IDQ0MFxuICAgIH0pO1xuICAgIF90aGlzLmRldHVuZSA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IF90aGlzLmlzTnVtYmVyKG9wdGlvbnMuZGV0dW5lKSA/IG9wdGlvbnMuZGV0dW5lIDogMFxuICAgIH0pO1xuICAgIF90aGlzLnR5cGUgPSBvcHRpb25zLnR5cGUgaW4gdHlwZXMgPyBvcHRpb25zLnR5cGUgOiBcInNpbmVcIjtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoT3NjaWxsYXRvck5vZGUsIFt7XG4gICAga2V5OiBcInNldFBlcmlvZGljV2F2ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRQZXJpb2RpY1dhdmUod2F2ZSkge31cbiAgfSwge1xuICAgIGtleTogXCJzdGFydFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzdGFydCh3aGVuKSB7fVxuICB9LCB7XG4gICAga2V5OiBcInN0b3BcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc3RvcCh3ZW4pIHt9XG4gIH1dKTtcblxuICByZXR1cm4gT3NjaWxsYXRvck5vZGU7XG59KF9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGVbXCJkZWZhdWx0XCJdKTtcblxudmFyIF9kZWZhdWx0ID0gT3NjaWxsYXRvck5vZGU7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHtcIi4vQXVkaW9QYXJhbVwiOjQzLFwiLi9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGVcIjo0NH1dLDUwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxudmFyIF9BdWRpb05vZGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9BdWRpb05vZGVcIikpO1xuXG52YXIgX0F1ZGlvUGFyYW0gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0F1ZGlvUGFyYW1cIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb25cIik7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKTsgfVxuXG5mdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkgeyBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHsgby5fX3Byb3RvX18gPSBwOyByZXR1cm4gbzsgfTsgcmV0dXJuIF9zZXRQcm90b3R5cGVPZihvLCBwKTsgfVxuXG5mdW5jdGlvbiBfY3JlYXRlU3VwZXIoRGVyaXZlZCkgeyB2YXIgaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCA9IF9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKTsgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgeyB2YXIgU3VwZXIgPSBfZ2V0UHJvdG90eXBlT2YoRGVyaXZlZCksIHJlc3VsdDsgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsgdmFyIE5ld1RhcmdldCA9IF9nZXRQcm90b3R5cGVPZih0aGlzKS5jb25zdHJ1Y3RvcjsgcmVzdWx0ID0gUmVmbGVjdC5jb25zdHJ1Y3QoU3VwZXIsIGFyZ3VtZW50cywgTmV3VGFyZ2V0KTsgfSBlbHNlIHsgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfSByZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgcmVzdWx0KTsgfTsgfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmIChjYWxsICYmIChfdHlwZW9mKGNhbGwpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpKSB7IHJldHVybiBjYWxsOyB9IHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpOyB9XG5cbmZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoc2VsZikgeyBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gc2VsZjsgfVxuXG5mdW5jdGlvbiBfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0KCkgeyBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgIVJlZmxlY3QuY29uc3RydWN0KSByZXR1cm4gZmFsc2U7IGlmIChSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKSByZXR1cm4gZmFsc2U7IGlmICh0eXBlb2YgUHJveHkgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHRydWU7IHRyeSB7IERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSwgW10sIGZ1bmN0aW9uICgpIHt9KSk7IHJldHVybiB0cnVlOyB9IGNhdGNoIChlKSB7IHJldHVybiBmYWxzZTsgfSB9XG5cbmZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIF9nZXRQcm90b3R5cGVPZihvKSB7IHJldHVybiBvLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2Yobyk7IH07IHJldHVybiBfZ2V0UHJvdG90eXBlT2Yobyk7IH1cblxudmFyIFBhbm5lck5vZGUgPSBmdW5jdGlvbiAoX0F1ZGlvTm9kZSkge1xuICBfaW5oZXJpdHMoUGFubmVyTm9kZSwgX0F1ZGlvTm9kZSk7XG5cbiAgdmFyIF9zdXBlciA9IF9jcmVhdGVTdXBlcihQYW5uZXJOb2RlKTtcblxuICBmdW5jdGlvbiBQYW5uZXJOb2RlKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgUGFubmVyTm9kZSk7XG5cbiAgICBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIGNvbnRleHQpO1xuICAgIF90aGlzLmNvbmVJbm5lckFuZ2xlID0gMzYwO1xuICAgIF90aGlzLmNvbmVPdXRlckFuZ2xlID0gMzYwO1xuICAgIF90aGlzLmNvbmVPdXRlckdhaW4gPSAwO1xuICAgIF90aGlzLmRpc3RhbmNlTW9kZWwgPSBcImludmVyc2VcIjtcbiAgICBfdGhpcy5tYXhEaXN0YW5jZSA9IDEwMDAwO1xuICAgIF90aGlzLm9yaWVudGF0aW9uWCA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDFcbiAgICB9KTtcbiAgICBfdGhpcy5vcmllbnRhdGlvblkgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAwXG4gICAgfSk7XG4gICAgX3RoaXMub3JpZW50YXRpb25aID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMFxuICAgIH0pO1xuICAgIF90aGlzLnBhbm5pbmdNb2RlbCA9IFwiZXF1YWxwb3dlclwiO1xuICAgIF90aGlzLnBvc2l0aW9uWCA9IG5ldyBfQXVkaW9QYXJhbVtcImRlZmF1bHRcIl0oe1xuICAgICAgdmFsdWU6IDBcbiAgICB9KTtcbiAgICBfdGhpcy5wb3NpdGlvblkgPSBuZXcgX0F1ZGlvUGFyYW1bXCJkZWZhdWx0XCJdKHtcbiAgICAgIHZhbHVlOiAwXG4gICAgfSk7XG4gICAgX3RoaXMucG9zaXRpb25aID0gbmV3IF9BdWRpb1BhcmFtW1wiZGVmYXVsdFwiXSh7XG4gICAgICB2YWx1ZTogMFxuICAgIH0pO1xuICAgIF90aGlzLnJlZkRpc3RhbmNlID0gMTtcbiAgICBfdGhpcy5yb2xsb2ZmRmFjdG9yID0gMTtcbiAgICByZXR1cm4gX3RoaXM7XG4gIH1cblxuICBfY3JlYXRlQ2xhc3MoUGFubmVyTm9kZSwgW3tcbiAgICBrZXk6IFwic2V0UG9zaXRpb25cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0UG9zaXRpb24oeCwgeSwgeikge1xuICAgICAgdGhpcy5wb3NpdGlvblggPSB4O1xuICAgICAgdGhpcy5wb3NpdGlvblkgPSB5O1xuICAgICAgdGhpcy5wb3NpdGlvblogPSB6O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzZXRPcmllbnRhdGlvblwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRPcmllbnRhdGlvbih4LCB5LCB6KSB7XG4gICAgICB0aGlzLm9yaWVudGF0aW9uWCA9IHg7XG4gICAgICB0aGlzLm9yaWVudGF0aW9uWSA9IHk7XG4gICAgICB0aGlzLm9yaWVudGF0aW9uWiA9IHo7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInNldFZlbG9jaXR5XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNldFZlbG9jaXR5KCkge31cbiAgfV0pO1xuXG4gIHJldHVybiBQYW5uZXJOb2RlO1xufShfQXVkaW9Ob2RlMltcImRlZmF1bHRcIl0pO1xuXG52YXIgX2RlZmF1bHQgPSBQYW5uZXJOb2RlO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7XCIuL0F1ZGlvTm9kZVwiOjQyLFwiLi9BdWRpb1BhcmFtXCI6NDN9XSw1MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG52YXIgUGVyaW9kaWNXYXZlID0gZnVuY3Rpb24gUGVyaW9kaWNXYXZlKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFBlcmlvZGljV2F2ZSk7XG59O1xuXG52YXIgX2RlZmF1bHQgPSBQZXJpb2RpY1dhdmU7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSw1MjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbnZhciBtZDUgPSByZXF1aXJlKFwiLi4vLi4vbGliL21kNS5taW5cIik7XG5cbnZhciBmaWxlTWdyID0gcmFsLmdldEZpbGVTeXN0ZW1NYW5hZ2VyKCk7XG52YXIgY2FjaGVEaXIgPSByYWwuZW52LlVTRVJfREFUQV9QQVRIICsgXCIvZmlsZUNhY2hlL1wiO1xuXG52YXIgRmlsZUNhY2hlID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBGaWxlQ2FjaGUoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEZpbGVDYWNoZSk7XG5cbiAgICB0aGlzLl9jYWNoZXMgPSB7fTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhGaWxlQ2FjaGUsIFt7XG4gICAga2V5OiBcImdldENhY2hlXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldENhY2hlKGRhdGEpIHtcbiAgICAgIHZhciBrZXkgPSBGaWxlQ2FjaGUuX2dlbkRhdGFLZXkoZGF0YSk7XG5cbiAgICAgIGlmIChrZXkgaW4gdGhpcy5fY2FjaGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWNoZXNba2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzZXRDYWNoZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBzZXRDYWNoZShwYXRoLCBkYXRhKSB7XG4gICAgICB2YXIga2V5ID0gRmlsZUNhY2hlLl9nZW5EYXRhS2V5KGRhdGEpO1xuXG4gICAgICB0aGlzLl9jYWNoZXNba2V5XSA9IHBhdGg7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInNldEl0ZW1cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2V0SXRlbShkYXRhLCBwYXRoLCBrZXksIGNhbGxCYWNrKSB7XG4gICAgICBrZXkgPSBrZXkgfHwgRmlsZUNhY2hlLl9nZW5EYXRhS2V5KGRhdGEpO1xuICAgICAgdmFyIGNhY2hlcyA9IHRoaXMuX2NhY2hlcztcblxuICAgICAgaWYgKGtleSBpbiBjYWNoZXMpIHtcbiAgICAgICAgY2FsbEJhY2sgJiYgY2FsbEJhY2soY2FjaGVzW2tleV0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghcGF0aCkge1xuICAgICAgICBwYXRoID0gY2FjaGVEaXIgKyBrZXk7XG4gICAgICAgIGZpbGVNZ3Iud3JpdGVGaWxlKHtcbiAgICAgICAgICBmaWxlUGF0aDogcGF0aCxcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGVuY29kaW5nOiBcImJpbmFyeVwiLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIHN1Y2Nlc3MoKSB7XG4gICAgICAgICAgICBjYWNoZXNba2V5XSA9IHBhdGg7XG4gICAgICAgICAgICBjYWxsQmFjayAmJiBjYWxsQmFjayhwYXRoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IGZ1bmN0aW9uIGZhaWwoKSB7XG4gICAgICAgICAgICBjYWxsQmFjayAmJiBjYWxsQmFjaygpO1xuICAgICAgICAgICAgdGhyb3cgcGF0aCArIFwid3JpdGVGaWxlIGZhaWwhXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0UGF0aFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRQYXRoKGRhdGEsIGNhbGxCYWNrKSB7XG4gICAgICB2YXIga2V5ID0gRmlsZUNhY2hlLl9nZW5EYXRhS2V5KGRhdGEpO1xuXG4gICAgICB2YXIgY2FjaGVzID0gdGhpcy5fY2FjaGVzO1xuXG4gICAgICBpZiAoa2V5IGluIGNhY2hlcykge1xuICAgICAgICBjYWxsQmFjayhjYWNoZXNba2V5XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldEl0ZW0oZGF0YSwgdW5kZWZpbmVkLCBrZXksIGNhbGxCYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1dLCBbe1xuICAgIGtleTogXCJfZ2VuRGF0YUtleVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2VuRGF0YUtleShkYXRhKSB7XG4gICAgICB2YXIgdmlldyA9IG5ldyBEYXRhVmlldyhkYXRhKTtcbiAgICAgIHZhciBsZW5ndGggPSB2aWV3LmJ5dGVMZW5ndGggLyA0O1xuICAgICAgdmFyIGNvdW50ID0gMTA7XG4gICAgICB2YXIgc3BhY2UgPSBsZW5ndGggLyBjb3VudDtcbiAgICAgIHZhciBrZXkgPSBcImxlbmd0aDpcIiArIGxlbmd0aDtcbiAgICAgIGtleSArPSBcImZpcnN0OlwiICsgdmlldy5nZXRJbnQzMigwKTtcbiAgICAgIGtleSArPSBcImxhc3Q6XCIgKyB2aWV3LmdldEludDMyKGxlbmd0aCAtIDEpO1xuXG4gICAgICB3aGlsZSAoY291bnQtLSkge1xuICAgICAgICBrZXkgKz0gY291bnQgKyBcIjpcIiArIHZpZXcuZ2V0SW50MzIoTWF0aC5mbG9vcihzcGFjZSAqIGNvdW50KSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZDUoa2V5KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gRmlsZUNhY2hlO1xufSgpO1xuXG50cnkge1xuICBmaWxlTWdyLmFjY2Vzc1N5bmMoY2FjaGVEaXIpO1xuICBmaWxlTWdyLnJtZGlyU3luYyhjYWNoZURpciwgdHJ1ZSk7XG59IGNhdGNoIChlKSB7fVxuXG5maWxlTWdyLm1rZGlyU3luYyhjYWNoZURpciwgdHJ1ZSk7XG5cbnZhciBfZGVmYXVsdCA9IG5ldyBGaWxlQ2FjaGUoKTtcblxuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7XCIuLi8uLi9saWIvbWQ1Lm1pblwiOjJ9XSw1MzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG52YXIgX2RlZmF1bHQgPSBuZXcgV2Vha01hcCgpO1xuXG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSw1NDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9BdWRpbyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vQXVkaW9cIikpO1xuXG52YXIgX0F1ZGlvQ29udGV4dCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vYXVkaW9Db250ZXh0L0F1ZGlvQ29udGV4dFwiKSk7XG5cbnZhciBfRGV2aWNlTW90aW9uRXZlbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0RldmljZU1vdGlvbkV2ZW50XCIpKTtcblxudmFyIF9Eb2N1bWVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRG9jdW1lbnRcIikpO1xuXG52YXIgX0V2ZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9FdmVudFwiKSk7XG5cbnZhciBfRm9udEZhY2UgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0ZvbnRGYWNlXCIpKTtcblxudmFyIF9Gb250RmFjZVNldCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vRm9udEZhY2VTZXRcIikpO1xuXG52YXIgX0V2ZW50VGFyZ2V0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9FdmVudFRhcmdldFwiKSk7XG5cbnZhciBfSFRNTEVsZW1lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxFbGVtZW50XCIpKTtcblxudmFyIF9IVE1MQXVkaW9FbGVtZW50ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9IVE1MQXVkaW9FbGVtZW50XCIpKTtcblxudmFyIF9IVE1MQ2FudmFzRWxlbWVudCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4vSFRNTENhbnZhc0VsZW1lbnRcIikpO1xuXG52YXIgX0hUTUxJbWFnZUVsZW1lbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0hUTUxJbWFnZUVsZW1lbnRcIikpO1xuXG52YXIgX0ltYWdlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9JbWFnZVwiKSk7XG5cbnZhciBfTG9jYXRpb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL0xvY2F0aW9uXCIpKTtcblxudmFyIF9OYXZpZ2F0b3IgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL05hdmlnYXRvclwiKSk7XG5cbnZhciBfU2NyZWVuID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9TY3JlZW5cIikpO1xuXG52YXIgX1RvdWNoRXZlbnQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL1RvdWNoRXZlbnRcIikpO1xuXG52YXIgX1hNTEh0dHBSZXF1ZXN0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9YTUxIdHRwUmVxdWVzdFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG53aW5kb3cucmFsID0gd2luZG93LnJhbCB8fCB7fTtcblxudmFyIF9zeXN0ZW1JbmZvID0gd2luZG93LnJhbC5nZXRTeXN0ZW1JbmZvU3luYygpO1xuXG53aW5kb3cuY2xpZW50VG9wID0gMDtcbndpbmRvdy5jbGllbnRMZWZ0ID0gMDtcbndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvID0gX3N5c3RlbUluZm8ucGl4ZWxSYXRpbztcbndpbmRvdy5kb2N1bWVudCA9IG5ldyBfRG9jdW1lbnRbXCJkZWZhdWx0XCJdKCk7XG53aW5kb3cuZnJhbWVFbGVtZW50ID0gbnVsbDtcbndpbmRvdy5mdWxsU2NyZWVuID0gdHJ1ZTtcbndpbmRvdy5pbm5lckhlaWdodCA9IF9zeXN0ZW1JbmZvLnNjcmVlbkhlaWdodDtcbndpbmRvdy5pbm5lcldpZHRoID0gX3N5c3RlbUluZm8uc2NyZWVuV2lkdGg7XG53aW5kb3cubGVuZ3RoID0gMDtcbndpbmRvdy5sb2NhdGlvbiA9IG5ldyBfTG9jYXRpb25bXCJkZWZhdWx0XCJdKCk7XG53aW5kb3cubmFtZSA9IFwicnVudGltZVwiO1xud2luZG93Lm5hdmlnYXRvciA9IG5ldyBfTmF2aWdhdG9yW1wiZGVmYXVsdFwiXShfc3lzdGVtSW5mby5wbGF0Zm9ybSwgX3N5c3RlbUluZm8ubGFuZ3VhZ2UpO1xud2luZG93Lm91dGVySGVpZ2h0ID0gX3N5c3RlbUluZm8uc2NyZWVuSGVpZ2h0O1xud2luZG93Lm91dGVyV2lkdGggPSBfc3lzdGVtSW5mby5zY3JlZW5XaWR0aDtcbndpbmRvdy5wYWdlWE9mZnNldCA9IDA7XG53aW5kb3cucGFnZVlPZmZzZXQgPSAwO1xud2luZG93LnBhcmVudCA9IHdpbmRvdztcbndpbmRvdy5zY3JlZW4gPSBuZXcgX1NjcmVlbltcImRlZmF1bHRcIl0oKTtcbndpbmRvdy5zY3JlZW5MZWZ0ID0gMDtcbndpbmRvdy5zY3JlZW5Ub3AgPSAwO1xud2luZG93LnNjcmVlblggPSAwO1xud2luZG93LnNjcmVlblkgPSAwO1xud2luZG93LnNjcm9sbFggPSAwO1xud2luZG93LnNjcm9sbFkgPSAwO1xud2luZG93LnNlbGYgPSB3aW5kb3c7XG53aW5kb3cudG9wID0gd2luZG93O1xud2luZG93LndpbmRvdyA9IHdpbmRvdztcbndpbmRvdy5hbGVydCA9IHdpbmRvdy5jb25zb2xlLmVycm9yO1xuXG52YXIgX3JlcXVpcmUgPSByZXF1aXJlKCcuLi9saWIvYmFzZTY0Lm1pbi5qcycpLFxuICAgIGJ0b2EgPSBfcmVxdWlyZS5idG9hLFxuICAgIGF0b2IgPSBfcmVxdWlyZS5hdG9iO1xuXG53aW5kb3cuYXRvYiA9IGF0b2I7XG53aW5kb3cuYnRvYSA9IGJ0b2E7XG5cbndpbmRvdy5jbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgY29uc29sZS53YXJuKFwid2luZG93LmNsb3NlKCkgaXMgZGVwcmVjYXRlZCFcIik7XG59O1xuXG53aW5kb3cucHJpbnQgPSB3aW5kb3cuY29uc29sZS5sb2c7XG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciA9IF9FdmVudFRhcmdldFtcImRlZmF1bHRcIl0ucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI7XG53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IF9FdmVudFRhcmdldFtcImRlZmF1bHRcIl0ucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI7XG52YXIgX2Rpc3BhdGNoRXZlbnQgPSBfRXZlbnRUYXJnZXRbXCJkZWZhdWx0XCJdLnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50O1xuXG53aW5kb3cuZGlzcGF0Y2hFdmVudCA9IGZ1bmN0aW9uIChldmVudCkge1xuICBpZiAod2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpKSB7XG4gICAgcmV0dXJuIF9kaXNwYXRjaEV2ZW50LmFwcGx5KHRoaXMgfHwgd2luZG93LCBhcmd1bWVudHMpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxud2luZG93LmdldENvbXB1dGVkU3R5bGUgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzBweCcsXG4gICAgdG9wOiAnMHB4JyxcbiAgICBoZWlnaHQ6ICcwcHgnLFxuICAgIHBhZGRpbmdMZWZ0OiAwXG4gIH07XG59O1xuXG5yYWwub25XaW5kb3dSZXNpemUgJiYgcmFsLm9uV2luZG93UmVzaXplKGZ1bmN0aW9uICh3aWR0aCwgaGVpZ2h0KSB7XG4gIHdpbmRvdy5pbm5lcldpZHRoID0gd2lkdGg7XG4gIHdpbmRvdy5pbm5lckhlaWdodCA9IGhlaWdodDtcbiAgd2luZG93Lm91dGVyV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgd2luZG93Lm91dGVySGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICB3aW5kb3cuc2NyZWVuLmF2YWlsV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgd2luZG93LnNjcmVlbi5hdmFpbEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgd2luZG93LnNjcmVlbi53aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICB3aW5kb3cuc2NyZWVuLmhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgdmFyIGV2ZW50ID0gbmV3IF9FdmVudFtcImRlZmF1bHRcIl0oXCJyZXNpemVcIik7XG4gIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbn0pO1xuXG53aW5kb3cucmVzaXplID0gZnVuY3Rpb24gKCkge1xuICBjb25zb2xlLndhcm4oJ3dpbmRvdy5yZXNpemUoKSBub3Qgc3VwcG9ydGVkJyk7XG59O1xuXG53aW5kb3cuc3RvcCA9IGZ1bmN0aW9uICgpIHtcbiAgY29uc29sZS53YXJuKFwid2luZG93LnN0b3AoKSBub3QgaW1wbGVtZW50ZWRcIik7XG59O1xuXG53aW5kb3cuQXVkaW8gPSBfQXVkaW9bXCJkZWZhdWx0XCJdO1xud2luZG93LkF1ZGlvQ29udGV4dCA9IF9BdWRpb0NvbnRleHRbXCJkZWZhdWx0XCJdO1xud2luZG93LkRldmljZU1vdGlvbkV2ZW50ID0gX0RldmljZU1vdGlvbkV2ZW50W1wiZGVmYXVsdFwiXTtcbndpbmRvdy5FdmVudCA9IF9FdmVudFtcImRlZmF1bHRcIl07XG53aW5kb3cuRm9udEZhY2UgPSBfRm9udEZhY2VbXCJkZWZhdWx0XCJdO1xud2luZG93LkZvbnRGYWNlU2V0ID0gX0ZvbnRGYWNlU2V0W1wiZGVmYXVsdFwiXTtcbndpbmRvdy5IVE1MRWxlbWVudCA9IF9IVE1MRWxlbWVudFtcImRlZmF1bHRcIl07XG53aW5kb3cuSFRNTEF1ZGlvRWxlbWVudCA9IF9IVE1MQXVkaW9FbGVtZW50W1wiZGVmYXVsdFwiXTtcbndpbmRvdy5IVE1MQ2FudmFzRWxlbWVudCA9IF9IVE1MQ2FudmFzRWxlbWVudFtcImRlZmF1bHRcIl07XG53aW5kb3cuSFRNTEltYWdlRWxlbWVudCA9IF9IVE1MSW1hZ2VFbGVtZW50W1wiZGVmYXVsdFwiXTtcbndpbmRvdy5JbWFnZSA9IF9JbWFnZVtcImRlZmF1bHRcIl07XG53aW5kb3cuVG91Y2hFdmVudCA9IF9Ub3VjaEV2ZW50W1wiZGVmYXVsdFwiXTtcbndpbmRvdy5YTUxIdHRwUmVxdWVzdCA9IF9YTUxIdHRwUmVxdWVzdFtcImRlZmF1bHRcIl07XG5cbmlmICghd2luZG93LkJsb2IgfHwgIXdpbmRvdy5VUkwpIHtcbiAgdmFyIF9yZXF1aXJlMiA9IHJlcXVpcmUoJy4vQmxvYi5qcycpLFxuICAgICAgQmxvYiA9IF9yZXF1aXJlMi5CbG9iLFxuICAgICAgVVJMID0gX3JlcXVpcmUyLlVSTDtcblxuICB3aW5kb3cuQmxvYiA9IEJsb2I7XG4gIHdpbmRvdy5VUkwgPSBVUkw7XG59XG5cbmlmICghd2luZG93LkRPTVBhcnNlcikge1xuICB3aW5kb3cuRE9NUGFyc2VyID0gcmVxdWlyZSgnLi94bWxkb20vZG9tLXBhcnNlci5qcycpLkRPTVBhcnNlcjtcbn1cblxufSx7XCIuLi9saWIvYmFzZTY0Lm1pbi5qc1wiOjEsXCIuL0F1ZGlvXCI6MyxcIi4vQmxvYi5qc1wiOjQsXCIuL0RldmljZU1vdGlvbkV2ZW50XCI6NixcIi4vRG9jdW1lbnRcIjo3LFwiLi9FdmVudFwiOjksXCIuL0V2ZW50VGFyZ2V0XCI6MTAsXCIuL0ZvbnRGYWNlXCI6MTEsXCIuL0ZvbnRGYWNlU2V0XCI6MTIsXCIuL0hUTUxBdWRpb0VsZW1lbnRcIjoxNCxcIi4vSFRNTENhbnZhc0VsZW1lbnRcIjoxNixcIi4vSFRNTEVsZW1lbnRcIjoxNyxcIi4vSFRNTEltYWdlRWxlbWVudFwiOjIwLFwiLi9JbWFnZVwiOjI2LFwiLi9Mb2NhdGlvblwiOjI3LFwiLi9OYXZpZ2F0b3JcIjoyOSxcIi4vU2NyZWVuXCI6MzIsXCIuL1RvdWNoRXZlbnRcIjozMyxcIi4vWE1MSHR0cFJlcXVlc3RcIjozNCxcIi4vYXVkaW9Db250ZXh0L0F1ZGlvQ29udGV4dFwiOjM5LFwiLi94bWxkb20vZG9tLXBhcnNlci5qc1wiOjU1fV0sNTU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIERPTVBhcnNlcihvcHRpb25zKSB7XG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfHwge1xuICAgIGxvY2F0b3I6IHt9XG4gIH07XG59XG5cbkRPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nID0gZnVuY3Rpb24gKHNvdXJjZSwgbWltZVR5cGUpIHtcbiAgdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gIHZhciBzYXggPSBuZXcgWE1MUmVhZGVyKCk7XG4gIHZhciBkb21CdWlsZGVyID0gb3B0aW9ucy5kb21CdWlsZGVyIHx8IG5ldyBET01IYW5kbGVyKCk7XG4gIHZhciBlcnJvckhhbmRsZXIgPSBvcHRpb25zLmVycm9ySGFuZGxlcjtcbiAgdmFyIGxvY2F0b3IgPSBvcHRpb25zLmxvY2F0b3I7XG4gIHZhciBkZWZhdWx0TlNNYXAgPSBvcHRpb25zLnhtbG5zIHx8IHt9O1xuICB2YXIgaXNIVE1MID0gL1xcL3g/aHRtbD8kLy50ZXN0KG1pbWVUeXBlKTtcbiAgdmFyIGVudGl0eU1hcCA9IGlzSFRNTCA/IGh0bWxFbnRpdHkuZW50aXR5TWFwIDoge1xuICAgICdsdCc6ICc8JyxcbiAgICAnZ3QnOiAnPicsXG4gICAgJ2FtcCc6ICcmJyxcbiAgICAncXVvdCc6ICdcIicsXG4gICAgJ2Fwb3MnOiBcIidcIlxuICB9O1xuXG4gIGlmIChsb2NhdG9yKSB7XG4gICAgZG9tQnVpbGRlci5zZXREb2N1bWVudExvY2F0b3IobG9jYXRvcik7XG4gIH1cblxuICBzYXguZXJyb3JIYW5kbGVyID0gYnVpbGRFcnJvckhhbmRsZXIoZXJyb3JIYW5kbGVyLCBkb21CdWlsZGVyLCBsb2NhdG9yKTtcbiAgc2F4LmRvbUJ1aWxkZXIgPSBvcHRpb25zLmRvbUJ1aWxkZXIgfHwgZG9tQnVpbGRlcjtcblxuICBpZiAoaXNIVE1MKSB7XG4gICAgZGVmYXVsdE5TTWFwWycnXSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJztcbiAgfVxuXG4gIGRlZmF1bHROU01hcC54bWwgPSBkZWZhdWx0TlNNYXAueG1sIHx8ICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnO1xuXG4gIGlmIChzb3VyY2UpIHtcbiAgICBzYXgucGFyc2Uoc291cmNlLCBkZWZhdWx0TlNNYXAsIGVudGl0eU1hcCk7XG4gIH0gZWxzZSB7XG4gICAgc2F4LmVycm9ySGFuZGxlci5lcnJvcihcImludmFsaWQgZG9jIHNvdXJjZVwiKTtcbiAgfVxuXG4gIHJldHVybiBkb21CdWlsZGVyLmRvYztcbn07XG5cbmZ1bmN0aW9uIGJ1aWxkRXJyb3JIYW5kbGVyKGVycm9ySW1wbCwgZG9tQnVpbGRlciwgbG9jYXRvcikge1xuICBpZiAoIWVycm9ySW1wbCkge1xuICAgIGlmIChkb21CdWlsZGVyIGluc3RhbmNlb2YgRE9NSGFuZGxlcikge1xuICAgICAgcmV0dXJuIGRvbUJ1aWxkZXI7XG4gICAgfVxuXG4gICAgZXJyb3JJbXBsID0gZG9tQnVpbGRlcjtcbiAgfVxuXG4gIHZhciBlcnJvckhhbmRsZXIgPSB7fTtcbiAgdmFyIGlzQ2FsbGJhY2sgPSBlcnJvckltcGwgaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgbG9jYXRvciA9IGxvY2F0b3IgfHwge307XG5cbiAgZnVuY3Rpb24gYnVpbGQoa2V5KSB7XG4gICAgdmFyIGZuID0gZXJyb3JJbXBsW2tleV07XG5cbiAgICBpZiAoIWZuICYmIGlzQ2FsbGJhY2spIHtcbiAgICAgIGZuID0gZXJyb3JJbXBsLmxlbmd0aCA9PSAyID8gZnVuY3Rpb24gKG1zZykge1xuICAgICAgICBlcnJvckltcGwoa2V5LCBtc2cpO1xuICAgICAgfSA6IGVycm9ySW1wbDtcbiAgICB9XG5cbiAgICBlcnJvckhhbmRsZXJba2V5XSA9IGZuICYmIGZ1bmN0aW9uIChtc2cpIHtcbiAgICAgIGZuKCdbeG1sZG9tICcgKyBrZXkgKyAnXVxcdCcgKyBtc2cgKyBfbG9jYXRvcihsb2NhdG9yKSk7XG4gICAgfSB8fCBmdW5jdGlvbiAoKSB7fTtcbiAgfVxuXG4gIGJ1aWxkKCd3YXJuaW5nJyk7XG4gIGJ1aWxkKCdlcnJvcicpO1xuICBidWlsZCgnZmF0YWxFcnJvcicpO1xuICByZXR1cm4gZXJyb3JIYW5kbGVyO1xufVxuXG5mdW5jdGlvbiBET01IYW5kbGVyKCkge1xuICB0aGlzLmNkYXRhID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIHBvc2l0aW9uKGxvY2F0b3IsIG5vZGUpIHtcbiAgbm9kZS5saW5lTnVtYmVyID0gbG9jYXRvci5saW5lTnVtYmVyO1xuICBub2RlLmNvbHVtbk51bWJlciA9IGxvY2F0b3IuY29sdW1uTnVtYmVyO1xufVxuXG5ET01IYW5kbGVyLnByb3RvdHlwZSA9IHtcbiAgc3RhcnREb2N1bWVudDogZnVuY3Rpb24gc3RhcnREb2N1bWVudCgpIHtcbiAgICB0aGlzLmRvYyA9IG5ldyBET01JbXBsZW1lbnRhdGlvbigpLmNyZWF0ZURvY3VtZW50KG51bGwsIG51bGwsIG51bGwpO1xuXG4gICAgaWYgKHRoaXMubG9jYXRvcikge1xuICAgICAgdGhpcy5kb2MuZG9jdW1lbnRVUkkgPSB0aGlzLmxvY2F0b3Iuc3lzdGVtSWQ7XG4gICAgfVxuICB9LFxuICBzdGFydEVsZW1lbnQ6IGZ1bmN0aW9uIHN0YXJ0RWxlbWVudChuYW1lc3BhY2VVUkksIGxvY2FsTmFtZSwgcU5hbWUsIGF0dHJzKSB7XG4gICAgdmFyIGRvYyA9IHRoaXMuZG9jO1xuICAgIHZhciBlbCA9IGRvYy5jcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJLCBxTmFtZSB8fCBsb2NhbE5hbWUpO1xuICAgIHZhciBsZW4gPSBhdHRycy5sZW5ndGg7XG4gICAgYXBwZW5kRWxlbWVudCh0aGlzLCBlbCk7XG4gICAgdGhpcy5jdXJyZW50RWxlbWVudCA9IGVsO1xuICAgIHRoaXMubG9jYXRvciAmJiBwb3NpdGlvbih0aGlzLmxvY2F0b3IsIGVsKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIHZhciBuYW1lc3BhY2VVUkkgPSBhdHRycy5nZXRVUkkoaSk7XG4gICAgICB2YXIgdmFsdWUgPSBhdHRycy5nZXRWYWx1ZShpKTtcbiAgICAgIHZhciBxTmFtZSA9IGF0dHJzLmdldFFOYW1lKGkpO1xuICAgICAgdmFyIGF0dHIgPSBkb2MuY3JlYXRlQXR0cmlidXRlTlMobmFtZXNwYWNlVVJJLCBxTmFtZSk7XG4gICAgICB0aGlzLmxvY2F0b3IgJiYgcG9zaXRpb24oYXR0cnMuZ2V0TG9jYXRvcihpKSwgYXR0cik7XG4gICAgICBhdHRyLnZhbHVlID0gYXR0ci5ub2RlVmFsdWUgPSB2YWx1ZTtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZU5vZGUoYXR0cik7XG4gICAgfVxuICB9LFxuICBlbmRFbGVtZW50OiBmdW5jdGlvbiBlbmRFbGVtZW50KG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lLCBxTmFtZSkge1xuICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50RWxlbWVudDtcbiAgICB2YXIgdGFnTmFtZSA9IGN1cnJlbnQudGFnTmFtZTtcbiAgICB0aGlzLmN1cnJlbnRFbGVtZW50ID0gY3VycmVudC5wYXJlbnROb2RlO1xuICB9LFxuICBzdGFydFByZWZpeE1hcHBpbmc6IGZ1bmN0aW9uIHN0YXJ0UHJlZml4TWFwcGluZyhwcmVmaXgsIHVyaSkge30sXG4gIGVuZFByZWZpeE1hcHBpbmc6IGZ1bmN0aW9uIGVuZFByZWZpeE1hcHBpbmcocHJlZml4KSB7fSxcbiAgcHJvY2Vzc2luZ0luc3RydWN0aW9uOiBmdW5jdGlvbiBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odGFyZ2V0LCBkYXRhKSB7XG4gICAgdmFyIGlucyA9IHRoaXMuZG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbih0YXJnZXQsIGRhdGEpO1xuICAgIHRoaXMubG9jYXRvciAmJiBwb3NpdGlvbih0aGlzLmxvY2F0b3IsIGlucyk7XG4gICAgYXBwZW5kRWxlbWVudCh0aGlzLCBpbnMpO1xuICB9LFxuICBpZ25vcmFibGVXaGl0ZXNwYWNlOiBmdW5jdGlvbiBpZ25vcmFibGVXaGl0ZXNwYWNlKGNoLCBzdGFydCwgbGVuZ3RoKSB7fSxcbiAgY2hhcmFjdGVyczogZnVuY3Rpb24gY2hhcmFjdGVycyhjaGFycywgc3RhcnQsIGxlbmd0aCkge1xuICAgIGNoYXJzID0gX3RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgICBpZiAoY2hhcnMpIHtcbiAgICAgIGlmICh0aGlzLmNkYXRhKSB7XG4gICAgICAgIHZhciBjaGFyTm9kZSA9IHRoaXMuZG9jLmNyZWF0ZUNEQVRBU2VjdGlvbihjaGFycyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgY2hhck5vZGUgPSB0aGlzLmRvYy5jcmVhdGVUZXh0Tm9kZShjaGFycyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmN1cnJlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY3VycmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY2hhck5vZGUpO1xuICAgICAgfSBlbHNlIGlmICgvXlxccyokLy50ZXN0KGNoYXJzKSkge1xuICAgICAgICB0aGlzLmRvYy5hcHBlbmRDaGlsZChjaGFyTm9kZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubG9jYXRvciAmJiBwb3NpdGlvbih0aGlzLmxvY2F0b3IsIGNoYXJOb2RlKTtcbiAgICB9XG4gIH0sXG4gIHNraXBwZWRFbnRpdHk6IGZ1bmN0aW9uIHNraXBwZWRFbnRpdHkobmFtZSkge30sXG4gIGVuZERvY3VtZW50OiBmdW5jdGlvbiBlbmREb2N1bWVudCgpIHtcbiAgICB0aGlzLmRvYy5ub3JtYWxpemUoKTtcbiAgfSxcbiAgc2V0RG9jdW1lbnRMb2NhdG9yOiBmdW5jdGlvbiBzZXREb2N1bWVudExvY2F0b3IobG9jYXRvcikge1xuICAgIGlmICh0aGlzLmxvY2F0b3IgPSBsb2NhdG9yKSB7XG4gICAgICBsb2NhdG9yLmxpbmVOdW1iZXIgPSAwO1xuICAgIH1cbiAgfSxcbiAgY29tbWVudDogZnVuY3Rpb24gY29tbWVudChjaGFycywgc3RhcnQsIGxlbmd0aCkge1xuICAgIGNoYXJzID0gX3RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgdmFyIGNvbW0gPSB0aGlzLmRvYy5jcmVhdGVDb21tZW50KGNoYXJzKTtcbiAgICB0aGlzLmxvY2F0b3IgJiYgcG9zaXRpb24odGhpcy5sb2NhdG9yLCBjb21tKTtcbiAgICBhcHBlbmRFbGVtZW50KHRoaXMsIGNvbW0pO1xuICB9LFxuICBzdGFydENEQVRBOiBmdW5jdGlvbiBzdGFydENEQVRBKCkge1xuICAgIHRoaXMuY2RhdGEgPSB0cnVlO1xuICB9LFxuICBlbmRDREFUQTogZnVuY3Rpb24gZW5kQ0RBVEEoKSB7XG4gICAgdGhpcy5jZGF0YSA9IGZhbHNlO1xuICB9LFxuICBzdGFydERURDogZnVuY3Rpb24gc3RhcnREVEQobmFtZSwgcHVibGljSWQsIHN5c3RlbUlkKSB7XG4gICAgdmFyIGltcGwgPSB0aGlzLmRvYy5pbXBsZW1lbnRhdGlvbjtcblxuICAgIGlmIChpbXBsICYmIGltcGwuY3JlYXRlRG9jdW1lbnRUeXBlKSB7XG4gICAgICB2YXIgZHQgPSBpbXBsLmNyZWF0ZURvY3VtZW50VHlwZShuYW1lLCBwdWJsaWNJZCwgc3lzdGVtSWQpO1xuICAgICAgdGhpcy5sb2NhdG9yICYmIHBvc2l0aW9uKHRoaXMubG9jYXRvciwgZHQpO1xuICAgICAgYXBwZW5kRWxlbWVudCh0aGlzLCBkdCk7XG4gICAgfVxuICB9LFxuICB3YXJuaW5nOiBmdW5jdGlvbiB3YXJuaW5nKGVycm9yKSB7XG4gICAgY29uc29sZS53YXJuKCdbeG1sZG9tIHdhcm5pbmddXFx0JyArIGVycm9yLCBfbG9jYXRvcih0aGlzLmxvY2F0b3IpKTtcbiAgfSxcbiAgZXJyb3I6IGZ1bmN0aW9uIGVycm9yKF9lcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1t4bWxkb20gZXJyb3JdXFx0JyArIF9lcnJvciwgX2xvY2F0b3IodGhpcy5sb2NhdG9yKSk7XG4gIH0sXG4gIGZhdGFsRXJyb3I6IGZ1bmN0aW9uIGZhdGFsRXJyb3IoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdbeG1sZG9tIGZhdGFsRXJyb3JdXFx0JyArIGVycm9yLCBfbG9jYXRvcih0aGlzLmxvY2F0b3IpKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZnVuY3Rpb24gX2xvY2F0b3IobCkge1xuICBpZiAobCkge1xuICAgIHJldHVybiAnXFxuQCcgKyAobC5zeXN0ZW1JZCB8fCAnJykgKyAnI1tsaW5lOicgKyBsLmxpbmVOdW1iZXIgKyAnLGNvbDonICsgbC5jb2x1bW5OdW1iZXIgKyAnXSc7XG4gIH1cbn1cblxuZnVuY3Rpb24gX3RvU3RyaW5nKGNoYXJzLCBzdGFydCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgY2hhcnMgPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gY2hhcnMuc3Vic3RyKHN0YXJ0LCBsZW5ndGgpO1xuICB9IGVsc2Uge1xuICAgIGlmIChjaGFycy5sZW5ndGggPj0gc3RhcnQgKyBsZW5ndGggfHwgc3RhcnQpIHtcbiAgICAgIHJldHVybiBuZXcgamF2YS5sYW5nLlN0cmluZyhjaGFycywgc3RhcnQsIGxlbmd0aCkgKyAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhcnM7XG4gIH1cbn1cblxuXCJlbmREVEQsc3RhcnRFbnRpdHksZW5kRW50aXR5LGF0dHJpYnV0ZURlY2wsZWxlbWVudERlY2wsZXh0ZXJuYWxFbnRpdHlEZWNsLGludGVybmFsRW50aXR5RGVjbCxyZXNvbHZlRW50aXR5LGdldEV4dGVybmFsU3Vic2V0LG5vdGF0aW9uRGVjbCx1bnBhcnNlZEVudGl0eURlY2xcIi5yZXBsYWNlKC9cXHcrL2csIGZ1bmN0aW9uIChrZXkpIHtcbiAgRE9NSGFuZGxlci5wcm90b3R5cGVba2V5XSA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn0pO1xuXG5mdW5jdGlvbiBhcHBlbmRFbGVtZW50KGhhbmRlciwgbm9kZSkge1xuICBpZiAoIWhhbmRlci5jdXJyZW50RWxlbWVudCkge1xuICAgIGhhbmRlci5kb2MuYXBwZW5kQ2hpbGQobm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgaGFuZGVyLmN1cnJlbnRFbGVtZW50LmFwcGVuZENoaWxkKG5vZGUpO1xuICB9XG59XG5cbnZhciBodG1sRW50aXR5ID0gcmVxdWlyZSgnLi9lbnRpdGllcycpO1xuXG52YXIgWE1MUmVhZGVyID0gcmVxdWlyZSgnLi9zYXgnKS5YTUxSZWFkZXI7XG5cbnZhciBET01JbXBsZW1lbnRhdGlvbiA9IGV4cG9ydHMuRE9NSW1wbGVtZW50YXRpb24gPSByZXF1aXJlKCcuL2RvbScpLkRPTUltcGxlbWVudGF0aW9uO1xuXG5leHBvcnRzLlhNTFNlcmlhbGl6ZXIgPSByZXF1aXJlKCcuL2RvbScpLlhNTFNlcmlhbGl6ZXI7XG5leHBvcnRzLkRPTVBhcnNlciA9IERPTVBhcnNlcjtcblxufSx7XCIuL2RvbVwiOjU2LFwiLi9lbnRpdGllc1wiOjU3LFwiLi9zYXhcIjo1OH1dLDU2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbmZ1bmN0aW9uIGNvcHkoc3JjLCBkZXN0KSB7XG4gIGZvciAodmFyIHAgaW4gc3JjKSB7XG4gICAgZGVzdFtwXSA9IHNyY1twXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfZXh0ZW5kcyhDbGFzcywgU3VwZXIpIHtcbiAgdmFyIHB0ID0gQ2xhc3MucHJvdG90eXBlO1xuXG4gIGlmICghKHB0IGluc3RhbmNlb2YgU3VwZXIpKSB7XG4gICAgdmFyIHQgPSBmdW5jdGlvbiB0KCkge307XG5cbiAgICA7XG4gICAgdC5wcm90b3R5cGUgPSBTdXBlci5wcm90b3R5cGU7XG4gICAgdCA9IG5ldyB0KCk7XG4gICAgY29weShwdCwgdCk7XG4gICAgQ2xhc3MucHJvdG90eXBlID0gcHQgPSB0O1xuICB9XG5cbiAgaWYgKHB0LmNvbnN0cnVjdG9yICE9IENsYXNzKSB7XG4gICAgaWYgKHR5cGVvZiBDbGFzcyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwidW5rbm93IENsYXNzOlwiICsgQ2xhc3MpO1xuICAgIH1cblxuICAgIHB0LmNvbnN0cnVjdG9yID0gQ2xhc3M7XG4gIH1cbn1cblxudmFyIGh0bWxucyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJztcbnZhciBOb2RlVHlwZSA9IHt9O1xudmFyIEVMRU1FTlRfTk9ERSA9IE5vZGVUeXBlLkVMRU1FTlRfTk9ERSA9IDE7XG52YXIgQVRUUklCVVRFX05PREUgPSBOb2RlVHlwZS5BVFRSSUJVVEVfTk9ERSA9IDI7XG52YXIgVEVYVF9OT0RFID0gTm9kZVR5cGUuVEVYVF9OT0RFID0gMztcbnZhciBDREFUQV9TRUNUSU9OX05PREUgPSBOb2RlVHlwZS5DREFUQV9TRUNUSU9OX05PREUgPSA0O1xudmFyIEVOVElUWV9SRUZFUkVOQ0VfTk9ERSA9IE5vZGVUeXBlLkVOVElUWV9SRUZFUkVOQ0VfTk9ERSA9IDU7XG52YXIgRU5USVRZX05PREUgPSBOb2RlVHlwZS5FTlRJVFlfTk9ERSA9IDY7XG52YXIgUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFID0gTm9kZVR5cGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFID0gNztcbnZhciBDT01NRU5UX05PREUgPSBOb2RlVHlwZS5DT01NRU5UX05PREUgPSA4O1xudmFyIERPQ1VNRU5UX05PREUgPSBOb2RlVHlwZS5ET0NVTUVOVF9OT0RFID0gOTtcbnZhciBET0NVTUVOVF9UWVBFX05PREUgPSBOb2RlVHlwZS5ET0NVTUVOVF9UWVBFX05PREUgPSAxMDtcbnZhciBET0NVTUVOVF9GUkFHTUVOVF9OT0RFID0gTm9kZVR5cGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSA9IDExO1xudmFyIE5PVEFUSU9OX05PREUgPSBOb2RlVHlwZS5OT1RBVElPTl9OT0RFID0gMTI7XG52YXIgRXhjZXB0aW9uQ29kZSA9IHt9O1xudmFyIEV4Y2VwdGlvbk1lc3NhZ2UgPSB7fTtcbnZhciBJTkRFWF9TSVpFX0VSUiA9IEV4Y2VwdGlvbkNvZGUuSU5ERVhfU0laRV9FUlIgPSAoRXhjZXB0aW9uTWVzc2FnZVsxXSA9IFwiSW5kZXggc2l6ZSBlcnJvclwiLCAxKTtcbnZhciBET01TVFJJTkdfU0laRV9FUlIgPSBFeGNlcHRpb25Db2RlLkRPTVNUUklOR19TSVpFX0VSUiA9IChFeGNlcHRpb25NZXNzYWdlWzJdID0gXCJET01TdHJpbmcgc2l6ZSBlcnJvclwiLCAyKTtcbnZhciBISUVSQVJDSFlfUkVRVUVTVF9FUlIgPSBFeGNlcHRpb25Db2RlLkhJRVJBUkNIWV9SRVFVRVNUX0VSUiA9IChFeGNlcHRpb25NZXNzYWdlWzNdID0gXCJIaWVyYXJjaHkgcmVxdWVzdCBlcnJvclwiLCAzKTtcbnZhciBXUk9OR19ET0NVTUVOVF9FUlIgPSBFeGNlcHRpb25Db2RlLldST05HX0RPQ1VNRU5UX0VSUiA9IChFeGNlcHRpb25NZXNzYWdlWzRdID0gXCJXcm9uZyBkb2N1bWVudFwiLCA0KTtcbnZhciBJTlZBTElEX0NIQVJBQ1RFUl9FUlIgPSBFeGNlcHRpb25Db2RlLklOVkFMSURfQ0hBUkFDVEVSX0VSUiA9IChFeGNlcHRpb25NZXNzYWdlWzVdID0gXCJJbnZhbGlkIGNoYXJhY3RlclwiLCA1KTtcbnZhciBOT19EQVRBX0FMTE9XRURfRVJSID0gRXhjZXB0aW9uQ29kZS5OT19EQVRBX0FMTE9XRURfRVJSID0gKEV4Y2VwdGlvbk1lc3NhZ2VbNl0gPSBcIk5vIGRhdGEgYWxsb3dlZFwiLCA2KTtcbnZhciBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIgPSBFeGNlcHRpb25Db2RlLk5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiA9IChFeGNlcHRpb25NZXNzYWdlWzddID0gXCJObyBtb2RpZmljYXRpb24gYWxsb3dlZFwiLCA3KTtcbnZhciBOT1RfRk9VTkRfRVJSID0gRXhjZXB0aW9uQ29kZS5OT1RfRk9VTkRfRVJSID0gKEV4Y2VwdGlvbk1lc3NhZ2VbOF0gPSBcIk5vdCBmb3VuZFwiLCA4KTtcbnZhciBOT1RfU1VQUE9SVEVEX0VSUiA9IEV4Y2VwdGlvbkNvZGUuTk9UX1NVUFBPUlRFRF9FUlIgPSAoRXhjZXB0aW9uTWVzc2FnZVs5XSA9IFwiTm90IHN1cHBvcnRlZFwiLCA5KTtcbnZhciBJTlVTRV9BVFRSSUJVVEVfRVJSID0gRXhjZXB0aW9uQ29kZS5JTlVTRV9BVFRSSUJVVEVfRVJSID0gKEV4Y2VwdGlvbk1lc3NhZ2VbMTBdID0gXCJBdHRyaWJ1dGUgaW4gdXNlXCIsIDEwKTtcbnZhciBJTlZBTElEX1NUQVRFX0VSUiA9IEV4Y2VwdGlvbkNvZGUuSU5WQUxJRF9TVEFURV9FUlIgPSAoRXhjZXB0aW9uTWVzc2FnZVsxMV0gPSBcIkludmFsaWQgc3RhdGVcIiwgMTEpO1xudmFyIFNZTlRBWF9FUlIgPSBFeGNlcHRpb25Db2RlLlNZTlRBWF9FUlIgPSAoRXhjZXB0aW9uTWVzc2FnZVsxMl0gPSBcIlN5bnRheCBlcnJvclwiLCAxMik7XG52YXIgSU5WQUxJRF9NT0RJRklDQVRJT05fRVJSID0gRXhjZXB0aW9uQ29kZS5JTlZBTElEX01PRElGSUNBVElPTl9FUlIgPSAoRXhjZXB0aW9uTWVzc2FnZVsxM10gPSBcIkludmFsaWQgbW9kaWZpY2F0aW9uXCIsIDEzKTtcbnZhciBOQU1FU1BBQ0VfRVJSID0gRXhjZXB0aW9uQ29kZS5OQU1FU1BBQ0VfRVJSID0gKEV4Y2VwdGlvbk1lc3NhZ2VbMTRdID0gXCJJbnZhbGlkIG5hbWVzcGFjZVwiLCAxNCk7XG52YXIgSU5WQUxJRF9BQ0NFU1NfRVJSID0gRXhjZXB0aW9uQ29kZS5JTlZBTElEX0FDQ0VTU19FUlIgPSAoRXhjZXB0aW9uTWVzc2FnZVsxNV0gPSBcIkludmFsaWQgYWNjZXNzXCIsIDE1KTtcblxuZnVuY3Rpb24gRE9NRXhjZXB0aW9uKGNvZGUsIG1lc3NhZ2UpIHtcbiAgaWYgKG1lc3NhZ2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIHZhciBlcnJvciA9IG1lc3NhZ2U7XG4gIH0gZWxzZSB7XG4gICAgZXJyb3IgPSB0aGlzO1xuICAgIEVycm9yLmNhbGwodGhpcywgRXhjZXB0aW9uTWVzc2FnZVtjb2RlXSk7XG4gICAgdGhpcy5tZXNzYWdlID0gRXhjZXB0aW9uTWVzc2FnZVtjb2RlXTtcbiAgICBpZiAoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsIERPTUV4Y2VwdGlvbik7XG4gIH1cblxuICBlcnJvci5jb2RlID0gY29kZTtcbiAgaWYgKG1lc3NhZ2UpIHRoaXMubWVzc2FnZSA9IHRoaXMubWVzc2FnZSArIFwiOiBcIiArIG1lc3NhZ2U7XG4gIHJldHVybiBlcnJvcjtcbn1cblxuO1xuRE9NRXhjZXB0aW9uLnByb3RvdHlwZSA9IEVycm9yLnByb3RvdHlwZTtcbmNvcHkoRXhjZXB0aW9uQ29kZSwgRE9NRXhjZXB0aW9uKTtcblxuZnVuY3Rpb24gTm9kZUxpc3QoKSB7fVxuXG47XG5Ob2RlTGlzdC5wcm90b3R5cGUgPSB7XG4gIGxlbmd0aDogMCxcbiAgaXRlbTogZnVuY3Rpb24gaXRlbShpbmRleCkge1xuICAgIHJldHVybiB0aGlzW2luZGV4XSB8fCBudWxsO1xuICB9LFxuICB0b1N0cmluZzogZnVuY3Rpb24gdG9TdHJpbmcoaXNIVE1MLCBub2RlRmlsdGVyKSB7XG4gICAgZm9yICh2YXIgYnVmID0gW10sIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgc2VyaWFsaXplVG9TdHJpbmcodGhpc1tpXSwgYnVmLCBpc0hUTUwsIG5vZGVGaWx0ZXIpO1xuICAgIH1cblxuICAgIHJldHVybiBidWYuam9pbignJyk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIExpdmVOb2RlTGlzdChub2RlLCByZWZyZXNoKSB7XG4gIHRoaXMuX25vZGUgPSBub2RlO1xuICB0aGlzLl9yZWZyZXNoID0gcmVmcmVzaDtcblxuICBfdXBkYXRlTGl2ZUxpc3QodGhpcyk7XG59XG5cbmZ1bmN0aW9uIF91cGRhdGVMaXZlTGlzdChsaXN0KSB7XG4gIHZhciBpbmMgPSBsaXN0Ll9ub2RlLl9pbmMgfHwgbGlzdC5fbm9kZS5vd25lckRvY3VtZW50Ll9pbmM7XG5cbiAgaWYgKGxpc3QuX2luYyAhPSBpbmMpIHtcbiAgICB2YXIgbHMgPSBsaXN0Ll9yZWZyZXNoKGxpc3QuX25vZGUpO1xuXG4gICAgX19zZXRfXyhsaXN0LCAnbGVuZ3RoJywgbHMubGVuZ3RoKTtcblxuICAgIGNvcHkobHMsIGxpc3QpO1xuICAgIGxpc3QuX2luYyA9IGluYztcbiAgfVxufVxuXG5MaXZlTm9kZUxpc3QucHJvdG90eXBlLml0ZW0gPSBmdW5jdGlvbiAoaSkge1xuICBfdXBkYXRlTGl2ZUxpc3QodGhpcyk7XG5cbiAgcmV0dXJuIHRoaXNbaV07XG59O1xuXG5fZXh0ZW5kcyhMaXZlTm9kZUxpc3QsIE5vZGVMaXN0KTtcblxuZnVuY3Rpb24gTmFtZWROb2RlTWFwKCkge31cblxuO1xuXG5mdW5jdGlvbiBfZmluZE5vZGVJbmRleChsaXN0LCBub2RlKSB7XG4gIHZhciBpID0gbGlzdC5sZW5ndGg7XG5cbiAgd2hpbGUgKGktLSkge1xuICAgIGlmIChsaXN0W2ldID09PSBub2RlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gX2FkZE5hbWVkTm9kZShlbCwgbGlzdCwgbmV3QXR0ciwgb2xkQXR0cikge1xuICBpZiAob2xkQXR0cikge1xuICAgIGxpc3RbX2ZpbmROb2RlSW5kZXgobGlzdCwgb2xkQXR0cildID0gbmV3QXR0cjtcbiAgfSBlbHNlIHtcbiAgICBsaXN0W2xpc3QubGVuZ3RoKytdID0gbmV3QXR0cjtcbiAgfVxuXG4gIGlmIChlbCkge1xuICAgIG5ld0F0dHIub3duZXJFbGVtZW50ID0gZWw7XG4gICAgdmFyIGRvYyA9IGVsLm93bmVyRG9jdW1lbnQ7XG5cbiAgICBpZiAoZG9jKSB7XG4gICAgICBvbGRBdHRyICYmIF9vblJlbW92ZUF0dHJpYnV0ZShkb2MsIGVsLCBvbGRBdHRyKTtcblxuICAgICAgX29uQWRkQXR0cmlidXRlKGRvYywgZWwsIG5ld0F0dHIpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBfcmVtb3ZlTmFtZWROb2RlKGVsLCBsaXN0LCBhdHRyKSB7XG4gIHZhciBpID0gX2ZpbmROb2RlSW5kZXgobGlzdCwgYXR0cik7XG5cbiAgaWYgKGkgPj0gMCkge1xuICAgIHZhciBsYXN0SW5kZXggPSBsaXN0Lmxlbmd0aCAtIDE7XG5cbiAgICB3aGlsZSAoaSA8IGxhc3RJbmRleCkge1xuICAgICAgbGlzdFtpXSA9IGxpc3RbKytpXTtcbiAgICB9XG5cbiAgICBsaXN0Lmxlbmd0aCA9IGxhc3RJbmRleDtcblxuICAgIGlmIChlbCkge1xuICAgICAgdmFyIGRvYyA9IGVsLm93bmVyRG9jdW1lbnQ7XG5cbiAgICAgIGlmIChkb2MpIHtcbiAgICAgICAgX29uUmVtb3ZlQXR0cmlidXRlKGRvYywgZWwsIGF0dHIpO1xuXG4gICAgICAgIGF0dHIub3duZXJFbGVtZW50ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgRE9NRXhjZXB0aW9uKE5PVF9GT1VORF9FUlIsIG5ldyBFcnJvcihlbC50YWdOYW1lICsgJ0AnICsgYXR0cikpO1xuICB9XG59XG5cbk5hbWVkTm9kZU1hcC5wcm90b3R5cGUgPSB7XG4gIGxlbmd0aDogMCxcbiAgaXRlbTogTm9kZUxpc3QucHJvdG90eXBlLml0ZW0sXG4gIGdldE5hbWVkSXRlbTogZnVuY3Rpb24gZ2V0TmFtZWRJdGVtKGtleSkge1xuICAgIHZhciBpID0gdGhpcy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2YXIgYXR0ciA9IHRoaXNbaV07XG5cbiAgICAgIGlmIChhdHRyLm5vZGVOYW1lID09IGtleSkge1xuICAgICAgICByZXR1cm4gYXR0cjtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHNldE5hbWVkSXRlbTogZnVuY3Rpb24gc2V0TmFtZWRJdGVtKGF0dHIpIHtcbiAgICB2YXIgZWwgPSBhdHRyLm93bmVyRWxlbWVudDtcblxuICAgIGlmIChlbCAmJiBlbCAhPSB0aGlzLl9vd25lckVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBET01FeGNlcHRpb24oSU5VU0VfQVRUUklCVVRFX0VSUik7XG4gICAgfVxuXG4gICAgdmFyIG9sZEF0dHIgPSB0aGlzLmdldE5hbWVkSXRlbShhdHRyLm5vZGVOYW1lKTtcblxuICAgIF9hZGROYW1lZE5vZGUodGhpcy5fb3duZXJFbGVtZW50LCB0aGlzLCBhdHRyLCBvbGRBdHRyKTtcblxuICAgIHJldHVybiBvbGRBdHRyO1xuICB9LFxuICBzZXROYW1lZEl0ZW1OUzogZnVuY3Rpb24gc2V0TmFtZWRJdGVtTlMoYXR0cikge1xuICAgIHZhciBlbCA9IGF0dHIub3duZXJFbGVtZW50LFxuICAgICAgICBvbGRBdHRyO1xuXG4gICAgaWYgKGVsICYmIGVsICE9IHRoaXMuX293bmVyRWxlbWVudCkge1xuICAgICAgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbihJTlVTRV9BVFRSSUJVVEVfRVJSKTtcbiAgICB9XG5cbiAgICBvbGRBdHRyID0gdGhpcy5nZXROYW1lZEl0ZW1OUyhhdHRyLm5hbWVzcGFjZVVSSSwgYXR0ci5sb2NhbE5hbWUpO1xuXG4gICAgX2FkZE5hbWVkTm9kZSh0aGlzLl9vd25lckVsZW1lbnQsIHRoaXMsIGF0dHIsIG9sZEF0dHIpO1xuXG4gICAgcmV0dXJuIG9sZEF0dHI7XG4gIH0sXG4gIHJlbW92ZU5hbWVkSXRlbTogZnVuY3Rpb24gcmVtb3ZlTmFtZWRJdGVtKGtleSkge1xuICAgIHZhciBhdHRyID0gdGhpcy5nZXROYW1lZEl0ZW0oa2V5KTtcblxuICAgIF9yZW1vdmVOYW1lZE5vZGUodGhpcy5fb3duZXJFbGVtZW50LCB0aGlzLCBhdHRyKTtcblxuICAgIHJldHVybiBhdHRyO1xuICB9LFxuICByZW1vdmVOYW1lZEl0ZW1OUzogZnVuY3Rpb24gcmVtb3ZlTmFtZWRJdGVtTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpIHtcbiAgICB2YXIgYXR0ciA9IHRoaXMuZ2V0TmFtZWRJdGVtTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpO1xuXG4gICAgX3JlbW92ZU5hbWVkTm9kZSh0aGlzLl9vd25lckVsZW1lbnQsIHRoaXMsIGF0dHIpO1xuXG4gICAgcmV0dXJuIGF0dHI7XG4gIH0sXG4gIGdldE5hbWVkSXRlbU5TOiBmdW5jdGlvbiBnZXROYW1lZEl0ZW1OUyhuYW1lc3BhY2VVUkksIGxvY2FsTmFtZSkge1xuICAgIHZhciBpID0gdGhpcy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2YXIgbm9kZSA9IHRoaXNbaV07XG5cbiAgICAgIGlmIChub2RlLmxvY2FsTmFtZSA9PSBsb2NhbE5hbWUgJiYgbm9kZS5uYW1lc3BhY2VVUkkgPT0gbmFtZXNwYWNlVVJJKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5mdW5jdGlvbiBET01JbXBsZW1lbnRhdGlvbihmZWF0dXJlcykge1xuICB0aGlzLl9mZWF0dXJlcyA9IHt9O1xuXG4gIGlmIChmZWF0dXJlcykge1xuICAgIGZvciAodmFyIGZlYXR1cmUgaW4gZmVhdHVyZXMpIHtcbiAgICAgIHRoaXMuX2ZlYXR1cmVzID0gZmVhdHVyZXNbZmVhdHVyZV07XG4gICAgfVxuICB9XG59XG5cbjtcbkRPTUltcGxlbWVudGF0aW9uLnByb3RvdHlwZSA9IHtcbiAgaGFzRmVhdHVyZTogZnVuY3Rpb24gaGFzRmVhdHVyZShmZWF0dXJlLCB2ZXJzaW9uKSB7XG4gICAgdmFyIHZlcnNpb25zID0gdGhpcy5fZmVhdHVyZXNbZmVhdHVyZS50b0xvd2VyQ2FzZSgpXTtcblxuICAgIGlmICh2ZXJzaW9ucyAmJiAoIXZlcnNpb24gfHwgdmVyc2lvbiBpbiB2ZXJzaW9ucykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9LFxuICBjcmVhdGVEb2N1bWVudDogZnVuY3Rpb24gY3JlYXRlRG9jdW1lbnQobmFtZXNwYWNlVVJJLCBxdWFsaWZpZWROYW1lLCBkb2N0eXBlKSB7XG4gICAgdmFyIGRvYyA9IG5ldyBEb2N1bWVudCgpO1xuICAgIGRvYy5pbXBsZW1lbnRhdGlvbiA9IHRoaXM7XG4gICAgZG9jLmNoaWxkTm9kZXMgPSBuZXcgTm9kZUxpc3QoKTtcbiAgICBkb2MuZG9jdHlwZSA9IGRvY3R5cGU7XG5cbiAgICBpZiAoZG9jdHlwZSkge1xuICAgICAgZG9jLmFwcGVuZENoaWxkKGRvY3R5cGUpO1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWROYW1lKSB7XG4gICAgICB2YXIgcm9vdCA9IGRvYy5jcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJLCBxdWFsaWZpZWROYW1lKTtcbiAgICAgIGRvYy5hcHBlbmRDaGlsZChyb290KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jO1xuICB9LFxuICBjcmVhdGVEb2N1bWVudFR5cGU6IGZ1bmN0aW9uIGNyZWF0ZURvY3VtZW50VHlwZShxdWFsaWZpZWROYW1lLCBwdWJsaWNJZCwgc3lzdGVtSWQpIHtcbiAgICB2YXIgbm9kZSA9IG5ldyBEb2N1bWVudFR5cGUoKTtcbiAgICBub2RlLm5hbWUgPSBxdWFsaWZpZWROYW1lO1xuICAgIG5vZGUubm9kZU5hbWUgPSBxdWFsaWZpZWROYW1lO1xuICAgIG5vZGUucHVibGljSWQgPSBwdWJsaWNJZDtcbiAgICBub2RlLnN5c3RlbUlkID0gc3lzdGVtSWQ7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIE5vZGUoKSB7fVxuXG47XG5Ob2RlLnByb3RvdHlwZSA9IHtcbiAgZmlyc3RDaGlsZDogbnVsbCxcbiAgbGFzdENoaWxkOiBudWxsLFxuICBwcmV2aW91c1NpYmxpbmc6IG51bGwsXG4gIG5leHRTaWJsaW5nOiBudWxsLFxuICBhdHRyaWJ1dGVzOiBudWxsLFxuICBwYXJlbnROb2RlOiBudWxsLFxuICBjaGlsZE5vZGVzOiBudWxsLFxuICBvd25lckRvY3VtZW50OiBudWxsLFxuICBub2RlVmFsdWU6IG51bGwsXG4gIG5hbWVzcGFjZVVSSTogbnVsbCxcbiAgcHJlZml4OiBudWxsLFxuICBsb2NhbE5hbWU6IG51bGwsXG4gIGluc2VydEJlZm9yZTogZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKG5ld0NoaWxkLCByZWZDaGlsZCkge1xuICAgIHJldHVybiBfaW5zZXJ0QmVmb3JlKHRoaXMsIG5ld0NoaWxkLCByZWZDaGlsZCk7XG4gIH0sXG4gIHJlcGxhY2VDaGlsZDogZnVuY3Rpb24gcmVwbGFjZUNoaWxkKG5ld0NoaWxkLCBvbGRDaGlsZCkge1xuICAgIHRoaXMuaW5zZXJ0QmVmb3JlKG5ld0NoaWxkLCBvbGRDaGlsZCk7XG5cbiAgICBpZiAob2xkQ2hpbGQpIHtcbiAgICAgIHRoaXMucmVtb3ZlQ2hpbGQob2xkQ2hpbGQpO1xuICAgIH1cbiAgfSxcbiAgcmVtb3ZlQ2hpbGQ6IGZ1bmN0aW9uIHJlbW92ZUNoaWxkKG9sZENoaWxkKSB7XG4gICAgcmV0dXJuIF9yZW1vdmVDaGlsZCh0aGlzLCBvbGRDaGlsZCk7XG4gIH0sXG4gIGFwcGVuZENoaWxkOiBmdW5jdGlvbiBhcHBlbmRDaGlsZChuZXdDaGlsZCkge1xuICAgIHJldHVybiB0aGlzLmluc2VydEJlZm9yZShuZXdDaGlsZCwgbnVsbCk7XG4gIH0sXG4gIGhhc0NoaWxkTm9kZXM6IGZ1bmN0aW9uIGhhc0NoaWxkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlyc3RDaGlsZCAhPSBudWxsO1xuICB9LFxuICBjbG9uZU5vZGU6IGZ1bmN0aW9uIGNsb25lTm9kZShkZWVwKSB7XG4gICAgcmV0dXJuIF9jbG9uZU5vZGUodGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsIHRoaXMsIGRlZXApO1xuICB9LFxuICBub3JtYWxpemU6IGZ1bmN0aW9uIG5vcm1hbGl6ZSgpIHtcbiAgICB2YXIgY2hpbGQgPSB0aGlzLmZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgIHZhciBuZXh0ID0gY2hpbGQubmV4dFNpYmxpbmc7XG5cbiAgICAgIGlmIChuZXh0ICYmIG5leHQubm9kZVR5cGUgPT0gVEVYVF9OT0RFICYmIGNoaWxkLm5vZGVUeXBlID09IFRFWFRfTk9ERSkge1xuICAgICAgICB0aGlzLnJlbW92ZUNoaWxkKG5leHQpO1xuICAgICAgICBjaGlsZC5hcHBlbmREYXRhKG5leHQuZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjaGlsZC5ub3JtYWxpemUoKTtcbiAgICAgICAgY2hpbGQgPSBuZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgaXNTdXBwb3J0ZWQ6IGZ1bmN0aW9uIGlzU3VwcG9ydGVkKGZlYXR1cmUsIHZlcnNpb24pIHtcbiAgICByZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmltcGxlbWVudGF0aW9uLmhhc0ZlYXR1cmUoZmVhdHVyZSwgdmVyc2lvbik7XG4gIH0sXG4gIGhhc0F0dHJpYnV0ZXM6IGZ1bmN0aW9uIGhhc0F0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlcy5sZW5ndGggPiAwO1xuICB9LFxuICBsb29rdXBQcmVmaXg6IGZ1bmN0aW9uIGxvb2t1cFByZWZpeChuYW1lc3BhY2VVUkkpIHtcbiAgICB2YXIgZWwgPSB0aGlzO1xuXG4gICAgd2hpbGUgKGVsKSB7XG4gICAgICB2YXIgbWFwID0gZWwuX25zTWFwO1xuXG4gICAgICBpZiAobWFwKSB7XG4gICAgICAgIGZvciAodmFyIG4gaW4gbWFwKSB7XG4gICAgICAgICAgaWYgKG1hcFtuXSA9PSBuYW1lc3BhY2VVUkkpIHtcbiAgICAgICAgICAgIHJldHVybiBuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlbCA9IGVsLm5vZGVUeXBlID09IEFUVFJJQlVURV9OT0RFID8gZWwub3duZXJEb2N1bWVudCA6IGVsLnBhcmVudE5vZGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0sXG4gIGxvb2t1cE5hbWVzcGFjZVVSSTogZnVuY3Rpb24gbG9va3VwTmFtZXNwYWNlVVJJKHByZWZpeCkge1xuICAgIHZhciBlbCA9IHRoaXM7XG5cbiAgICB3aGlsZSAoZWwpIHtcbiAgICAgIHZhciBtYXAgPSBlbC5fbnNNYXA7XG5cbiAgICAgIGlmIChtYXApIHtcbiAgICAgICAgaWYgKHByZWZpeCBpbiBtYXApIHtcbiAgICAgICAgICByZXR1cm4gbWFwW3ByZWZpeF07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWwgPSBlbC5ub2RlVHlwZSA9PSBBVFRSSUJVVEVfTk9ERSA/IGVsLm93bmVyRG9jdW1lbnQgOiBlbC5wYXJlbnROb2RlO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9LFxuICBpc0RlZmF1bHROYW1lc3BhY2U6IGZ1bmN0aW9uIGlzRGVmYXVsdE5hbWVzcGFjZShuYW1lc3BhY2VVUkkpIHtcbiAgICB2YXIgcHJlZml4ID0gdGhpcy5sb29rdXBQcmVmaXgobmFtZXNwYWNlVVJJKTtcbiAgICByZXR1cm4gcHJlZml4ID09IG51bGw7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIF94bWxFbmNvZGVyKGMpIHtcbiAgcmV0dXJuIGMgPT0gJzwnICYmICcmbHQ7JyB8fCBjID09ICc+JyAmJiAnJmd0OycgfHwgYyA9PSAnJicgJiYgJyZhbXA7JyB8fCBjID09ICdcIicgJiYgJyZxdW90OycgfHwgJyYjJyArIGMuY2hhckNvZGVBdCgpICsgJzsnO1xufVxuXG5jb3B5KE5vZGVUeXBlLCBOb2RlKTtcbmNvcHkoTm9kZVR5cGUsIE5vZGUucHJvdG90eXBlKTtcblxuZnVuY3Rpb24gX3Zpc2l0Tm9kZShub2RlLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sobm9kZSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChub2RlID0gbm9kZS5maXJzdENoaWxkKSB7XG4gICAgZG8ge1xuICAgICAgaWYgKF92aXNpdE5vZGUobm9kZSwgY2FsbGJhY2spKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKG5vZGUgPSBub2RlLm5leHRTaWJsaW5nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBEb2N1bWVudCgpIHt9XG5cbmZ1bmN0aW9uIF9vbkFkZEF0dHJpYnV0ZShkb2MsIGVsLCBuZXdBdHRyKSB7XG4gIGRvYyAmJiBkb2MuX2luYysrO1xuICB2YXIgbnMgPSBuZXdBdHRyLm5hbWVzcGFjZVVSSTtcblxuICBpZiAobnMgPT0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvJykge1xuICAgIGVsLl9uc01hcFtuZXdBdHRyLnByZWZpeCA/IG5ld0F0dHIubG9jYWxOYW1lIDogJyddID0gbmV3QXR0ci52YWx1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfb25SZW1vdmVBdHRyaWJ1dGUoZG9jLCBlbCwgbmV3QXR0ciwgcmVtb3ZlKSB7XG4gIGRvYyAmJiBkb2MuX2luYysrO1xuICB2YXIgbnMgPSBuZXdBdHRyLm5hbWVzcGFjZVVSSTtcblxuICBpZiAobnMgPT0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvJykge1xuICAgIGRlbGV0ZSBlbC5fbnNNYXBbbmV3QXR0ci5wcmVmaXggPyBuZXdBdHRyLmxvY2FsTmFtZSA6ICcnXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfb25VcGRhdGVDaGlsZChkb2MsIGVsLCBuZXdDaGlsZCkge1xuICBpZiAoZG9jICYmIGRvYy5faW5jKSB7XG4gICAgZG9jLl9pbmMrKztcbiAgICB2YXIgY3MgPSBlbC5jaGlsZE5vZGVzO1xuXG4gICAgaWYgKG5ld0NoaWxkKSB7XG4gICAgICBjc1tjcy5sZW5ndGgrK10gPSBuZXdDaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGNoaWxkID0gZWwuZmlyc3RDaGlsZDtcbiAgICAgIHZhciBpID0gMDtcblxuICAgICAgd2hpbGUgKGNoaWxkKSB7XG4gICAgICAgIGNzW2krK10gPSBjaGlsZDtcbiAgICAgICAgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZztcbiAgICAgIH1cblxuICAgICAgY3MubGVuZ3RoID0gaTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gX3JlbW92ZUNoaWxkKHBhcmVudE5vZGUsIGNoaWxkKSB7XG4gIHZhciBwcmV2aW91cyA9IGNoaWxkLnByZXZpb3VzU2libGluZztcbiAgdmFyIG5leHQgPSBjaGlsZC5uZXh0U2libGluZztcblxuICBpZiAocHJldmlvdXMpIHtcbiAgICBwcmV2aW91cy5uZXh0U2libGluZyA9IG5leHQ7XG4gIH0gZWxzZSB7XG4gICAgcGFyZW50Tm9kZS5maXJzdENoaWxkID0gbmV4dDtcbiAgfVxuXG4gIGlmIChuZXh0KSB7XG4gICAgbmV4dC5wcmV2aW91c1NpYmxpbmcgPSBwcmV2aW91cztcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlLmxhc3RDaGlsZCA9IHByZXZpb3VzO1xuICB9XG5cbiAgX29uVXBkYXRlQ2hpbGQocGFyZW50Tm9kZS5vd25lckRvY3VtZW50LCBwYXJlbnROb2RlKTtcblxuICByZXR1cm4gY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIF9pbnNlcnRCZWZvcmUocGFyZW50Tm9kZSwgbmV3Q2hpbGQsIG5leHRDaGlsZCkge1xuICB2YXIgY3AgPSBuZXdDaGlsZC5wYXJlbnROb2RlO1xuXG4gIGlmIChjcCkge1xuICAgIGNwLnJlbW92ZUNoaWxkKG5ld0NoaWxkKTtcbiAgfVxuXG4gIGlmIChuZXdDaGlsZC5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfRlJBR01FTlRfTk9ERSkge1xuICAgIHZhciBuZXdGaXJzdCA9IG5ld0NoaWxkLmZpcnN0Q2hpbGQ7XG5cbiAgICBpZiAobmV3Rmlyc3QgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG5ld0NoaWxkO1xuICAgIH1cblxuICAgIHZhciBuZXdMYXN0ID0gbmV3Q2hpbGQubGFzdENoaWxkO1xuICB9IGVsc2Uge1xuICAgIG5ld0ZpcnN0ID0gbmV3TGFzdCA9IG5ld0NoaWxkO1xuICB9XG5cbiAgdmFyIHByZSA9IG5leHRDaGlsZCA/IG5leHRDaGlsZC5wcmV2aW91c1NpYmxpbmcgOiBwYXJlbnROb2RlLmxhc3RDaGlsZDtcbiAgbmV3Rmlyc3QucHJldmlvdXNTaWJsaW5nID0gcHJlO1xuICBuZXdMYXN0Lm5leHRTaWJsaW5nID0gbmV4dENoaWxkO1xuXG4gIGlmIChwcmUpIHtcbiAgICBwcmUubmV4dFNpYmxpbmcgPSBuZXdGaXJzdDtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnROb2RlLmZpcnN0Q2hpbGQgPSBuZXdGaXJzdDtcbiAgfVxuXG4gIGlmIChuZXh0Q2hpbGQgPT0gbnVsbCkge1xuICAgIHBhcmVudE5vZGUubGFzdENoaWxkID0gbmV3TGFzdDtcbiAgfSBlbHNlIHtcbiAgICBuZXh0Q2hpbGQucHJldmlvdXNTaWJsaW5nID0gbmV3TGFzdDtcbiAgfVxuXG4gIGRvIHtcbiAgICBuZXdGaXJzdC5wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgfSB3aGlsZSAobmV3Rmlyc3QgIT09IG5ld0xhc3QgJiYgKG5ld0ZpcnN0ID0gbmV3Rmlyc3QubmV4dFNpYmxpbmcpKTtcblxuICBfb25VcGRhdGVDaGlsZChwYXJlbnROb2RlLm93bmVyRG9jdW1lbnQgfHwgcGFyZW50Tm9kZSwgcGFyZW50Tm9kZSk7XG5cbiAgaWYgKG5ld0NoaWxkLm5vZGVUeXBlID09IERPQ1VNRU5UX0ZSQUdNRU5UX05PREUpIHtcbiAgICBuZXdDaGlsZC5maXJzdENoaWxkID0gbmV3Q2hpbGQubGFzdENoaWxkID0gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXdDaGlsZDtcbn1cblxuZnVuY3Rpb24gX2FwcGVuZFNpbmdsZUNoaWxkKHBhcmVudE5vZGUsIG5ld0NoaWxkKSB7XG4gIHZhciBjcCA9IG5ld0NoaWxkLnBhcmVudE5vZGU7XG5cbiAgaWYgKGNwKSB7XG4gICAgdmFyIHByZSA9IHBhcmVudE5vZGUubGFzdENoaWxkO1xuICAgIGNwLnJlbW92ZUNoaWxkKG5ld0NoaWxkKTtcbiAgICB2YXIgcHJlID0gcGFyZW50Tm9kZS5sYXN0Q2hpbGQ7XG4gIH1cblxuICB2YXIgcHJlID0gcGFyZW50Tm9kZS5sYXN0Q2hpbGQ7XG4gIG5ld0NoaWxkLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICBuZXdDaGlsZC5wcmV2aW91c1NpYmxpbmcgPSBwcmU7XG4gIG5ld0NoaWxkLm5leHRTaWJsaW5nID0gbnVsbDtcblxuICBpZiAocHJlKSB7XG4gICAgcHJlLm5leHRTaWJsaW5nID0gbmV3Q2hpbGQ7XG4gIH0gZWxzZSB7XG4gICAgcGFyZW50Tm9kZS5maXJzdENoaWxkID0gbmV3Q2hpbGQ7XG4gIH1cblxuICBwYXJlbnROb2RlLmxhc3RDaGlsZCA9IG5ld0NoaWxkO1xuXG4gIF9vblVwZGF0ZUNoaWxkKHBhcmVudE5vZGUub3duZXJEb2N1bWVudCwgcGFyZW50Tm9kZSwgbmV3Q2hpbGQpO1xuXG4gIHJldHVybiBuZXdDaGlsZDtcbn1cblxuRG9jdW1lbnQucHJvdG90eXBlID0ge1xuICBub2RlTmFtZTogJyNkb2N1bWVudCcsXG4gIG5vZGVUeXBlOiBET0NVTUVOVF9OT0RFLFxuICBkb2N0eXBlOiBudWxsLFxuICBkb2N1bWVudEVsZW1lbnQ6IG51bGwsXG4gIF9pbmM6IDEsXG4gIGluc2VydEJlZm9yZTogZnVuY3Rpb24gaW5zZXJ0QmVmb3JlKG5ld0NoaWxkLCByZWZDaGlsZCkge1xuICAgIGlmIChuZXdDaGlsZC5ub2RlVHlwZSA9PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgY2hpbGQgPSBuZXdDaGlsZC5maXJzdENoaWxkO1xuXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgdmFyIG5leHQgPSBjaGlsZC5uZXh0U2libGluZztcbiAgICAgICAgdGhpcy5pbnNlcnRCZWZvcmUoY2hpbGQsIHJlZkNoaWxkKTtcbiAgICAgICAgY2hpbGQgPSBuZXh0O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3Q2hpbGQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZG9jdW1lbnRFbGVtZW50ID09IG51bGwgJiYgbmV3Q2hpbGQubm9kZVR5cGUgPT0gRUxFTUVOVF9OT0RFKSB7XG4gICAgICB0aGlzLmRvY3VtZW50RWxlbWVudCA9IG5ld0NoaWxkO1xuICAgIH1cblxuICAgIHJldHVybiBfaW5zZXJ0QmVmb3JlKHRoaXMsIG5ld0NoaWxkLCByZWZDaGlsZCksIG5ld0NoaWxkLm93bmVyRG9jdW1lbnQgPSB0aGlzLCBuZXdDaGlsZDtcbiAgfSxcbiAgcmVtb3ZlQ2hpbGQ6IGZ1bmN0aW9uIHJlbW92ZUNoaWxkKG9sZENoaWxkKSB7XG4gICAgaWYgKHRoaXMuZG9jdW1lbnRFbGVtZW50ID09IG9sZENoaWxkKSB7XG4gICAgICB0aGlzLmRvY3VtZW50RWxlbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9yZW1vdmVDaGlsZCh0aGlzLCBvbGRDaGlsZCk7XG4gIH0sXG4gIGltcG9ydE5vZGU6IGZ1bmN0aW9uIGltcG9ydE5vZGUoaW1wb3J0ZWROb2RlLCBkZWVwKSB7XG4gICAgcmV0dXJuIF9pbXBvcnROb2RlKHRoaXMsIGltcG9ydGVkTm9kZSwgZGVlcCk7XG4gIH0sXG4gIGdldEVsZW1lbnRCeUlkOiBmdW5jdGlvbiBnZXRFbGVtZW50QnlJZChpZCkge1xuICAgIHZhciBydHYgPSBudWxsO1xuXG4gICAgX3Zpc2l0Tm9kZSh0aGlzLmRvY3VtZW50RWxlbWVudCwgZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgICBpZiAobm9kZS5nZXRBdHRyaWJ1dGUoJ2lkJykgPT0gaWQpIHtcbiAgICAgICAgICBydHYgPSBub2RlO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcnR2O1xuICB9LFxuICBjcmVhdGVFbGVtZW50OiBmdW5jdGlvbiBjcmVhdGVFbGVtZW50KHRhZ05hbWUpIHtcbiAgICB2YXIgbm9kZSA9IG5ldyBFbGVtZW50KCk7XG4gICAgbm9kZS5vd25lckRvY3VtZW50ID0gdGhpcztcbiAgICBub2RlLm5vZGVOYW1lID0gdGFnTmFtZTtcbiAgICBub2RlLnRhZ05hbWUgPSB0YWdOYW1lO1xuICAgIG5vZGUuY2hpbGROb2RlcyA9IG5ldyBOb2RlTGlzdCgpO1xuICAgIHZhciBhdHRycyA9IG5vZGUuYXR0cmlidXRlcyA9IG5ldyBOYW1lZE5vZGVNYXAoKTtcbiAgICBhdHRycy5fb3duZXJFbGVtZW50ID0gbm9kZTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfSxcbiAgY3JlYXRlRG9jdW1lbnRGcmFnbWVudDogZnVuY3Rpb24gY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIHtcbiAgICB2YXIgbm9kZSA9IG5ldyBEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgbm9kZS5vd25lckRvY3VtZW50ID0gdGhpcztcbiAgICBub2RlLmNoaWxkTm9kZXMgPSBuZXcgTm9kZUxpc3QoKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfSxcbiAgY3JlYXRlVGV4dE5vZGU6IGZ1bmN0aW9uIGNyZWF0ZVRleHROb2RlKGRhdGEpIHtcbiAgICB2YXIgbm9kZSA9IG5ldyBUZXh0KCk7XG4gICAgbm9kZS5vd25lckRvY3VtZW50ID0gdGhpcztcbiAgICBub2RlLmFwcGVuZERhdGEoZGF0YSk7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH0sXG4gIGNyZWF0ZUNvbW1lbnQ6IGZ1bmN0aW9uIGNyZWF0ZUNvbW1lbnQoZGF0YSkge1xuICAgIHZhciBub2RlID0gbmV3IENvbW1lbnQoKTtcbiAgICBub2RlLm93bmVyRG9jdW1lbnQgPSB0aGlzO1xuICAgIG5vZGUuYXBwZW5kRGF0YShkYXRhKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfSxcbiAgY3JlYXRlQ0RBVEFTZWN0aW9uOiBmdW5jdGlvbiBjcmVhdGVDREFUQVNlY3Rpb24oZGF0YSkge1xuICAgIHZhciBub2RlID0gbmV3IENEQVRBU2VjdGlvbigpO1xuICAgIG5vZGUub3duZXJEb2N1bWVudCA9IHRoaXM7XG4gICAgbm9kZS5hcHBlbmREYXRhKGRhdGEpO1xuICAgIHJldHVybiBub2RlO1xuICB9LFxuICBjcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246IGZ1bmN0aW9uIGNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbih0YXJnZXQsIGRhdGEpIHtcbiAgICB2YXIgbm9kZSA9IG5ldyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKTtcbiAgICBub2RlLm93bmVyRG9jdW1lbnQgPSB0aGlzO1xuICAgIG5vZGUudGFnTmFtZSA9IG5vZGUudGFyZ2V0ID0gdGFyZ2V0O1xuICAgIG5vZGUubm9kZVZhbHVlID0gbm9kZS5kYXRhID0gZGF0YTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfSxcbiAgY3JlYXRlQXR0cmlidXRlOiBmdW5jdGlvbiBjcmVhdGVBdHRyaWJ1dGUobmFtZSkge1xuICAgIHZhciBub2RlID0gbmV3IEF0dHIoKTtcbiAgICBub2RlLm93bmVyRG9jdW1lbnQgPSB0aGlzO1xuICAgIG5vZGUubmFtZSA9IG5hbWU7XG4gICAgbm9kZS5ub2RlTmFtZSA9IG5hbWU7XG4gICAgbm9kZS5sb2NhbE5hbWUgPSBuYW1lO1xuICAgIG5vZGUuc3BlY2lmaWVkID0gdHJ1ZTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfSxcbiAgY3JlYXRlRW50aXR5UmVmZXJlbmNlOiBmdW5jdGlvbiBjcmVhdGVFbnRpdHlSZWZlcmVuY2UobmFtZSkge1xuICAgIHZhciBub2RlID0gbmV3IEVudGl0eVJlZmVyZW5jZSgpO1xuICAgIG5vZGUub3duZXJEb2N1bWVudCA9IHRoaXM7XG4gICAgbm9kZS5ub2RlTmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH0sXG4gIGNyZWF0ZUVsZW1lbnROUzogZnVuY3Rpb24gY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZVVSSSwgcXVhbGlmaWVkTmFtZSkge1xuICAgIHZhciBub2RlID0gbmV3IEVsZW1lbnQoKTtcbiAgICB2YXIgcGwgPSBxdWFsaWZpZWROYW1lLnNwbGl0KCc6Jyk7XG4gICAgdmFyIGF0dHJzID0gbm9kZS5hdHRyaWJ1dGVzID0gbmV3IE5hbWVkTm9kZU1hcCgpO1xuICAgIG5vZGUuY2hpbGROb2RlcyA9IG5ldyBOb2RlTGlzdCgpO1xuICAgIG5vZGUub3duZXJEb2N1bWVudCA9IHRoaXM7XG4gICAgbm9kZS5ub2RlTmFtZSA9IHF1YWxpZmllZE5hbWU7XG4gICAgbm9kZS50YWdOYW1lID0gcXVhbGlmaWVkTmFtZTtcbiAgICBub2RlLm5hbWVzcGFjZVVSSSA9IG5hbWVzcGFjZVVSSTtcblxuICAgIGlmIChwbC5sZW5ndGggPT0gMikge1xuICAgICAgbm9kZS5wcmVmaXggPSBwbFswXTtcbiAgICAgIG5vZGUubG9jYWxOYW1lID0gcGxbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUubG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZTtcbiAgICB9XG5cbiAgICBhdHRycy5fb3duZXJFbGVtZW50ID0gbm9kZTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfSxcbiAgY3JlYXRlQXR0cmlidXRlTlM6IGZ1bmN0aW9uIGNyZWF0ZUF0dHJpYnV0ZU5TKG5hbWVzcGFjZVVSSSwgcXVhbGlmaWVkTmFtZSkge1xuICAgIHZhciBub2RlID0gbmV3IEF0dHIoKTtcbiAgICB2YXIgcGwgPSBxdWFsaWZpZWROYW1lLnNwbGl0KCc6Jyk7XG4gICAgbm9kZS5vd25lckRvY3VtZW50ID0gdGhpcztcbiAgICBub2RlLm5vZGVOYW1lID0gcXVhbGlmaWVkTmFtZTtcbiAgICBub2RlLm5hbWUgPSBxdWFsaWZpZWROYW1lO1xuICAgIG5vZGUubmFtZXNwYWNlVVJJID0gbmFtZXNwYWNlVVJJO1xuICAgIG5vZGUuc3BlY2lmaWVkID0gdHJ1ZTtcblxuICAgIGlmIChwbC5sZW5ndGggPT0gMikge1xuICAgICAgbm9kZS5wcmVmaXggPSBwbFswXTtcbiAgICAgIG5vZGUubG9jYWxOYW1lID0gcGxbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUubG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxufTtcblxuX2V4dGVuZHMoRG9jdW1lbnQsIE5vZGUpO1xuXG5mdW5jdGlvbiBFbGVtZW50KCkge1xuICB0aGlzLl9uc01hcCA9IHt9O1xufVxuXG47XG5FbGVtZW50LnByb3RvdHlwZSA9IHtcbiAgbm9kZVR5cGU6IEVMRU1FTlRfTk9ERSxcbiAgaGFzQXR0cmlidXRlOiBmdW5jdGlvbiBoYXNBdHRyaWJ1dGUobmFtZSkge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZU5vZGUobmFtZSkgIT0gbnVsbDtcbiAgfSxcbiAgZ2V0QXR0cmlidXRlOiBmdW5jdGlvbiBnZXRBdHRyaWJ1dGUobmFtZSkge1xuICAgIHZhciBhdHRyID0gdGhpcy5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpO1xuICAgIHJldHVybiBhdHRyICYmIGF0dHIudmFsdWUgfHwgJyc7XG4gIH0sXG4gIGdldEF0dHJpYnV0ZU5vZGU6IGZ1bmN0aW9uIGdldEF0dHJpYnV0ZU5vZGUobmFtZSkge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKG5hbWUpO1xuICB9LFxuICBzZXRBdHRyaWJ1dGU6IGZ1bmN0aW9uIHNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkge1xuICAgIHZhciBhdHRyID0gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICBhdHRyLnZhbHVlID0gYXR0ci5ub2RlVmFsdWUgPSBcIlwiICsgdmFsdWU7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVOb2RlKGF0dHIpO1xuICB9LFxuICByZW1vdmVBdHRyaWJ1dGU6IGZ1bmN0aW9uIHJlbW92ZUF0dHJpYnV0ZShuYW1lKSB7XG4gICAgdmFyIGF0dHIgPSB0aGlzLmdldEF0dHJpYnV0ZU5vZGUobmFtZSk7XG4gICAgYXR0ciAmJiB0aGlzLnJlbW92ZUF0dHJpYnV0ZU5vZGUoYXR0cik7XG4gIH0sXG4gIGFwcGVuZENoaWxkOiBmdW5jdGlvbiBhcHBlbmRDaGlsZChuZXdDaGlsZCkge1xuICAgIGlmIChuZXdDaGlsZC5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfRlJBR01FTlRfTk9ERSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG5ld0NoaWxkLCBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIF9hcHBlbmRTaW5nbGVDaGlsZCh0aGlzLCBuZXdDaGlsZCk7XG4gICAgfVxuICB9LFxuICBzZXRBdHRyaWJ1dGVOb2RlOiBmdW5jdGlvbiBzZXRBdHRyaWJ1dGVOb2RlKG5ld0F0dHIpIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLnNldE5hbWVkSXRlbShuZXdBdHRyKTtcbiAgfSxcbiAgc2V0QXR0cmlidXRlTm9kZU5TOiBmdW5jdGlvbiBzZXRBdHRyaWJ1dGVOb2RlTlMobmV3QXR0cikge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMuc2V0TmFtZWRJdGVtTlMobmV3QXR0cik7XG4gIH0sXG4gIHJlbW92ZUF0dHJpYnV0ZU5vZGU6IGZ1bmN0aW9uIHJlbW92ZUF0dHJpYnV0ZU5vZGUob2xkQXR0cikge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMucmVtb3ZlTmFtZWRJdGVtKG9sZEF0dHIubm9kZU5hbWUpO1xuICB9LFxuICByZW1vdmVBdHRyaWJ1dGVOUzogZnVuY3Rpb24gcmVtb3ZlQXR0cmlidXRlTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpIHtcbiAgICB2YXIgb2xkID0gdGhpcy5nZXRBdHRyaWJ1dGVOb2RlTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpO1xuICAgIG9sZCAmJiB0aGlzLnJlbW92ZUF0dHJpYnV0ZU5vZGUob2xkKTtcbiAgfSxcbiAgaGFzQXR0cmlidXRlTlM6IGZ1bmN0aW9uIGhhc0F0dHJpYnV0ZU5TKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlTm9kZU5TKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKSAhPSBudWxsO1xuICB9LFxuICBnZXRBdHRyaWJ1dGVOUzogZnVuY3Rpb24gZ2V0QXR0cmlidXRlTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpIHtcbiAgICB2YXIgYXR0ciA9IHRoaXMuZ2V0QXR0cmlidXRlTm9kZU5TKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKTtcbiAgICByZXR1cm4gYXR0ciAmJiBhdHRyLnZhbHVlIHx8ICcnO1xuICB9LFxuICBzZXRBdHRyaWJ1dGVOUzogZnVuY3Rpb24gc2V0QXR0cmlidXRlTlMobmFtZXNwYWNlVVJJLCBxdWFsaWZpZWROYW1lLCB2YWx1ZSkge1xuICAgIHZhciBhdHRyID0gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZU5TKG5hbWVzcGFjZVVSSSwgcXVhbGlmaWVkTmFtZSk7XG4gICAgYXR0ci52YWx1ZSA9IGF0dHIubm9kZVZhbHVlID0gXCJcIiArIHZhbHVlO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlTm9kZShhdHRyKTtcbiAgfSxcbiAgZ2V0QXR0cmlidXRlTm9kZU5TOiBmdW5jdGlvbiBnZXRBdHRyaWJ1dGVOb2RlTlMobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbU5TKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKTtcbiAgfSxcbiAgZ2V0RWxlbWVudHNCeVRhZ05hbWU6IGZ1bmN0aW9uIGdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ05hbWUpIHtcbiAgICByZXR1cm4gbmV3IExpdmVOb2RlTGlzdCh0aGlzLCBmdW5jdGlvbiAoYmFzZSkge1xuICAgICAgdmFyIGxzID0gW107XG5cbiAgICAgIF92aXNpdE5vZGUoYmFzZSwgZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUgIT09IGJhc2UgJiYgbm9kZS5ub2RlVHlwZSA9PSBFTEVNRU5UX05PREUgJiYgKHRhZ05hbWUgPT09ICcqJyB8fCBub2RlLnRhZ05hbWUgPT0gdGFnTmFtZSkpIHtcbiAgICAgICAgICBscy5wdXNoKG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGxzO1xuICAgIH0pO1xuICB9LFxuICBnZXRFbGVtZW50c0J5VGFnTmFtZU5TOiBmdW5jdGlvbiBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKSB7XG4gICAgcmV0dXJuIG5ldyBMaXZlTm9kZUxpc3QodGhpcywgZnVuY3Rpb24gKGJhc2UpIHtcbiAgICAgIHZhciBscyA9IFtdO1xuXG4gICAgICBfdmlzaXROb2RlKGJhc2UsIGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIGlmIChub2RlICE9PSBiYXNlICYmIG5vZGUubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiAobmFtZXNwYWNlVVJJID09PSAnKicgfHwgbm9kZS5uYW1lc3BhY2VVUkkgPT09IG5hbWVzcGFjZVVSSSkgJiYgKGxvY2FsTmFtZSA9PT0gJyonIHx8IG5vZGUubG9jYWxOYW1lID09IGxvY2FsTmFtZSkpIHtcbiAgICAgICAgICBscy5wdXNoKG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGxzO1xuICAgIH0pO1xuICB9XG59O1xuRG9jdW1lbnQucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lID0gRWxlbWVudC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU7XG5Eb2N1bWVudC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyA9IEVsZW1lbnQucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM7XG5cbl9leHRlbmRzKEVsZW1lbnQsIE5vZGUpO1xuXG5mdW5jdGlvbiBBdHRyKCkge31cblxuO1xuQXR0ci5wcm90b3R5cGUubm9kZVR5cGUgPSBBVFRSSUJVVEVfTk9ERTtcblxuX2V4dGVuZHMoQXR0ciwgTm9kZSk7XG5cbmZ1bmN0aW9uIENoYXJhY3RlckRhdGEoKSB7fVxuXG47XG5DaGFyYWN0ZXJEYXRhLnByb3RvdHlwZSA9IHtcbiAgZGF0YTogJycsXG4gIHN1YnN0cmluZ0RhdGE6IGZ1bmN0aW9uIHN1YnN0cmluZ0RhdGEob2Zmc2V0LCBjb3VudCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuc3Vic3RyaW5nKG9mZnNldCwgb2Zmc2V0ICsgY291bnQpO1xuICB9LFxuICBhcHBlbmREYXRhOiBmdW5jdGlvbiBhcHBlbmREYXRhKHRleHQpIHtcbiAgICB0ZXh0ID0gdGhpcy5kYXRhICsgdGV4dDtcbiAgICB0aGlzLm5vZGVWYWx1ZSA9IHRoaXMuZGF0YSA9IHRleHQ7XG4gICAgdGhpcy5sZW5ndGggPSB0ZXh0Lmxlbmd0aDtcbiAgfSxcbiAgaW5zZXJ0RGF0YTogZnVuY3Rpb24gaW5zZXJ0RGF0YShvZmZzZXQsIHRleHQpIHtcbiAgICB0aGlzLnJlcGxhY2VEYXRhKG9mZnNldCwgMCwgdGV4dCk7XG4gIH0sXG4gIGFwcGVuZENoaWxkOiBmdW5jdGlvbiBhcHBlbmRDaGlsZChuZXdDaGlsZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihFeGNlcHRpb25NZXNzYWdlW0hJRVJBUkNIWV9SRVFVRVNUX0VSUl0pO1xuICB9LFxuICBkZWxldGVEYXRhOiBmdW5jdGlvbiBkZWxldGVEYXRhKG9mZnNldCwgY291bnQpIHtcbiAgICB0aGlzLnJlcGxhY2VEYXRhKG9mZnNldCwgY291bnQsIFwiXCIpO1xuICB9LFxuICByZXBsYWNlRGF0YTogZnVuY3Rpb24gcmVwbGFjZURhdGEob2Zmc2V0LCBjb3VudCwgdGV4dCkge1xuICAgIHZhciBzdGFydCA9IHRoaXMuZGF0YS5zdWJzdHJpbmcoMCwgb2Zmc2V0KTtcbiAgICB2YXIgZW5kID0gdGhpcy5kYXRhLnN1YnN0cmluZyhvZmZzZXQgKyBjb3VudCk7XG4gICAgdGV4dCA9IHN0YXJ0ICsgdGV4dCArIGVuZDtcbiAgICB0aGlzLm5vZGVWYWx1ZSA9IHRoaXMuZGF0YSA9IHRleHQ7XG4gICAgdGhpcy5sZW5ndGggPSB0ZXh0Lmxlbmd0aDtcbiAgfVxufTtcblxuX2V4dGVuZHMoQ2hhcmFjdGVyRGF0YSwgTm9kZSk7XG5cbmZ1bmN0aW9uIFRleHQoKSB7fVxuXG47XG5UZXh0LnByb3RvdHlwZSA9IHtcbiAgbm9kZU5hbWU6IFwiI3RleHRcIixcbiAgbm9kZVR5cGU6IFRFWFRfTk9ERSxcbiAgc3BsaXRUZXh0OiBmdW5jdGlvbiBzcGxpdFRleHQob2Zmc2V0KSB7XG4gICAgdmFyIHRleHQgPSB0aGlzLmRhdGE7XG4gICAgdmFyIG5ld1RleHQgPSB0ZXh0LnN1YnN0cmluZyhvZmZzZXQpO1xuICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCBvZmZzZXQpO1xuICAgIHRoaXMuZGF0YSA9IHRoaXMubm9kZVZhbHVlID0gdGV4dDtcbiAgICB0aGlzLmxlbmd0aCA9IHRleHQubGVuZ3RoO1xuICAgIHZhciBuZXdOb2RlID0gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG5ld1RleHQpO1xuXG4gICAgaWYgKHRoaXMucGFyZW50Tm9kZSkge1xuICAgICAgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuZXdOb2RlLCB0aGlzLm5leHRTaWJsaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3Tm9kZTtcbiAgfVxufTtcblxuX2V4dGVuZHMoVGV4dCwgQ2hhcmFjdGVyRGF0YSk7XG5cbmZ1bmN0aW9uIENvbW1lbnQoKSB7fVxuXG47XG5Db21tZW50LnByb3RvdHlwZSA9IHtcbiAgbm9kZU5hbWU6IFwiI2NvbW1lbnRcIixcbiAgbm9kZVR5cGU6IENPTU1FTlRfTk9ERVxufTtcblxuX2V4dGVuZHMoQ29tbWVudCwgQ2hhcmFjdGVyRGF0YSk7XG5cbmZ1bmN0aW9uIENEQVRBU2VjdGlvbigpIHt9XG5cbjtcbkNEQVRBU2VjdGlvbi5wcm90b3R5cGUgPSB7XG4gIG5vZGVOYW1lOiBcIiNjZGF0YS1zZWN0aW9uXCIsXG4gIG5vZGVUeXBlOiBDREFUQV9TRUNUSU9OX05PREVcbn07XG5cbl9leHRlbmRzKENEQVRBU2VjdGlvbiwgQ2hhcmFjdGVyRGF0YSk7XG5cbmZ1bmN0aW9uIERvY3VtZW50VHlwZSgpIHt9XG5cbjtcbkRvY3VtZW50VHlwZS5wcm90b3R5cGUubm9kZVR5cGUgPSBET0NVTUVOVF9UWVBFX05PREU7XG5cbl9leHRlbmRzKERvY3VtZW50VHlwZSwgTm9kZSk7XG5cbmZ1bmN0aW9uIE5vdGF0aW9uKCkge31cblxuO1xuTm90YXRpb24ucHJvdG90eXBlLm5vZGVUeXBlID0gTk9UQVRJT05fTk9ERTtcblxuX2V4dGVuZHMoTm90YXRpb24sIE5vZGUpO1xuXG5mdW5jdGlvbiBFbnRpdHkoKSB7fVxuXG47XG5FbnRpdHkucHJvdG90eXBlLm5vZGVUeXBlID0gRU5USVRZX05PREU7XG5cbl9leHRlbmRzKEVudGl0eSwgTm9kZSk7XG5cbmZ1bmN0aW9uIEVudGl0eVJlZmVyZW5jZSgpIHt9XG5cbjtcbkVudGl0eVJlZmVyZW5jZS5wcm90b3R5cGUubm9kZVR5cGUgPSBFTlRJVFlfUkVGRVJFTkNFX05PREU7XG5cbl9leHRlbmRzKEVudGl0eVJlZmVyZW5jZSwgTm9kZSk7XG5cbmZ1bmN0aW9uIERvY3VtZW50RnJhZ21lbnQoKSB7fVxuXG47XG5Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5ub2RlTmFtZSA9IFwiI2RvY3VtZW50LWZyYWdtZW50XCI7XG5Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5ub2RlVHlwZSA9IERPQ1VNRU5UX0ZSQUdNRU5UX05PREU7XG5cbl9leHRlbmRzKERvY3VtZW50RnJhZ21lbnQsIE5vZGUpO1xuXG5mdW5jdGlvbiBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKSB7fVxuXG5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ucHJvdG90eXBlLm5vZGVUeXBlID0gUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFO1xuXG5fZXh0ZW5kcyhQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24sIE5vZGUpO1xuXG5mdW5jdGlvbiBYTUxTZXJpYWxpemVyKCkge31cblxuWE1MU2VyaWFsaXplci5wcm90b3R5cGUuc2VyaWFsaXplVG9TdHJpbmcgPSBmdW5jdGlvbiAobm9kZSwgaXNIdG1sLCBub2RlRmlsdGVyKSB7XG4gIHJldHVybiBub2RlU2VyaWFsaXplVG9TdHJpbmcuY2FsbChub2RlLCBpc0h0bWwsIG5vZGVGaWx0ZXIpO1xufTtcblxuTm9kZS5wcm90b3R5cGUudG9TdHJpbmcgPSBub2RlU2VyaWFsaXplVG9TdHJpbmc7XG5cbmZ1bmN0aW9uIG5vZGVTZXJpYWxpemVUb1N0cmluZyhpc0h0bWwsIG5vZGVGaWx0ZXIpIHtcbiAgdmFyIGJ1ZiA9IFtdO1xuICB2YXIgcmVmTm9kZSA9IHRoaXMubm9kZVR5cGUgPT0gOSAmJiB0aGlzLmRvY3VtZW50RWxlbWVudCB8fCB0aGlzO1xuICB2YXIgcHJlZml4ID0gcmVmTm9kZS5wcmVmaXg7XG4gIHZhciB1cmkgPSByZWZOb2RlLm5hbWVzcGFjZVVSSTtcblxuICBpZiAodXJpICYmIHByZWZpeCA9PSBudWxsKSB7XG4gICAgdmFyIHByZWZpeCA9IHJlZk5vZGUubG9va3VwUHJlZml4KHVyaSk7XG5cbiAgICBpZiAocHJlZml4ID09IG51bGwpIHtcbiAgICAgIHZhciB2aXNpYmxlTmFtZXNwYWNlcyA9IFt7XG4gICAgICAgIG5hbWVzcGFjZTogdXJpLFxuICAgICAgICBwcmVmaXg6IG51bGxcbiAgICAgIH1dO1xuICAgIH1cbiAgfVxuXG4gIHNlcmlhbGl6ZVRvU3RyaW5nKHRoaXMsIGJ1ZiwgaXNIdG1sLCBub2RlRmlsdGVyLCB2aXNpYmxlTmFtZXNwYWNlcyk7XG4gIHJldHVybiBidWYuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIG5lZWROYW1lc3BhY2VEZWZpbmUobm9kZSwgaXNIVE1MLCB2aXNpYmxlTmFtZXNwYWNlcykge1xuICB2YXIgcHJlZml4ID0gbm9kZS5wcmVmaXggfHwgJyc7XG4gIHZhciB1cmkgPSBub2RlLm5hbWVzcGFjZVVSSTtcblxuICBpZiAoIXByZWZpeCAmJiAhdXJpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHByZWZpeCA9PT0gXCJ4bWxcIiAmJiB1cmkgPT09IFwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlXCIgfHwgdXJpID09ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgaSA9IHZpc2libGVOYW1lc3BhY2VzLmxlbmd0aDtcblxuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIG5zID0gdmlzaWJsZU5hbWVzcGFjZXNbaV07XG5cbiAgICBpZiAobnMucHJlZml4ID09IHByZWZpeCkge1xuICAgICAgcmV0dXJuIG5zLm5hbWVzcGFjZSAhPSB1cmk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZVRvU3RyaW5nKG5vZGUsIGJ1ZiwgaXNIVE1MLCBub2RlRmlsdGVyLCB2aXNpYmxlTmFtZXNwYWNlcykge1xuICBpZiAobm9kZUZpbHRlcikge1xuICAgIG5vZGUgPSBub2RlRmlsdGVyKG5vZGUpO1xuXG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIGlmICh0eXBlb2Ygbm9kZSA9PSAnc3RyaW5nJykge1xuICAgICAgICBidWYucHVzaChub2RlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChub2RlLm5vZGVUeXBlKSB7XG4gICAgY2FzZSBFTEVNRU5UX05PREU6XG4gICAgICBpZiAoIXZpc2libGVOYW1lc3BhY2VzKSB2aXNpYmxlTmFtZXNwYWNlcyA9IFtdO1xuICAgICAgdmFyIHN0YXJ0VmlzaWJsZU5hbWVzcGFjZXMgPSB2aXNpYmxlTmFtZXNwYWNlcy5sZW5ndGg7XG4gICAgICB2YXIgYXR0cnMgPSBub2RlLmF0dHJpYnV0ZXM7XG4gICAgICB2YXIgbGVuID0gYXR0cnMubGVuZ3RoO1xuICAgICAgdmFyIGNoaWxkID0gbm9kZS5maXJzdENoaWxkO1xuICAgICAgdmFyIG5vZGVOYW1lID0gbm9kZS50YWdOYW1lO1xuICAgICAgaXNIVE1MID0gaHRtbG5zID09PSBub2RlLm5hbWVzcGFjZVVSSSB8fCBpc0hUTUw7XG4gICAgICBidWYucHVzaCgnPCcsIG5vZGVOYW1lKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICB2YXIgYXR0ciA9IGF0dHJzLml0ZW0oaSk7XG5cbiAgICAgICAgaWYgKGF0dHIucHJlZml4ID09ICd4bWxucycpIHtcbiAgICAgICAgICB2aXNpYmxlTmFtZXNwYWNlcy5wdXNoKHtcbiAgICAgICAgICAgIHByZWZpeDogYXR0ci5sb2NhbE5hbWUsXG4gICAgICAgICAgICBuYW1lc3BhY2U6IGF0dHIudmFsdWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChhdHRyLm5vZGVOYW1lID09ICd4bWxucycpIHtcbiAgICAgICAgICB2aXNpYmxlTmFtZXNwYWNlcy5wdXNoKHtcbiAgICAgICAgICAgIHByZWZpeDogJycsXG4gICAgICAgICAgICBuYW1lc3BhY2U6IGF0dHIudmFsdWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHZhciBhdHRyID0gYXR0cnMuaXRlbShpKTtcblxuICAgICAgICBpZiAobmVlZE5hbWVzcGFjZURlZmluZShhdHRyLCBpc0hUTUwsIHZpc2libGVOYW1lc3BhY2VzKSkge1xuICAgICAgICAgIHZhciBwcmVmaXggPSBhdHRyLnByZWZpeCB8fCAnJztcbiAgICAgICAgICB2YXIgdXJpID0gYXR0ci5uYW1lc3BhY2VVUkk7XG4gICAgICAgICAgdmFyIG5zID0gcHJlZml4ID8gJyB4bWxuczonICsgcHJlZml4IDogXCIgeG1sbnNcIjtcbiAgICAgICAgICBidWYucHVzaChucywgJz1cIicsIHVyaSwgJ1wiJyk7XG4gICAgICAgICAgdmlzaWJsZU5hbWVzcGFjZXMucHVzaCh7XG4gICAgICAgICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgICAgICAgIG5hbWVzcGFjZTogdXJpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXJpYWxpemVUb1N0cmluZyhhdHRyLCBidWYsIGlzSFRNTCwgbm9kZUZpbHRlciwgdmlzaWJsZU5hbWVzcGFjZXMpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVlZE5hbWVzcGFjZURlZmluZShub2RlLCBpc0hUTUwsIHZpc2libGVOYW1lc3BhY2VzKSkge1xuICAgICAgICB2YXIgcHJlZml4ID0gbm9kZS5wcmVmaXggfHwgJyc7XG4gICAgICAgIHZhciB1cmkgPSBub2RlLm5hbWVzcGFjZVVSSTtcbiAgICAgICAgdmFyIG5zID0gcHJlZml4ID8gJyB4bWxuczonICsgcHJlZml4IDogXCIgeG1sbnNcIjtcbiAgICAgICAgYnVmLnB1c2gobnMsICc9XCInLCB1cmksICdcIicpO1xuICAgICAgICB2aXNpYmxlTmFtZXNwYWNlcy5wdXNoKHtcbiAgICAgICAgICBwcmVmaXg6IHByZWZpeCxcbiAgICAgICAgICBuYW1lc3BhY2U6IHVyaVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoaWxkIHx8IGlzSFRNTCAmJiAhL14oPzptZXRhfGxpbmt8aW1nfGJyfGhyfGlucHV0KSQvaS50ZXN0KG5vZGVOYW1lKSkge1xuICAgICAgICBidWYucHVzaCgnPicpO1xuXG4gICAgICAgIGlmIChpc0hUTUwgJiYgL15zY3JpcHQkL2kudGVzdChub2RlTmFtZSkpIHtcbiAgICAgICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgICAgIGlmIChjaGlsZC5kYXRhKSB7XG4gICAgICAgICAgICAgIGJ1Zi5wdXNoKGNoaWxkLmRhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2VyaWFsaXplVG9TdHJpbmcoY2hpbGQsIGJ1ZiwgaXNIVE1MLCBub2RlRmlsdGVyLCB2aXNpYmxlTmFtZXNwYWNlcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNoaWxkID0gY2hpbGQubmV4dFNpYmxpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHdoaWxlIChjaGlsZCkge1xuICAgICAgICAgICAgc2VyaWFsaXplVG9TdHJpbmcoY2hpbGQsIGJ1ZiwgaXNIVE1MLCBub2RlRmlsdGVyLCB2aXNpYmxlTmFtZXNwYWNlcyk7XG4gICAgICAgICAgICBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1Zi5wdXNoKCc8LycsIG5vZGVOYW1lLCAnPicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnVmLnB1c2goJy8+Jyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgRE9DVU1FTlRfTk9ERTpcbiAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6XG4gICAgICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICAgIHdoaWxlIChjaGlsZCkge1xuICAgICAgICBzZXJpYWxpemVUb1N0cmluZyhjaGlsZCwgYnVmLCBpc0hUTUwsIG5vZGVGaWx0ZXIsIHZpc2libGVOYW1lc3BhY2VzKTtcbiAgICAgICAgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSBBVFRSSUJVVEVfTk9ERTpcbiAgICAgIHJldHVybiBidWYucHVzaCgnICcsIG5vZGUubmFtZSwgJz1cIicsIG5vZGUudmFsdWUucmVwbGFjZSgvWzwmXCJdL2csIF94bWxFbmNvZGVyKSwgJ1wiJyk7XG5cbiAgICBjYXNlIFRFWFRfTk9ERTpcbiAgICAgIHJldHVybiBidWYucHVzaChub2RlLmRhdGEucmVwbGFjZSgvWzwmXS9nLCBfeG1sRW5jb2RlcikpO1xuXG4gICAgY2FzZSBDREFUQV9TRUNUSU9OX05PREU6XG4gICAgICByZXR1cm4gYnVmLnB1c2goJzwhW0NEQVRBWycsIG5vZGUuZGF0YSwgJ11dPicpO1xuXG4gICAgY2FzZSBDT01NRU5UX05PREU6XG4gICAgICByZXR1cm4gYnVmLnB1c2goXCI8IS0tXCIsIG5vZGUuZGF0YSwgXCItLT5cIik7XG5cbiAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERTpcbiAgICAgIHZhciBwdWJpZCA9IG5vZGUucHVibGljSWQ7XG4gICAgICB2YXIgc3lzaWQgPSBub2RlLnN5c3RlbUlkO1xuICAgICAgYnVmLnB1c2goJzwhRE9DVFlQRSAnLCBub2RlLm5hbWUpO1xuXG4gICAgICBpZiAocHViaWQpIHtcbiAgICAgICAgYnVmLnB1c2goJyBQVUJMSUMgXCInLCBwdWJpZCk7XG5cbiAgICAgICAgaWYgKHN5c2lkICYmIHN5c2lkICE9ICcuJykge1xuICAgICAgICAgIGJ1Zi5wdXNoKCdcIiBcIicsIHN5c2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1Zi5wdXNoKCdcIj4nKTtcbiAgICAgIH0gZWxzZSBpZiAoc3lzaWQgJiYgc3lzaWQgIT0gJy4nKSB7XG4gICAgICAgIGJ1Zi5wdXNoKCcgU1lTVEVNIFwiJywgc3lzaWQsICdcIj4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBzdWIgPSBub2RlLmludGVybmFsU3Vic2V0O1xuXG4gICAgICAgIGlmIChzdWIpIHtcbiAgICAgICAgICBidWYucHVzaChcIiBbXCIsIHN1YiwgXCJdXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnVmLnB1c2goXCI+XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG5cbiAgICBjYXNlIFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERTpcbiAgICAgIHJldHVybiBidWYucHVzaChcIjw/XCIsIG5vZGUudGFyZ2V0LCBcIiBcIiwgbm9kZS5kYXRhLCBcIj8+XCIpO1xuXG4gICAgY2FzZSBFTlRJVFlfUkVGRVJFTkNFX05PREU6XG4gICAgICByZXR1cm4gYnVmLnB1c2goJyYnLCBub2RlLm5vZGVOYW1lLCAnOycpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGJ1Zi5wdXNoKCc/PycsIG5vZGUubm9kZU5hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9pbXBvcnROb2RlKGRvYywgbm9kZSwgZGVlcCkge1xuICB2YXIgbm9kZTI7XG5cbiAgc3dpdGNoIChub2RlLm5vZGVUeXBlKSB7XG4gICAgY2FzZSBFTEVNRU5UX05PREU6XG4gICAgICBub2RlMiA9IG5vZGUuY2xvbmVOb2RlKGZhbHNlKTtcbiAgICAgIG5vZGUyLm93bmVyRG9jdW1lbnQgPSBkb2M7XG5cbiAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQVRUUklCVVRFX05PREU6XG4gICAgICBkZWVwID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgaWYgKCFub2RlMikge1xuICAgIG5vZGUyID0gbm9kZS5jbG9uZU5vZGUoZmFsc2UpO1xuICB9XG5cbiAgbm9kZTIub3duZXJEb2N1bWVudCA9IGRvYztcbiAgbm9kZTIucGFyZW50Tm9kZSA9IG51bGw7XG5cbiAgaWYgKGRlZXApIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgIG5vZGUyLmFwcGVuZENoaWxkKF9pbXBvcnROb2RlKGRvYywgY2hpbGQsIGRlZXApKTtcbiAgICAgIGNoaWxkID0gY2hpbGQubmV4dFNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGUyO1xufVxuXG5mdW5jdGlvbiBfY2xvbmVOb2RlKGRvYywgbm9kZSwgZGVlcCkge1xuICB2YXIgbm9kZTIgPSBuZXcgbm9kZS5jb25zdHJ1Y3RvcigpO1xuXG4gIGZvciAodmFyIG4gaW4gbm9kZSkge1xuICAgIHZhciB2ID0gbm9kZVtuXTtcblxuICAgIGlmIChfdHlwZW9mKHYpICE9ICdvYmplY3QnKSB7XG4gICAgICBpZiAodiAhPSBub2RlMltuXSkge1xuICAgICAgICBub2RlMltuXSA9IHY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUuY2hpbGROb2Rlcykge1xuICAgIG5vZGUyLmNoaWxkTm9kZXMgPSBuZXcgTm9kZUxpc3QoKTtcbiAgfVxuXG4gIG5vZGUyLm93bmVyRG9jdW1lbnQgPSBkb2M7XG5cbiAgc3dpdGNoIChub2RlMi5ub2RlVHlwZSkge1xuICAgIGNhc2UgRUxFTUVOVF9OT0RFOlxuICAgICAgdmFyIGF0dHJzID0gbm9kZS5hdHRyaWJ1dGVzO1xuICAgICAgdmFyIGF0dHJzMiA9IG5vZGUyLmF0dHJpYnV0ZXMgPSBuZXcgTmFtZWROb2RlTWFwKCk7XG4gICAgICB2YXIgbGVuID0gYXR0cnMubGVuZ3RoO1xuICAgICAgYXR0cnMyLl9vd25lckVsZW1lbnQgPSBub2RlMjtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBub2RlMi5zZXRBdHRyaWJ1dGVOb2RlKF9jbG9uZU5vZGUoZG9jLCBhdHRycy5pdGVtKGkpLCB0cnVlKSk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgICAgO1xuXG4gICAgY2FzZSBBVFRSSUJVVEVfTk9ERTpcbiAgICAgIGRlZXAgPSB0cnVlO1xuICB9XG5cbiAgaWYgKGRlZXApIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgIG5vZGUyLmFwcGVuZENoaWxkKF9jbG9uZU5vZGUoZG9jLCBjaGlsZCwgZGVlcCkpO1xuICAgICAgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZTI7XG59XG5cbmZ1bmN0aW9uIF9fc2V0X18ob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIG9iamVjdFtrZXldID0gdmFsdWU7XG59XG5cbnRyeSB7XG4gIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICB2YXIgZ2V0VGV4dENvbnRlbnQgPSBmdW5jdGlvbiBnZXRUZXh0Q29udGVudChub2RlKSB7XG4gICAgICBzd2l0Y2ggKG5vZGUubm9kZVR5cGUpIHtcbiAgICAgICAgY2FzZSBFTEVNRU5UX05PREU6XG4gICAgICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpcbiAgICAgICAgICB2YXIgYnVmID0gW107XG4gICAgICAgICAgbm9kZSA9IG5vZGUuZmlyc3RDaGlsZDtcblxuICAgICAgICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSAhPT0gNyAmJiBub2RlLm5vZGVUeXBlICE9PSA4KSB7XG4gICAgICAgICAgICAgIGJ1Zi5wdXNoKGdldFRleHRDb250ZW50KG5vZGUpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGJ1Zi5qb2luKCcnKTtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBub2RlLm5vZGVWYWx1ZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KExpdmVOb2RlTGlzdC5wcm90b3R5cGUsICdsZW5ndGgnLCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgX3VwZGF0ZUxpdmVMaXN0KHRoaXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLiQkbGVuZ3RoO1xuICAgICAgfVxuICAgIH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2RlLnByb3RvdHlwZSwgJ3RleHRDb250ZW50Jywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBnZXRUZXh0Q29udGVudCh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uIHNldChkYXRhKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5ub2RlVHlwZSkge1xuICAgICAgICAgIGNhc2UgRUxFTUVOVF9OT0RFOlxuICAgICAgICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZCh0aGlzLmZpcnN0Q2hpbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGF0YSB8fCBTdHJpbmcoZGF0YSkpIHtcbiAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZCh0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGF0YSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGE7XG4gICAgICAgICAgICB0aGlzLm5vZGVWYWx1ZSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIF9fc2V0X18gPSBmdW5jdGlvbiBfX3NldF9fKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICAgICAgb2JqZWN0WyckJCcgKyBrZXldID0gdmFsdWU7XG4gICAgfTtcbiAgfVxufSBjYXRjaCAoZSkge31cblxuZXhwb3J0cy5ET01JbXBsZW1lbnRhdGlvbiA9IERPTUltcGxlbWVudGF0aW9uO1xuZXhwb3J0cy5YTUxTZXJpYWxpemVyID0gWE1MU2VyaWFsaXplcjtcblxufSx7fV0sNTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuZW50aXR5TWFwID0ge1xuICBsdDogJzwnLFxuICBndDogJz4nLFxuICBhbXA6ICcmJyxcbiAgcXVvdDogJ1wiJyxcbiAgYXBvczogXCInXCIsXG4gIEFncmF2ZTogXCLDgFwiLFxuICBBYWN1dGU6IFwiw4FcIixcbiAgQWNpcmM6IFwiw4JcIixcbiAgQXRpbGRlOiBcIsODXCIsXG4gIEF1bWw6IFwiw4RcIixcbiAgQXJpbmc6IFwiw4VcIixcbiAgQUVsaWc6IFwiw4ZcIixcbiAgQ2NlZGlsOiBcIsOHXCIsXG4gIEVncmF2ZTogXCLDiFwiLFxuICBFYWN1dGU6IFwiw4lcIixcbiAgRWNpcmM6IFwiw4pcIixcbiAgRXVtbDogXCLDi1wiLFxuICBJZ3JhdmU6IFwiw4xcIixcbiAgSWFjdXRlOiBcIsONXCIsXG4gIEljaXJjOiBcIsOOXCIsXG4gIEl1bWw6IFwiw49cIixcbiAgRVRIOiBcIsOQXCIsXG4gIE50aWxkZTogXCLDkVwiLFxuICBPZ3JhdmU6IFwiw5JcIixcbiAgT2FjdXRlOiBcIsOTXCIsXG4gIE9jaXJjOiBcIsOUXCIsXG4gIE90aWxkZTogXCLDlVwiLFxuICBPdW1sOiBcIsOWXCIsXG4gIE9zbGFzaDogXCLDmFwiLFxuICBVZ3JhdmU6IFwiw5lcIixcbiAgVWFjdXRlOiBcIsOaXCIsXG4gIFVjaXJjOiBcIsObXCIsXG4gIFV1bWw6IFwiw5xcIixcbiAgWWFjdXRlOiBcIsOdXCIsXG4gIFRIT1JOOiBcIsOeXCIsXG4gIHN6bGlnOiBcIsOfXCIsXG4gIGFncmF2ZTogXCLDoFwiLFxuICBhYWN1dGU6IFwiw6FcIixcbiAgYWNpcmM6IFwiw6JcIixcbiAgYXRpbGRlOiBcIsOjXCIsXG4gIGF1bWw6IFwiw6RcIixcbiAgYXJpbmc6IFwiw6VcIixcbiAgYWVsaWc6IFwiw6ZcIixcbiAgY2NlZGlsOiBcIsOnXCIsXG4gIGVncmF2ZTogXCLDqFwiLFxuICBlYWN1dGU6IFwiw6lcIixcbiAgZWNpcmM6IFwiw6pcIixcbiAgZXVtbDogXCLDq1wiLFxuICBpZ3JhdmU6IFwiw6xcIixcbiAgaWFjdXRlOiBcIsOtXCIsXG4gIGljaXJjOiBcIsOuXCIsXG4gIGl1bWw6IFwiw69cIixcbiAgZXRoOiBcIsOwXCIsXG4gIG50aWxkZTogXCLDsVwiLFxuICBvZ3JhdmU6IFwiw7JcIixcbiAgb2FjdXRlOiBcIsOzXCIsXG4gIG9jaXJjOiBcIsO0XCIsXG4gIG90aWxkZTogXCLDtVwiLFxuICBvdW1sOiBcIsO2XCIsXG4gIG9zbGFzaDogXCLDuFwiLFxuICB1Z3JhdmU6IFwiw7lcIixcbiAgdWFjdXRlOiBcIsO6XCIsXG4gIHVjaXJjOiBcIsO7XCIsXG4gIHV1bWw6IFwiw7xcIixcbiAgeWFjdXRlOiBcIsO9XCIsXG4gIHRob3JuOiBcIsO+XCIsXG4gIHl1bWw6IFwiw79cIixcbiAgbmJzcDogXCIgXCIsXG4gIGlleGNsOiBcIsKhXCIsXG4gIGNlbnQ6IFwiwqJcIixcbiAgcG91bmQ6IFwiwqNcIixcbiAgY3VycmVuOiBcIsKkXCIsXG4gIHllbjogXCLCpVwiLFxuICBicnZiYXI6IFwiwqZcIixcbiAgc2VjdDogXCLCp1wiLFxuICB1bWw6IFwiwqhcIixcbiAgY29weTogXCLCqVwiLFxuICBvcmRmOiBcIsKqXCIsXG4gIGxhcXVvOiBcIsKrXCIsXG4gIG5vdDogXCLCrFwiLFxuICBzaHk6IFwiwq3CrVwiLFxuICByZWc6IFwiwq5cIixcbiAgbWFjcjogXCLCr1wiLFxuICBkZWc6IFwiwrBcIixcbiAgcGx1c21uOiBcIsKxXCIsXG4gIHN1cDI6IFwiwrJcIixcbiAgc3VwMzogXCLCs1wiLFxuICBhY3V0ZTogXCLCtFwiLFxuICBtaWNybzogXCLCtVwiLFxuICBwYXJhOiBcIsK2XCIsXG4gIG1pZGRvdDogXCLCt1wiLFxuICBjZWRpbDogXCLCuFwiLFxuICBzdXAxOiBcIsK5XCIsXG4gIG9yZG06IFwiwrpcIixcbiAgcmFxdW86IFwiwrtcIixcbiAgZnJhYzE0OiBcIsK8XCIsXG4gIGZyYWMxMjogXCLCvVwiLFxuICBmcmFjMzQ6IFwiwr5cIixcbiAgaXF1ZXN0OiBcIsK/XCIsXG4gIHRpbWVzOiBcIsOXXCIsXG4gIGRpdmlkZTogXCLDt1wiLFxuICBmb3JhbGw6IFwi4oiAXCIsXG4gIHBhcnQ6IFwi4oiCXCIsXG4gIGV4aXN0OiBcIuKIg1wiLFxuICBlbXB0eTogXCLiiIVcIixcbiAgbmFibGE6IFwi4oiHXCIsXG4gIGlzaW46IFwi4oiIXCIsXG4gIG5vdGluOiBcIuKIiVwiLFxuICBuaTogXCLiiItcIixcbiAgcHJvZDogXCLiiI9cIixcbiAgc3VtOiBcIuKIkVwiLFxuICBtaW51czogXCLiiJJcIixcbiAgbG93YXN0OiBcIuKIl1wiLFxuICByYWRpYzogXCLiiJpcIixcbiAgcHJvcDogXCLiiJ1cIixcbiAgaW5maW46IFwi4oieXCIsXG4gIGFuZzogXCLiiKBcIixcbiAgYW5kOiBcIuKIp1wiLFxuICBvcjogXCLiiKhcIixcbiAgY2FwOiBcIuKIqVwiLFxuICBjdXA6IFwi4oiqXCIsXG4gICdpbnQnOiBcIuKIq1wiLFxuICB0aGVyZTQ6IFwi4oi0XCIsXG4gIHNpbTogXCLiiLxcIixcbiAgY29uZzogXCLiiYVcIixcbiAgYXN5bXA6IFwi4omIXCIsXG4gIG5lOiBcIuKJoFwiLFxuICBlcXVpdjogXCLiiaFcIixcbiAgbGU6IFwi4omkXCIsXG4gIGdlOiBcIuKJpVwiLFxuICBzdWI6IFwi4oqCXCIsXG4gIHN1cDogXCLiioNcIixcbiAgbnN1YjogXCLiioRcIixcbiAgc3ViZTogXCLiioZcIixcbiAgc3VwZTogXCLiiodcIixcbiAgb3BsdXM6IFwi4oqVXCIsXG4gIG90aW1lczogXCLiipdcIixcbiAgcGVycDogXCLiiqVcIixcbiAgc2RvdDogXCLii4VcIixcbiAgQWxwaGE6IFwizpFcIixcbiAgQmV0YTogXCLOklwiLFxuICBHYW1tYTogXCLOk1wiLFxuICBEZWx0YTogXCLOlFwiLFxuICBFcHNpbG9uOiBcIs6VXCIsXG4gIFpldGE6IFwizpZcIixcbiAgRXRhOiBcIs6XXCIsXG4gIFRoZXRhOiBcIs6YXCIsXG4gIElvdGE6IFwizplcIixcbiAgS2FwcGE6IFwizppcIixcbiAgTGFtYmRhOiBcIs6bXCIsXG4gIE11OiBcIs6cXCIsXG4gIE51OiBcIs6dXCIsXG4gIFhpOiBcIs6eXCIsXG4gIE9taWNyb246IFwizp9cIixcbiAgUGk6IFwizqBcIixcbiAgUmhvOiBcIs6hXCIsXG4gIFNpZ21hOiBcIs6jXCIsXG4gIFRhdTogXCLOpFwiLFxuICBVcHNpbG9uOiBcIs6lXCIsXG4gIFBoaTogXCLOplwiLFxuICBDaGk6IFwizqdcIixcbiAgUHNpOiBcIs6oXCIsXG4gIE9tZWdhOiBcIs6pXCIsXG4gIGFscGhhOiBcIs6xXCIsXG4gIGJldGE6IFwizrJcIixcbiAgZ2FtbWE6IFwizrNcIixcbiAgZGVsdGE6IFwizrRcIixcbiAgZXBzaWxvbjogXCLOtVwiLFxuICB6ZXRhOiBcIs62XCIsXG4gIGV0YTogXCLOt1wiLFxuICB0aGV0YTogXCLOuFwiLFxuICBpb3RhOiBcIs65XCIsXG4gIGthcHBhOiBcIs66XCIsXG4gIGxhbWJkYTogXCLOu1wiLFxuICBtdTogXCLOvFwiLFxuICBudTogXCLOvVwiLFxuICB4aTogXCLOvlwiLFxuICBvbWljcm9uOiBcIs6/XCIsXG4gIHBpOiBcIs+AXCIsXG4gIHJobzogXCLPgVwiLFxuICBzaWdtYWY6IFwiz4JcIixcbiAgc2lnbWE6IFwiz4NcIixcbiAgdGF1OiBcIs+EXCIsXG4gIHVwc2lsb246IFwiz4VcIixcbiAgcGhpOiBcIs+GXCIsXG4gIGNoaTogXCLPh1wiLFxuICBwc2k6IFwiz4hcIixcbiAgb21lZ2E6IFwiz4lcIixcbiAgdGhldGFzeW06IFwiz5FcIixcbiAgdXBzaWg6IFwiz5JcIixcbiAgcGl2OiBcIs+WXCIsXG4gIE9FbGlnOiBcIsWSXCIsXG4gIG9lbGlnOiBcIsWTXCIsXG4gIFNjYXJvbjogXCLFoFwiLFxuICBzY2Fyb246IFwixaFcIixcbiAgWXVtbDogXCLFuFwiLFxuICBmbm9mOiBcIsaSXCIsXG4gIGNpcmM6IFwiy4ZcIixcbiAgdGlsZGU6IFwiy5xcIixcbiAgZW5zcDogXCLigIJcIixcbiAgZW1zcDogXCLigINcIixcbiAgdGhpbnNwOiBcIuKAiVwiLFxuICB6d25qOiBcIuKAjFwiLFxuICB6d2o6IFwi4oCNXCIsXG4gIGxybTogXCLigI5cIixcbiAgcmxtOiBcIuKAj1wiLFxuICBuZGFzaDogXCLigJNcIixcbiAgbWRhc2g6IFwi4oCUXCIsXG4gIGxzcXVvOiBcIuKAmFwiLFxuICByc3F1bzogXCLigJlcIixcbiAgc2JxdW86IFwi4oCaXCIsXG4gIGxkcXVvOiBcIuKAnFwiLFxuICByZHF1bzogXCLigJ1cIixcbiAgYmRxdW86IFwi4oCeXCIsXG4gIGRhZ2dlcjogXCLigKBcIixcbiAgRGFnZ2VyOiBcIuKAoVwiLFxuICBidWxsOiBcIuKAolwiLFxuICBoZWxsaXA6IFwi4oCmXCIsXG4gIHBlcm1pbDogXCLigLBcIixcbiAgcHJpbWU6IFwi4oCyXCIsXG4gIFByaW1lOiBcIuKAs1wiLFxuICBsc2FxdW86IFwi4oC5XCIsXG4gIHJzYXF1bzogXCLigLpcIixcbiAgb2xpbmU6IFwi4oC+XCIsXG4gIGV1cm86IFwi4oKsXCIsXG4gIHRyYWRlOiBcIuKEolwiLFxuICBsYXJyOiBcIuKGkFwiLFxuICB1YXJyOiBcIuKGkVwiLFxuICByYXJyOiBcIuKGklwiLFxuICBkYXJyOiBcIuKGk1wiLFxuICBoYXJyOiBcIuKGlFwiLFxuICBjcmFycjogXCLihrVcIixcbiAgbGNlaWw6IFwi4oyIXCIsXG4gIHJjZWlsOiBcIuKMiVwiLFxuICBsZmxvb3I6IFwi4oyKXCIsXG4gIHJmbG9vcjogXCLijItcIixcbiAgbG96OiBcIuKXilwiLFxuICBzcGFkZXM6IFwi4pmgXCIsXG4gIGNsdWJzOiBcIuKZo1wiLFxuICBoZWFydHM6IFwi4pmlXCIsXG4gIGRpYW1zOiBcIuKZplwiXG59O1xuXG59LHt9XSw1ODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIG5hbWVTdGFydENoYXIgPSAvW0EtWl9hLXpcXHhDMC1cXHhENlxceEQ4LVxceEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXS87XG52YXIgbmFtZUNoYXIgPSBuZXcgUmVnRXhwKFwiW1xcXFwtXFxcXC4wLTlcIiArIG5hbWVTdGFydENoYXIuc291cmNlLnNsaWNlKDEsIC0xKSArIFwiXFxcXHUwMEI3XFxcXHUwMzAwLVxcXFx1MDM2RlxcXFx1MjAzRi1cXFxcdTIwNDBdXCIpO1xudmFyIHRhZ05hbWVQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXicgKyBuYW1lU3RhcnRDaGFyLnNvdXJjZSArIG5hbWVDaGFyLnNvdXJjZSArICcqKD86XFw6JyArIG5hbWVTdGFydENoYXIuc291cmNlICsgbmFtZUNoYXIuc291cmNlICsgJyopPyQnKTtcbnZhciBTX1RBRyA9IDA7XG52YXIgU19BVFRSID0gMTtcbnZhciBTX0FUVFJfU1BBQ0UgPSAyO1xudmFyIFNfRVEgPSAzO1xudmFyIFNfQVRUUl9OT1FVT1RfVkFMVUUgPSA0O1xudmFyIFNfQVRUUl9FTkQgPSA1O1xudmFyIFNfVEFHX1NQQUNFID0gNjtcbnZhciBTX1RBR19DTE9TRSA9IDc7XG5cbmZ1bmN0aW9uIFhNTFJlYWRlcigpIHt9XG5cblhNTFJlYWRlci5wcm90b3R5cGUgPSB7XG4gIHBhcnNlOiBmdW5jdGlvbiBwYXJzZShzb3VyY2UsIGRlZmF1bHROU01hcCwgZW50aXR5TWFwKSB7XG4gICAgdmFyIGRvbUJ1aWxkZXIgPSB0aGlzLmRvbUJ1aWxkZXI7XG4gICAgZG9tQnVpbGRlci5zdGFydERvY3VtZW50KCk7XG5cbiAgICBfY29weShkZWZhdWx0TlNNYXAsIGRlZmF1bHROU01hcCA9IHt9KTtcblxuICAgIF9wYXJzZShzb3VyY2UsIGRlZmF1bHROU01hcCwgZW50aXR5TWFwLCBkb21CdWlsZGVyLCB0aGlzLmVycm9ySGFuZGxlcik7XG5cbiAgICBkb21CdWlsZGVyLmVuZERvY3VtZW50KCk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIF9wYXJzZShzb3VyY2UsIGRlZmF1bHROU01hcENvcHksIGVudGl0eU1hcCwgZG9tQnVpbGRlciwgZXJyb3JIYW5kbGVyKSB7XG4gIGZ1bmN0aW9uIGZpeGVkRnJvbUNoYXJDb2RlKGNvZGUpIHtcbiAgICBpZiAoY29kZSA+IDB4ZmZmZikge1xuICAgICAgY29kZSAtPSAweDEwMDAwO1xuICAgICAgdmFyIHN1cnJvZ2F0ZTEgPSAweGQ4MDAgKyAoY29kZSA+PiAxMCksXG4gICAgICAgICAgc3Vycm9nYXRlMiA9IDB4ZGMwMCArIChjb2RlICYgMHgzZmYpO1xuICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoc3Vycm9nYXRlMSwgc3Vycm9nYXRlMik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVudGl0eVJlcGxhY2VyKGEpIHtcbiAgICB2YXIgayA9IGEuc2xpY2UoMSwgLTEpO1xuXG4gICAgaWYgKGsgaW4gZW50aXR5TWFwKSB7XG4gICAgICByZXR1cm4gZW50aXR5TWFwW2tdO1xuICAgIH0gZWxzZSBpZiAoay5jaGFyQXQoMCkgPT09ICcjJykge1xuICAgICAgcmV0dXJuIGZpeGVkRnJvbUNoYXJDb2RlKHBhcnNlSW50KGsuc3Vic3RyKDEpLnJlcGxhY2UoJ3gnLCAnMHgnKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvckhhbmRsZXIuZXJyb3IoJ2VudGl0eSBub3QgZm91bmQ6JyArIGEpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXBwZW5kVGV4dChlbmQpIHtcbiAgICBpZiAoZW5kID4gc3RhcnQpIHtcbiAgICAgIHZhciB4dCA9IHNvdXJjZS5zdWJzdHJpbmcoc3RhcnQsIGVuZCkucmVwbGFjZSgvJiM/XFx3KzsvZywgZW50aXR5UmVwbGFjZXIpO1xuICAgICAgbG9jYXRvciAmJiBwb3NpdGlvbihzdGFydCk7XG4gICAgICBkb21CdWlsZGVyLmNoYXJhY3RlcnMoeHQsIDAsIGVuZCAtIHN0YXJ0KTtcbiAgICAgIHN0YXJ0ID0gZW5kO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBvc2l0aW9uKHAsIG0pIHtcbiAgICB3aGlsZSAocCA+PSBsaW5lRW5kICYmIChtID0gbGluZVBhdHRlcm4uZXhlYyhzb3VyY2UpKSkge1xuICAgICAgbGluZVN0YXJ0ID0gbS5pbmRleDtcbiAgICAgIGxpbmVFbmQgPSBsaW5lU3RhcnQgKyBtWzBdLmxlbmd0aDtcbiAgICAgIGxvY2F0b3IubGluZU51bWJlcisrO1xuICAgIH1cblxuICAgIGxvY2F0b3IuY29sdW1uTnVtYmVyID0gcCAtIGxpbmVTdGFydCArIDE7XG4gIH1cblxuICB2YXIgbGluZVN0YXJ0ID0gMDtcbiAgdmFyIGxpbmVFbmQgPSAwO1xuICB2YXIgbGluZVBhdHRlcm4gPSAvLiooPzpcXHJcXG4/fFxcbil8LiokL2c7XG4gIHZhciBsb2NhdG9yID0gZG9tQnVpbGRlci5sb2NhdG9yO1xuICB2YXIgcGFyc2VTdGFjayA9IFt7XG4gICAgY3VycmVudE5TTWFwOiBkZWZhdWx0TlNNYXBDb3B5XG4gIH1dO1xuICB2YXIgY2xvc2VNYXAgPSB7fTtcbiAgdmFyIHN0YXJ0ID0gMDtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICB2YXIgdGFnU3RhcnQgPSBzb3VyY2UuaW5kZXhPZignPCcsIHN0YXJ0KTtcblxuICAgICAgaWYgKHRhZ1N0YXJ0IDwgMCkge1xuICAgICAgICBpZiAoIXNvdXJjZS5zdWJzdHIoc3RhcnQpLm1hdGNoKC9eXFxzKiQvKSkge1xuICAgICAgICAgIHZhciBkb2MgPSBkb21CdWlsZGVyLmRvYztcbiAgICAgICAgICB2YXIgdGV4dCA9IGRvYy5jcmVhdGVUZXh0Tm9kZShzb3VyY2Uuc3Vic3RyKHN0YXJ0KSk7XG4gICAgICAgICAgZG9jLmFwcGVuZENoaWxkKHRleHQpO1xuICAgICAgICAgIGRvbUJ1aWxkZXIuY3VycmVudEVsZW1lbnQgPSB0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGFnU3RhcnQgPiBzdGFydCkge1xuICAgICAgICBhcHBlbmRUZXh0KHRhZ1N0YXJ0KTtcbiAgICAgIH1cblxuICAgICAgc3dpdGNoIChzb3VyY2UuY2hhckF0KHRhZ1N0YXJ0ICsgMSkpIHtcbiAgICAgICAgY2FzZSAnLyc6XG4gICAgICAgICAgdmFyIGVuZCA9IHNvdXJjZS5pbmRleE9mKCc+JywgdGFnU3RhcnQgKyAzKTtcbiAgICAgICAgICB2YXIgdGFnTmFtZSA9IHNvdXJjZS5zdWJzdHJpbmcodGFnU3RhcnQgKyAyLCBlbmQpO1xuICAgICAgICAgIHZhciBjb25maWcgPSBwYXJzZVN0YWNrLnBvcCgpO1xuXG4gICAgICAgICAgaWYgKGVuZCA8IDApIHtcbiAgICAgICAgICAgIHRhZ05hbWUgPSBzb3VyY2Uuc3Vic3RyaW5nKHRhZ1N0YXJ0ICsgMikucmVwbGFjZSgvW1xcczxdLiovLCAnJyk7XG4gICAgICAgICAgICBlcnJvckhhbmRsZXIuZXJyb3IoXCJlbmQgdGFnIG5hbWU6IFwiICsgdGFnTmFtZSArICcgaXMgbm90IGNvbXBsZXRlOicgKyBjb25maWcudGFnTmFtZSk7XG4gICAgICAgICAgICBlbmQgPSB0YWdTdGFydCArIDEgKyB0YWdOYW1lLmxlbmd0aDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRhZ05hbWUubWF0Y2goL1xcczwvKSkge1xuICAgICAgICAgICAgdGFnTmFtZSA9IHRhZ05hbWUucmVwbGFjZSgvW1xcczxdLiovLCAnJyk7XG4gICAgICAgICAgICBlcnJvckhhbmRsZXIuZXJyb3IoXCJlbmQgdGFnIG5hbWU6IFwiICsgdGFnTmFtZSArICcgbWF5YmUgbm90IGNvbXBsZXRlJyk7XG4gICAgICAgICAgICBlbmQgPSB0YWdTdGFydCArIDEgKyB0YWdOYW1lLmxlbmd0aDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgbG9jYWxOU01hcCA9IGNvbmZpZy5sb2NhbE5TTWFwO1xuICAgICAgICAgIHZhciBlbmRNYXRjaCA9IGNvbmZpZy50YWdOYW1lID09IHRhZ05hbWU7XG4gICAgICAgICAgdmFyIGVuZElnbm9yZUNhc2VNYWNoID0gZW5kTWF0Y2ggfHwgY29uZmlnLnRhZ05hbWUgJiYgY29uZmlnLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PSB0YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICBpZiAoZW5kSWdub3JlQ2FzZU1hY2gpIHtcbiAgICAgICAgICAgIGRvbUJ1aWxkZXIuZW5kRWxlbWVudChjb25maWcudXJpLCBjb25maWcubG9jYWxOYW1lLCB0YWdOYW1lKTtcblxuICAgICAgICAgICAgaWYgKGxvY2FsTlNNYXApIHtcbiAgICAgICAgICAgICAgZm9yICh2YXIgcHJlZml4IGluIGxvY2FsTlNNYXApIHtcbiAgICAgICAgICAgICAgICBkb21CdWlsZGVyLmVuZFByZWZpeE1hcHBpbmcocHJlZml4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWVuZE1hdGNoKSB7XG4gICAgICAgICAgICAgIGVycm9ySGFuZGxlci5mYXRhbEVycm9yKFwiZW5kIHRhZyBuYW1lOiBcIiArIHRhZ05hbWUgKyAnIGlzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBzdGFydCB0YWdOYW1lOicgKyBjb25maWcudGFnTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcnNlU3RhY2sucHVzaChjb25maWcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVuZCsrO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJz8nOlxuICAgICAgICAgIGxvY2F0b3IgJiYgcG9zaXRpb24odGFnU3RhcnQpO1xuICAgICAgICAgIGVuZCA9IHBhcnNlSW5zdHJ1Y3Rpb24oc291cmNlLCB0YWdTdGFydCwgZG9tQnVpbGRlcik7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnISc6XG4gICAgICAgICAgbG9jYXRvciAmJiBwb3NpdGlvbih0YWdTdGFydCk7XG4gICAgICAgICAgZW5kID0gcGFyc2VEQ0Moc291cmNlLCB0YWdTdGFydCwgZG9tQnVpbGRlciwgZXJyb3JIYW5kbGVyKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGxvY2F0b3IgJiYgcG9zaXRpb24odGFnU3RhcnQpO1xuICAgICAgICAgIHZhciBlbCA9IG5ldyBFbGVtZW50QXR0cmlidXRlcygpO1xuICAgICAgICAgIHZhciBjdXJyZW50TlNNYXAgPSBwYXJzZVN0YWNrW3BhcnNlU3RhY2subGVuZ3RoIC0gMV0uY3VycmVudE5TTWFwO1xuICAgICAgICAgIHZhciBlbmQgPSBwYXJzZUVsZW1lbnRTdGFydFBhcnQoc291cmNlLCB0YWdTdGFydCwgZWwsIGN1cnJlbnROU01hcCwgZW50aXR5UmVwbGFjZXIsIGVycm9ySGFuZGxlcik7XG4gICAgICAgICAgdmFyIGxlbiA9IGVsLmxlbmd0aDtcblxuICAgICAgICAgIGlmICghZWwuY2xvc2VkICYmIGZpeFNlbGZDbG9zZWQoc291cmNlLCBlbmQsIGVsLnRhZ05hbWUsIGNsb3NlTWFwKSkge1xuICAgICAgICAgICAgZWwuY2xvc2VkID0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKCFlbnRpdHlNYXAubmJzcCkge1xuICAgICAgICAgICAgICBlcnJvckhhbmRsZXIud2FybmluZygndW5jbG9zZWQgeG1sIGF0dHJpYnV0ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChsb2NhdG9yICYmIGxlbikge1xuICAgICAgICAgICAgdmFyIGxvY2F0b3IyID0gY29weUxvY2F0b3IobG9jYXRvciwge30pO1xuXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhciBhID0gZWxbaV07XG4gICAgICAgICAgICAgIHBvc2l0aW9uKGEub2Zmc2V0KTtcbiAgICAgICAgICAgICAgYS5sb2NhdG9yID0gY29weUxvY2F0b3IobG9jYXRvciwge30pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkb21CdWlsZGVyLmxvY2F0b3IgPSBsb2NhdG9yMjtcblxuICAgICAgICAgICAgaWYgKGFwcGVuZEVsZW1lbnQoZWwsIGRvbUJ1aWxkZXIsIGN1cnJlbnROU01hcCkpIHtcbiAgICAgICAgICAgICAgcGFyc2VTdGFjay5wdXNoKGVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZG9tQnVpbGRlci5sb2NhdG9yID0gbG9jYXRvcjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGFwcGVuZEVsZW1lbnQoZWwsIGRvbUJ1aWxkZXIsIGN1cnJlbnROU01hcCkpIHtcbiAgICAgICAgICAgICAgcGFyc2VTdGFjay5wdXNoKGVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZWwudXJpID09PSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcgJiYgIWVsLmNsb3NlZCkge1xuICAgICAgICAgICAgZW5kID0gcGFyc2VIdG1sU3BlY2lhbENvbnRlbnQoc291cmNlLCBlbmQsIGVsLnRhZ05hbWUsIGVudGl0eVJlcGxhY2VyLCBkb21CdWlsZGVyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW5kKys7XG4gICAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZXJyb3JIYW5kbGVyLmVycm9yKCdlbGVtZW50IHBhcnNlIGVycm9yOiAnICsgZSk7XG4gICAgICBlbmQgPSAtMTtcbiAgICB9XG5cbiAgICBpZiAoZW5kID4gc3RhcnQpIHtcbiAgICAgIHN0YXJ0ID0gZW5kO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBlbmRUZXh0KE1hdGgubWF4KHRhZ1N0YXJ0LCBzdGFydCkgKyAxKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29weUxvY2F0b3IoZiwgdCkge1xuICB0LmxpbmVOdW1iZXIgPSBmLmxpbmVOdW1iZXI7XG4gIHQuY29sdW1uTnVtYmVyID0gZi5jb2x1bW5OdW1iZXI7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBwYXJzZUVsZW1lbnRTdGFydFBhcnQoc291cmNlLCBzdGFydCwgZWwsIGN1cnJlbnROU01hcCwgZW50aXR5UmVwbGFjZXIsIGVycm9ySGFuZGxlcikge1xuICB2YXIgYXR0ck5hbWU7XG4gIHZhciB2YWx1ZTtcbiAgdmFyIHAgPSArK3N0YXJ0O1xuICB2YXIgcyA9IFNfVEFHO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIGMgPSBzb3VyY2UuY2hhckF0KHApO1xuXG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlICc9JzpcbiAgICAgICAgaWYgKHMgPT09IFNfQVRUUikge1xuICAgICAgICAgIGF0dHJOYW1lID0gc291cmNlLnNsaWNlKHN0YXJ0LCBwKTtcbiAgICAgICAgICBzID0gU19FUTtcbiAgICAgICAgfSBlbHNlIGlmIChzID09PSBTX0FUVFJfU1BBQ0UpIHtcbiAgICAgICAgICBzID0gU19FUTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F0dHJpYnV0ZSBlcXVhbCBtdXN0IGFmdGVyIGF0dHJOYW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnXFwnJzpcbiAgICAgIGNhc2UgJ1wiJzpcbiAgICAgICAgaWYgKHMgPT09IFNfRVEgfHwgcyA9PT0gU19BVFRSKSB7XG4gICAgICAgICAgICBpZiAocyA9PT0gU19BVFRSKSB7XG4gICAgICAgICAgICAgIGVycm9ySGFuZGxlci53YXJuaW5nKCdhdHRyaWJ1dGUgdmFsdWUgbXVzdCBhZnRlciBcIj1cIicpO1xuICAgICAgICAgICAgICBhdHRyTmFtZSA9IHNvdXJjZS5zbGljZShzdGFydCwgcCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0YXJ0ID0gcCArIDE7XG4gICAgICAgICAgICBwID0gc291cmNlLmluZGV4T2YoYywgc3RhcnQpO1xuXG4gICAgICAgICAgICBpZiAocCA+IDApIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBzb3VyY2Uuc2xpY2Uoc3RhcnQsIHApLnJlcGxhY2UoLyYjP1xcdys7L2csIGVudGl0eVJlcGxhY2VyKTtcbiAgICAgICAgICAgICAgZWwuYWRkKGF0dHJOYW1lLCB2YWx1ZSwgc3RhcnQgLSAxKTtcbiAgICAgICAgICAgICAgcyA9IFNfQVRUUl9FTkQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F0dHJpYnV0ZSB2YWx1ZSBubyBlbmQgXFwnJyArIGMgKyAnXFwnIG1hdGNoJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChzID09IFNfQVRUUl9OT1FVT1RfVkFMVUUpIHtcbiAgICAgICAgICB2YWx1ZSA9IHNvdXJjZS5zbGljZShzdGFydCwgcCkucmVwbGFjZSgvJiM/XFx3KzsvZywgZW50aXR5UmVwbGFjZXIpO1xuICAgICAgICAgIGVsLmFkZChhdHRyTmFtZSwgdmFsdWUsIHN0YXJ0KTtcbiAgICAgICAgICBlcnJvckhhbmRsZXIud2FybmluZygnYXR0cmlidXRlIFwiJyArIGF0dHJOYW1lICsgJ1wiIG1pc3NlZCBzdGFydCBxdW90KCcgKyBjICsgJykhIScpO1xuICAgICAgICAgIHN0YXJ0ID0gcCArIDE7XG4gICAgICAgICAgcyA9IFNfQVRUUl9FTkQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhdHRyaWJ1dGUgdmFsdWUgbXVzdCBhZnRlciBcIj1cIicpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJy8nOlxuICAgICAgICBzd2l0Y2ggKHMpIHtcbiAgICAgICAgICBjYXNlIFNfVEFHOlxuICAgICAgICAgICAgZWwuc2V0VGFnTmFtZShzb3VyY2Uuc2xpY2Uoc3RhcnQsIHApKTtcblxuICAgICAgICAgIGNhc2UgU19BVFRSX0VORDpcbiAgICAgICAgICBjYXNlIFNfVEFHX1NQQUNFOlxuICAgICAgICAgIGNhc2UgU19UQUdfQ0xPU0U6XG4gICAgICAgICAgICBzID0gU19UQUdfQ0xPU0U7XG4gICAgICAgICAgICBlbC5jbG9zZWQgPSB0cnVlO1xuXG4gICAgICAgICAgY2FzZSBTX0FUVFJfTk9RVU9UX1ZBTFVFOlxuICAgICAgICAgIGNhc2UgU19BVFRSOlxuICAgICAgICAgIGNhc2UgU19BVFRSX1NQQUNFOlxuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYXR0cmlidXRlIGludmFsaWQgY2xvc2UgY2hhcignLycpXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJyc6XG4gICAgICAgIGVycm9ySGFuZGxlci5lcnJvcigndW5leHBlY3RlZCBlbmQgb2YgaW5wdXQnKTtcblxuICAgICAgICBpZiAocyA9PSBTX1RBRykge1xuICAgICAgICAgIGVsLnNldFRhZ05hbWUoc291cmNlLnNsaWNlKHN0YXJ0LCBwKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcDtcblxuICAgICAgY2FzZSAnPic6XG4gICAgICAgIHN3aXRjaCAocykge1xuICAgICAgICAgIGNhc2UgU19UQUc6XG4gICAgICAgICAgICBlbC5zZXRUYWdOYW1lKHNvdXJjZS5zbGljZShzdGFydCwgcCkpO1xuXG4gICAgICAgICAgY2FzZSBTX0FUVFJfRU5EOlxuICAgICAgICAgIGNhc2UgU19UQUdfU1BBQ0U6XG4gICAgICAgICAgY2FzZSBTX1RBR19DTE9TRTpcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTX0FUVFJfTk9RVU9UX1ZBTFVFOlxuICAgICAgICAgIGNhc2UgU19BVFRSOlxuICAgICAgICAgICAgdmFsdWUgPSBzb3VyY2Uuc2xpY2Uoc3RhcnQsIHApO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUuc2xpY2UoLTEpID09PSAnLycpIHtcbiAgICAgICAgICAgICAgZWwuY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlIFNfQVRUUl9TUEFDRTpcbiAgICAgICAgICAgIGlmIChzID09PSBTX0FUVFJfU1BBQ0UpIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBhdHRyTmFtZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHMgPT0gU19BVFRSX05PUVVPVF9WQUxVRSkge1xuICAgICAgICAgICAgICBlcnJvckhhbmRsZXIud2FybmluZygnYXR0cmlidXRlIFwiJyArIHZhbHVlICsgJ1wiIG1pc3NlZCBxdW90KFwiKSEhJyk7XG4gICAgICAgICAgICAgIGVsLmFkZChhdHRyTmFtZSwgdmFsdWUucmVwbGFjZSgvJiM/XFx3KzsvZywgZW50aXR5UmVwbGFjZXIpLCBzdGFydCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoY3VycmVudE5TTWFwWycnXSAhPT0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnIHx8ICF2YWx1ZS5tYXRjaCgvXig/OmRpc2FibGVkfGNoZWNrZWR8c2VsZWN0ZWQpJC9pKSkge1xuICAgICAgICAgICAgICAgIGVycm9ySGFuZGxlci53YXJuaW5nKCdhdHRyaWJ1dGUgXCInICsgdmFsdWUgKyAnXCIgbWlzc2VkIHZhbHVlISEgXCInICsgdmFsdWUgKyAnXCIgaW5zdGVhZCEhJyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBlbC5hZGQodmFsdWUsIHZhbHVlLCBzdGFydCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTX0VROlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhdHRyaWJ1dGUgdmFsdWUgbWlzc2VkISEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwO1xuXG4gICAgICBjYXNlIFwiXFx4ODBcIjpcbiAgICAgICAgYyA9ICcgJztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGMgPD0gJyAnKSB7XG4gICAgICAgICAgc3dpdGNoIChzKSB7XG4gICAgICAgICAgICBjYXNlIFNfVEFHOlxuICAgICAgICAgICAgICBlbC5zZXRUYWdOYW1lKHNvdXJjZS5zbGljZShzdGFydCwgcCkpO1xuICAgICAgICAgICAgICBzID0gU19UQUdfU1BBQ0U7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNfQVRUUjpcbiAgICAgICAgICAgICAgYXR0ck5hbWUgPSBzb3VyY2Uuc2xpY2Uoc3RhcnQsIHApO1xuICAgICAgICAgICAgICBzID0gU19BVFRSX1NQQUNFO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTX0FUVFJfTk9RVU9UX1ZBTFVFOlxuICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBzb3VyY2Uuc2xpY2Uoc3RhcnQsIHApLnJlcGxhY2UoLyYjP1xcdys7L2csIGVudGl0eVJlcGxhY2VyKTtcbiAgICAgICAgICAgICAgZXJyb3JIYW5kbGVyLndhcm5pbmcoJ2F0dHJpYnV0ZSBcIicgKyB2YWx1ZSArICdcIiBtaXNzZWQgcXVvdChcIikhIScpO1xuICAgICAgICAgICAgICBlbC5hZGQoYXR0ck5hbWUsIHZhbHVlLCBzdGFydCk7XG5cbiAgICAgICAgICAgIGNhc2UgU19BVFRSX0VORDpcbiAgICAgICAgICAgICAgcyA9IFNfVEFHX1NQQUNFO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3dpdGNoIChzKSB7XG4gICAgICAgICAgICBjYXNlIFNfQVRUUl9TUEFDRTpcbiAgICAgICAgICAgICAgdmFyIHRhZ05hbWUgPSBlbC50YWdOYW1lO1xuXG4gICAgICAgICAgICAgIGlmIChjdXJyZW50TlNNYXBbJyddICE9PSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcgfHwgIWF0dHJOYW1lLm1hdGNoKC9eKD86ZGlzYWJsZWR8Y2hlY2tlZHxzZWxlY3RlZCkkL2kpKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JIYW5kbGVyLndhcm5pbmcoJ2F0dHJpYnV0ZSBcIicgKyBhdHRyTmFtZSArICdcIiBtaXNzZWQgdmFsdWUhISBcIicgKyBhdHRyTmFtZSArICdcIiBpbnN0ZWFkMiEhJyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBlbC5hZGQoYXR0ck5hbWUsIGF0dHJOYW1lLCBzdGFydCk7XG4gICAgICAgICAgICAgIHN0YXJ0ID0gcDtcbiAgICAgICAgICAgICAgcyA9IFNfQVRUUjtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU19BVFRSX0VORDpcbiAgICAgICAgICAgICAgZXJyb3JIYW5kbGVyLndhcm5pbmcoJ2F0dHJpYnV0ZSBzcGFjZSBpcyByZXF1aXJlZFwiJyArIGF0dHJOYW1lICsgJ1wiISEnKTtcblxuICAgICAgICAgICAgY2FzZSBTX1RBR19TUEFDRTpcbiAgICAgICAgICAgICAgcyA9IFNfQVRUUjtcbiAgICAgICAgICAgICAgc3RhcnQgPSBwO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTX0VROlxuICAgICAgICAgICAgICBzID0gU19BVFRSX05PUVVPVF9WQUxVRTtcbiAgICAgICAgICAgICAgc3RhcnQgPSBwO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTX1RBR19DTE9TRTpcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZWxlbWVudHMgY2xvc2VkIGNoYXJhY3RlciAnLycgYW5kICc+JyBtdXN0IGJlIGNvbm5lY3RlZCB0b1wiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHArKztcbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBlbmRFbGVtZW50KGVsLCBkb21CdWlsZGVyLCBjdXJyZW50TlNNYXApIHtcbiAgdmFyIHRhZ05hbWUgPSBlbC50YWdOYW1lO1xuICB2YXIgbG9jYWxOU01hcCA9IG51bGw7XG4gIHZhciBpID0gZWwubGVuZ3RoO1xuXG4gIHdoaWxlIChpLS0pIHtcbiAgICB2YXIgYSA9IGVsW2ldO1xuICAgIHZhciBxTmFtZSA9IGEucU5hbWU7XG4gICAgdmFyIHZhbHVlID0gYS52YWx1ZTtcbiAgICB2YXIgbnNwID0gcU5hbWUuaW5kZXhPZignOicpO1xuXG4gICAgaWYgKG5zcCA+IDApIHtcbiAgICAgIHZhciBwcmVmaXggPSBhLnByZWZpeCA9IHFOYW1lLnNsaWNlKDAsIG5zcCk7XG4gICAgICB2YXIgbG9jYWxOYW1lID0gcU5hbWUuc2xpY2UobnNwICsgMSk7XG4gICAgICB2YXIgbnNQcmVmaXggPSBwcmVmaXggPT09ICd4bWxucycgJiYgbG9jYWxOYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbE5hbWUgPSBxTmFtZTtcbiAgICAgIHByZWZpeCA9IG51bGw7XG4gICAgICBuc1ByZWZpeCA9IHFOYW1lID09PSAneG1sbnMnICYmICcnO1xuICAgIH1cblxuICAgIGEubG9jYWxOYW1lID0gbG9jYWxOYW1lO1xuXG4gICAgaWYgKG5zUHJlZml4ICE9PSBmYWxzZSkge1xuICAgICAgaWYgKGxvY2FsTlNNYXAgPT0gbnVsbCkge1xuICAgICAgICBsb2NhbE5TTWFwID0ge307XG5cbiAgICAgICAgX2NvcHkoY3VycmVudE5TTWFwLCBjdXJyZW50TlNNYXAgPSB7fSk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnROU01hcFtuc1ByZWZpeF0gPSBsb2NhbE5TTWFwW25zUHJlZml4XSA9IHZhbHVlO1xuICAgICAgYS51cmkgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8nO1xuICAgICAgZG9tQnVpbGRlci5zdGFydFByZWZpeE1hcHBpbmcobnNQcmVmaXgsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB2YXIgaSA9IGVsLmxlbmd0aDtcblxuICB3aGlsZSAoaS0tKSB7XG4gICAgYSA9IGVsW2ldO1xuICAgIHZhciBwcmVmaXggPSBhLnByZWZpeDtcblxuICAgIGlmIChwcmVmaXgpIHtcbiAgICAgIGlmIChwcmVmaXggPT09ICd4bWwnKSB7XG4gICAgICAgIGEudXJpID0gJ2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSc7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcmVmaXggIT09ICd4bWxucycpIHtcbiAgICAgICAgYS51cmkgPSBjdXJyZW50TlNNYXBbcHJlZml4IHx8ICcnXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgbnNwID0gdGFnTmFtZS5pbmRleE9mKCc6Jyk7XG5cbiAgaWYgKG5zcCA+IDApIHtcbiAgICBwcmVmaXggPSBlbC5wcmVmaXggPSB0YWdOYW1lLnNsaWNlKDAsIG5zcCk7XG4gICAgbG9jYWxOYW1lID0gZWwubG9jYWxOYW1lID0gdGFnTmFtZS5zbGljZShuc3AgKyAxKTtcbiAgfSBlbHNlIHtcbiAgICBwcmVmaXggPSBudWxsO1xuICAgIGxvY2FsTmFtZSA9IGVsLmxvY2FsTmFtZSA9IHRhZ05hbWU7XG4gIH1cblxuICB2YXIgbnMgPSBlbC51cmkgPSBjdXJyZW50TlNNYXBbcHJlZml4IHx8ICcnXTtcbiAgZG9tQnVpbGRlci5zdGFydEVsZW1lbnQobnMsIGxvY2FsTmFtZSwgdGFnTmFtZSwgZWwpO1xuXG4gIGlmIChlbC5jbG9zZWQpIHtcbiAgICBkb21CdWlsZGVyLmVuZEVsZW1lbnQobnMsIGxvY2FsTmFtZSwgdGFnTmFtZSk7XG5cbiAgICBpZiAobG9jYWxOU01hcCkge1xuICAgICAgZm9yIChwcmVmaXggaW4gbG9jYWxOU01hcCkge1xuICAgICAgICBkb21CdWlsZGVyLmVuZFByZWZpeE1hcHBpbmcocHJlZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZWwuY3VycmVudE5TTWFwID0gY3VycmVudE5TTWFwO1xuICAgIGVsLmxvY2FsTlNNYXAgPSBsb2NhbE5TTWFwO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlSHRtbFNwZWNpYWxDb250ZW50KHNvdXJjZSwgZWxTdGFydEVuZCwgdGFnTmFtZSwgZW50aXR5UmVwbGFjZXIsIGRvbUJ1aWxkZXIpIHtcbiAgaWYgKC9eKD86c2NyaXB0fHRleHRhcmVhKSQvaS50ZXN0KHRhZ05hbWUpKSB7XG4gICAgdmFyIGVsRW5kU3RhcnQgPSBzb3VyY2UuaW5kZXhPZignPC8nICsgdGFnTmFtZSArICc+JywgZWxTdGFydEVuZCk7XG4gICAgdmFyIHRleHQgPSBzb3VyY2Uuc3Vic3RyaW5nKGVsU3RhcnRFbmQgKyAxLCBlbEVuZFN0YXJ0KTtcblxuICAgIGlmICgvWyY8XS8udGVzdCh0ZXh0KSkge1xuICAgICAgaWYgKC9ec2NyaXB0JC9pLnRlc3QodGFnTmFtZSkpIHtcbiAgICAgICAgZG9tQnVpbGRlci5jaGFyYWN0ZXJzKHRleHQsIDAsIHRleHQubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGVsRW5kU3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLyYjP1xcdys7L2csIGVudGl0eVJlcGxhY2VyKTtcbiAgICAgIGRvbUJ1aWxkZXIuY2hhcmFjdGVycyh0ZXh0LCAwLCB0ZXh0Lmxlbmd0aCk7XG4gICAgICByZXR1cm4gZWxFbmRTdGFydDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxTdGFydEVuZCArIDE7XG59XG5cbmZ1bmN0aW9uIGZpeFNlbGZDbG9zZWQoc291cmNlLCBlbFN0YXJ0RW5kLCB0YWdOYW1lLCBjbG9zZU1hcCkge1xuICB2YXIgcG9zID0gY2xvc2VNYXBbdGFnTmFtZV07XG5cbiAgaWYgKHBvcyA9PSBudWxsKSB7XG4gICAgcG9zID0gc291cmNlLmxhc3RJbmRleE9mKCc8LycgKyB0YWdOYW1lICsgJz4nKTtcblxuICAgIGlmIChwb3MgPCBlbFN0YXJ0RW5kKSB7XG4gICAgICBwb3MgPSBzb3VyY2UubGFzdEluZGV4T2YoJzwvJyArIHRhZ05hbWUpO1xuICAgIH1cblxuICAgIGNsb3NlTWFwW3RhZ05hbWVdID0gcG9zO1xuICB9XG5cbiAgcmV0dXJuIHBvcyA8IGVsU3RhcnRFbmQ7XG59XG5cbmZ1bmN0aW9uIF9jb3B5KHNvdXJjZSwgdGFyZ2V0KSB7XG4gIGZvciAodmFyIG4gaW4gc291cmNlKSB7XG4gICAgdGFyZ2V0W25dID0gc291cmNlW25dO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnNlRENDKHNvdXJjZSwgc3RhcnQsIGRvbUJ1aWxkZXIsIGVycm9ySGFuZGxlcikge1xuICB2YXIgbmV4dCA9IHNvdXJjZS5jaGFyQXQoc3RhcnQgKyAyKTtcblxuICBzd2l0Y2ggKG5leHQpIHtcbiAgICBjYXNlICctJzpcbiAgICAgIGlmIChzb3VyY2UuY2hhckF0KHN0YXJ0ICsgMykgPT09ICctJykge1xuICAgICAgICB2YXIgZW5kID0gc291cmNlLmluZGV4T2YoJy0tPicsIHN0YXJ0ICsgNCk7XG5cbiAgICAgICAgaWYgKGVuZCA+IHN0YXJ0KSB7XG4gICAgICAgICAgZG9tQnVpbGRlci5jb21tZW50KHNvdXJjZSwgc3RhcnQgKyA0LCBlbmQgLSBzdGFydCAtIDQpO1xuICAgICAgICAgIHJldHVybiBlbmQgKyAzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9ySGFuZGxlci5lcnJvcihcIlVuY2xvc2VkIGNvbW1lbnRcIik7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKHNvdXJjZS5zdWJzdHIoc3RhcnQgKyAzLCA2KSA9PSAnQ0RBVEFbJykge1xuICAgICAgICB2YXIgZW5kID0gc291cmNlLmluZGV4T2YoJ11dPicsIHN0YXJ0ICsgOSk7XG4gICAgICAgIGRvbUJ1aWxkZXIuc3RhcnRDREFUQSgpO1xuICAgICAgICBkb21CdWlsZGVyLmNoYXJhY3RlcnMoc291cmNlLCBzdGFydCArIDksIGVuZCAtIHN0YXJ0IC0gOSk7XG4gICAgICAgIGRvbUJ1aWxkZXIuZW5kQ0RBVEEoKTtcbiAgICAgICAgcmV0dXJuIGVuZCArIDM7XG4gICAgICB9XG5cbiAgICAgIHZhciBtYXRjaHMgPSBzcGxpdChzb3VyY2UsIHN0YXJ0KTtcbiAgICAgIHZhciBsZW4gPSBtYXRjaHMubGVuZ3RoO1xuXG4gICAgICBpZiAobGVuID4gMSAmJiAvIWRvY3R5cGUvaS50ZXN0KG1hdGNoc1swXVswXSkpIHtcbiAgICAgICAgdmFyIG5hbWUgPSBtYXRjaHNbMV1bMF07XG4gICAgICAgIHZhciBwdWJpZCA9IGxlbiA+IDMgJiYgL15wdWJsaWMkL2kudGVzdChtYXRjaHNbMl1bMF0pICYmIG1hdGNoc1szXVswXTtcbiAgICAgICAgdmFyIHN5c2lkID0gbGVuID4gNCAmJiBtYXRjaHNbNF1bMF07XG4gICAgICAgIHZhciBsYXN0TWF0Y2ggPSBtYXRjaHNbbGVuIC0gMV07XG4gICAgICAgIGRvbUJ1aWxkZXIuc3RhcnREVEQobmFtZSwgcHViaWQgJiYgcHViaWQucmVwbGFjZSgvXihbJ1wiXSkoLio/KVxcMSQvLCAnJDInKSwgc3lzaWQgJiYgc3lzaWQucmVwbGFjZSgvXihbJ1wiXSkoLio/KVxcMSQvLCAnJDInKSk7XG4gICAgICAgIGRvbUJ1aWxkZXIuZW5kRFREKCk7XG4gICAgICAgIHJldHVybiBsYXN0TWF0Y2guaW5kZXggKyBsYXN0TWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgfVxuXG4gIH1cblxuICByZXR1cm4gLTE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW5zdHJ1Y3Rpb24oc291cmNlLCBzdGFydCwgZG9tQnVpbGRlcikge1xuICB2YXIgZW5kID0gc291cmNlLmluZGV4T2YoJz8+Jywgc3RhcnQpO1xuXG4gIGlmIChlbmQpIHtcbiAgICB2YXIgbWF0Y2ggPSBzb3VyY2Uuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpLm1hdGNoKC9ePFxcPyhcXFMqKVxccyooW1xcc1xcU10qPylcXHMqJC8pO1xuXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICB2YXIgbGVuID0gbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgZG9tQnVpbGRlci5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24obWF0Y2hbMV0sIG1hdGNoWzJdKTtcbiAgICAgIHJldHVybiBlbmQgKyAyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufVxuXG5mdW5jdGlvbiBFbGVtZW50QXR0cmlidXRlcyhzb3VyY2UpIHt9XG5cbkVsZW1lbnRBdHRyaWJ1dGVzLnByb3RvdHlwZSA9IHtcbiAgc2V0VGFnTmFtZTogZnVuY3Rpb24gc2V0VGFnTmFtZSh0YWdOYW1lKSB7XG4gICAgaWYgKCF0YWdOYW1lUGF0dGVybi50ZXN0KHRhZ05hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgdGFnTmFtZTonICsgdGFnTmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy50YWdOYW1lID0gdGFnTmFtZTtcbiAgfSxcbiAgYWRkOiBmdW5jdGlvbiBhZGQocU5hbWUsIHZhbHVlLCBvZmZzZXQpIHtcbiAgICBpZiAoIXRhZ05hbWVQYXR0ZXJuLnRlc3QocU5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYXR0cmlidXRlOicgKyBxTmFtZSk7XG4gICAgfVxuXG4gICAgdGhpc1t0aGlzLmxlbmd0aCsrXSA9IHtcbiAgICAgIHFOYW1lOiBxTmFtZSxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIG9mZnNldDogb2Zmc2V0XG4gICAgfTtcbiAgfSxcbiAgbGVuZ3RoOiAwLFxuICBnZXRMb2NhbE5hbWU6IGZ1bmN0aW9uIGdldExvY2FsTmFtZShpKSB7XG4gICAgcmV0dXJuIHRoaXNbaV0ubG9jYWxOYW1lO1xuICB9LFxuICBnZXRMb2NhdG9yOiBmdW5jdGlvbiBnZXRMb2NhdG9yKGkpIHtcbiAgICByZXR1cm4gdGhpc1tpXS5sb2NhdG9yO1xuICB9LFxuICBnZXRRTmFtZTogZnVuY3Rpb24gZ2V0UU5hbWUoaSkge1xuICAgIHJldHVybiB0aGlzW2ldLnFOYW1lO1xuICB9LFxuICBnZXRVUkk6IGZ1bmN0aW9uIGdldFVSSShpKSB7XG4gICAgcmV0dXJuIHRoaXNbaV0udXJpO1xuICB9LFxuICBnZXRWYWx1ZTogZnVuY3Rpb24gZ2V0VmFsdWUoaSkge1xuICAgIHJldHVybiB0aGlzW2ldLnZhbHVlO1xuICB9XG59O1xuXG5mdW5jdGlvbiBzcGxpdChzb3VyY2UsIHN0YXJ0KSB7XG4gIHZhciBtYXRjaDtcbiAgdmFyIGJ1ZiA9IFtdO1xuICB2YXIgcmVnID0gLydbXiddKyd8XCJbXlwiXStcInxbXlxcczw+XFwvPV0rPT98KFxcLz9cXHMqPnw8KS9nO1xuICByZWcubGFzdEluZGV4ID0gc3RhcnQ7XG4gIHJlZy5leGVjKHNvdXJjZSk7XG5cbiAgd2hpbGUgKG1hdGNoID0gcmVnLmV4ZWMoc291cmNlKSkge1xuICAgIGJ1Zi5wdXNoKG1hdGNoKTtcbiAgICBpZiAobWF0Y2hbMV0pIHJldHVybiBidWY7XG4gIH1cbn1cblxuZXhwb3J0cy5YTUxSZWFkZXIgPSBYTUxSZWFkZXI7XG5cbn0se31dfSx7fSxbNTRdKTtcbiJdLCJmaWxlIjoid2ViLWFkYXB0ZXIuanMifQ== diff --git a/platforms/runtime/common/web-adapter.min.js b/platforms/runtime/common/web-adapter.min.js deleted file mode 100644 index 443a8ad41d3..00000000000 --- a/platforms/runtime/common/web-adapter.min.js +++ /dev/null @@ -1 +0,0 @@ -!function r(o,i,u){function a(e,t){if(!i[e]){if(!o[e]){var n="function"==typeof require&&require;if(!t&&n)return n(e,!0);if(c)return c(e,!0);throw(n=new Error("Cannot find module '"+e+"'")).code="MODULE_NOT_FOUND",n}n=i[e]={exports:{}},o[e][0].call(n.exports,function(t){return a(o[e][1][t]||t)},n,n.exports,r,o,i,u)}return i[e].exports}for(var c="function"==typeof require&&require,t=0;t>8-o%1*8)){if(255<(n=r.charCodeAt(o+=.75)))throw new a("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");e=e<<8|n}return u}),n.atob||(n.atob=function(t){var e=String(t).replace(/[=]+$/,"");if(e.length%4==1)throw new a("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,u="";r=e.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)&&(u+=String.fromCharCode(255&n>>(-2*o&6))))r=c.indexOf(r);return u})},{}],2:[function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}function a(t,e,n,r,o,i){return s((i=s(s(e,t),s(r,i)))<<(o=o)|i>>>32-o,n)}function p(t,e,n,r,o,i,u){return a(e&n|~e&r,t,e,o,i,u)}function d(t,e,n,r,o,i,u){return a(e&r|n&~r,t,e,o,i,u)}function y(t,e,n,r,o,i,u){return a(e^n^r,t,e,o,i,u)}function h(t,e,n,r,o,i,u){return a(n^(e|~r),t,e,o,i,u)}function u(t,e){t[e>>5]|=128<>>9<<4)]=e;for(var n,r,o,i,u=1732584193,a=-271733879,c=-1732584194,l=271733878,f=0;f>5]>>>r%32&255);return e}function l(t){var e=[];for(e[(t.length>>2)-1]=void 0,r=0;r>5]|=(255&t.charCodeAt(r/8))<>>4&15)+"0123456789abcdef".charAt(15&e);return n}function i(t){return unescape(encodeURIComponent(t))}function f(t){return c(u(l(t=i(t)),8*t.length))}function m(t,e){return function(t,e){var n,r=l(t),o=[],i=[];for(o[15]=i[15]=void 0,16=e+n||e?new java.lang.String(t,e,n)+"":t}function p(t,e){(t.currentElement||t.doc).appendChild(e)}r.prototype.parseFromString=function(t,e){var n=this.options,r=new y,o=n.domBuilder||new l,i=n.errorHandler,u=n.locator,a=n.xmlns||{},c=/\/x?html?$/.test(e),e=c?d.entityMap:{lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};return u&&o.setDocumentLocator(u),r.errorHandler=function(r,t,o){if(!r){if(t instanceof l)return t;r=t}var i={},u=r instanceof Function;function e(e){var n=r[e];!n&&u&&(n=2==r.length?function(t){r(e,t)}:r),i[e]=n?function(t){n("[xmldom "+e+"]\t"+t+s(o))}:function(){}}return o=o||{},e("warning"),e("error"),e("fatalError"),i}(i,o,u),r.domBuilder=n.domBuilder||o,c&&(a[""]="http://www.w3.org/1999/xhtml"),a.xml=a.xml||"http://www.w3.org/XML/1998/namespace",t?r.parse(t,a,e):r.errorHandler.error("invalid doc source"),o.doc},l.prototype={startDocument:function(){this.doc=(new i).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(t,e,n,r){var o=this.doc,i=o.createElementNS(t,n||e),u=r.length;p(this,i),this.currentElement=i,this.locator&&f(this.locator,i);for(var a=0;a"==t&&">")||"&"==t&&"&"||'"'==t&&"""||"&#"+t.charCodeAt()+";"}function D(t,e){if(e(t))return 1;if(t=t.firstChild)do{if(D(t,e))return 1}while(t=t.nextSibling)}function M(){}function A(t,e,n){t&&t._inc++,"http://www.w3.org/2000/xmlns/"==n.namespaceURI&&delete e._nsMap[n.prefix?n.localName:""]}function C(t,e,n){if(t&&t._inc){t._inc++;var r=e.childNodes;if(n)r[r.length++]=n;else{for(var o=e.firstChild,i=0;o;)o=(r[i++]=o).nextSibling;r.length=i}}}function L(t,e){var n=e.previousSibling,r=e.nextSibling;return n?n.nextSibling=r:t.firstChild=r,r?r.previousSibling=n:t.lastChild=n,C(t.ownerDocument,t),e}function I(t,e,n){var r=e.parentNode;if(r&&r.removeChild(e),e.nodeType===T){var o=e.firstChild;if(null==o)return e;var i=e.lastChild}else o=i=e;r=n?n.previousSibling:t.lastChild;for(o.previousSibling=r,i.nextSibling=n,r?r.nextSibling=o:t.firstChild=o,null==n?t.lastChild=i:n.previousSibling=i;o.parentNode=t,o!==i&&(o=o.nextSibling););return C(t.ownerDocument||t,t),e.nodeType==T&&(e.firstChild=e.lastChild=null),e}function H(){this._nsMap={}}function F(){}function U(){}function B(){}function V(){}function W(){}function q(){}function z(){}function $(){}function X(){}function Y(){}function G(){}function Z(){}function K(t,e){var n,r=[],o=9==this.nodeType&&this.documentElement||this,i=o.prefix,u=o.namespaceURI;return J(this,r,t,e,n=u&&null==i&&null==(i=o.lookupPrefix(u))?[{namespace:u,prefix:null}]:n),r.join("")}function Q(t,e,n){var r=t.prefix||"",o=t.namespaceURI;if((r||o)&&("xml"!==r||"http://www.w3.org/XML/1998/namespace"!==o)&&"http://www.w3.org/2000/xmlns/"!=o){for(var i=n.length;i--;){var u=n[i];if(u.prefix==r)return u.namespace!=o}return 1}}function J(t,e,n,r,o){if(r){if(!(t=r(t)))return;if("string"==typeof t)return void e.push(t)}switch(t.nodeType){case m:o=o||[];var i=t.attributes,u=i.length,a=t.firstChild,c=t.tagName;n=h===t.namespaceURI||n,e.push("<",c);for(var l=0;l"),n&&/^script$/i.test(c))for(;a;)a.data?e.push(a.data):J(a,e,n,r,o),a=a.nextSibling;else for(;a;)J(a,e,n,r,o),a=a.nextSibling;e.push("")}else e.push("/>");return;case E:case T:for(a=t.firstChild;a;)J(a,e,n,r,o),a=a.nextSibling;return;case b:return e.push(" ",t.name,'="',t.value.replace(/[<&"]/g,x),'"');case v:return e.push(t.data.replace(/[<&]/g,x));case g:return e.push("");case O:return e.push("\x3c!--",t.data,"--\x3e");case S:var y=t.publicId,c=t.systemId;return e.push("')):c&&"."!=c?e.push(' SYSTEM "',c,'">'):((c=t.internalSubset)&&e.push(" [",c,"]"),e.push(">")));case _:return e.push("");case w:return e.push("&",t.nodeName,";");default:e.push("??",t.nodeName)}}function tt(t,e,n){t[e]=n}l.prototype=Error.prototype,o(a,l),d.prototype={length:0,item:function(t){return this[t]||null},toString:function(t,e){for(var n=[],r=0;r",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}},{}],58:[function(t,e,n){"use strict";var r=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,o=new RegExp("[\\-\\.0-9"+r.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),i=new RegExp("^"+r.source+o.source+"*(?::"+r.source+o.source+"*)?$"),N=0,P=1,j=2,x=3,D=4,M=5,A=6,C=7;function u(){}function L(t,e){return e.lineNumber=t.lineNumber,e.columnNumber=t.columnNumber,e}function I(t,e,n){for(var r=t.tagName,o=null,i=t.length;i--;){var u=t[i],a=u.qName,c=u.value,a=0<(f=a.indexOf(":"))?(l=u.prefix=a.slice(0,f),s=a.slice(f+1),"xmlns"===l&&s):(l=null,"xmlns"===(s=a)&&"");u.localName=s,!1!==a&&(null==o&&(o={},d(n,n={})),n[a]=o[a]=c,u.uri="http://www.w3.org/2000/xmlns/",e.startPrefixMapping(a,c))}for(var l,i=t.length;i--;)(l=(u=t[i]).prefix)&&("xml"===l&&(u.uri="http://www.w3.org/XML/1998/namespace"),"xmlns"!==l&&(u.uri=n[l||""]));var f,s=0<(f=r.indexOf(":"))?(l=t.prefix=r.slice(0,f),t.localName=r.slice(f+1)):(l=null,t.localName=r),p=t.uri=n[l||""];if(e.startElement(p,s,r,t),!t.closed)return t.currentNSMap=n,t.localNSMap=o,1;if(e.endElement(p,s,r),o)for(l in o)e.endPrefixMapping(l)}function d(t,e){for(var n in t)e[n]=t[n]}function H(t){}u.prototype={parse:function(t,k,e){var n=this.domBuilder;n.startDocument(),d(k,k={}),function(n,r,o,i){function u(t){var e=t.slice(1,-1);return e in r?r[e]:"#"===e.charAt(0)?function(t){if(65535>10),n=56320+(1023&t);return String.fromCharCode(e,n)}return String.fromCharCode(t)}(parseInt(e.substr(1).replace("x","0x"))):(i.error("entity not found:"+t),t)}function t(t){var e;d",m+3),v=n.substring(m+2,b),g=e.pop();b<0?(v=n.substring(m+2).replace(/[\s<].*/,""),i.error("end tag name: "+v+" is not complete:"+g.tagName),b=m+1+v.length):v.match(/\s",e);if(r){e=t.substring(e,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(e){e[0].length;return n.processingInstruction(e[1],e[2]),r+2}return-1}return-1}(n,m,o);break;case"!":s&&a(m),b=function(t,e,n,r){{if("-"===t.charAt(e+2)){if("-"!==t.charAt(e+3))return-1;var o=t.indexOf("--\x3e",e+4);return e",e+9);return n.startCDATA(),n.characters(t,e+9,o-e-9),n.endCDATA(),o+3}var i=function(t,e){var n,r=[],o=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;o.lastIndex=e,o.exec(t);for(;n=o.exec(t);)if(r.push(n),n[1])return r}(t,e),r=i.length;if(1":switch(c){case N:n.setTagName(t.slice(e,a));case M:case A:case C:break;case D:case P:"/"===(f=t.slice(e,a)).slice(-1)&&(n.closed=!0,f=f.slice(0,-1));case j:c===j&&(f=u),c==D?(i.warning('attribute "'+f+'" missed quot(")!!'),n.add(u,f.replace(/&#?\w+;/g,o),e)):("http://www.w3.org/1999/xhtml"===r[""]&&f.match(/^(?:disabled|checked|selected)$/i)||i.warning('attribute "'+f+'" missed value!! "'+f+'" instead!!'),n.add(f,f,e));break;case x:throw new Error("attribute value missed!!")}return a;case"€":l=" ";default:if(l<=" ")switch(c){case N:n.setTagName(t.slice(e,a)),c=A;break;case P:u=t.slice(e,a),c=j;break;case D:var f=t.slice(e,a).replace(/&#?\w+;/g,o);i.warning('attribute "'+f+'" missed quot(")!!'),n.add(u,f,e);case M:c=A}else switch(c){case j:n.tagName;"http://www.w3.org/1999/xhtml"===r[""]&&u.match(/^(?:disabled|checked|selected)$/i)||i.warning('attribute "'+u+'" missed value!! "'+u+'" instead2!!'),n.add(u,u,e),e=a,c=P;break;case M:i.warning('attribute space is required"'+u+'"!!');case A:c=P,e=a;break;case x:c=D,e=a;break;case C:throw new Error("elements closed character '/' and '>' must be connected to")}}a++}}(n,m,E,v,u,i),S=E.length;if(!E.closed&&function(t,e,n,r){var o=r[n];null==o&&((o=t.lastIndexOf(""))",e),t=t.substring(e+1,i);if(/[&<]/.test(t))return/^script$/i.test(n)||(t=t.replace(/&#?\w+;/g,r)),o.characters(t,0,t.length),i}return e+1}(n,b,E.tagName,u,o)}}catch(t){i.error("element parse error: "+t),b=-1}d= 0) { - _copyObject(touch, _touches[index]); - } else { - var tmp = {}; - - _copyObject(touch, tmp); - - _touches.push(tmp); - } - }); - } else if (type === "touchmove") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _copyObject(element, _touches[index]); - } - }); - } else if (type === "touchend" || type === "touchcancel") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _touches.splice(index, 1); - } - }); - } - - var touches = [].concat(_touches); - var _changedTouches = []; - changedTouches.forEach(function (touch) { - var length = touches.length; - - for (var _index = 0; _index < length; ++_index) { - var _touch = touches[_index]; - - if (touch.identifier === _touch.identifier) { - _changedTouches.push(_touch); - - return; - } - } - - _changedTouches.push(touch); - }); - touchEvent.touches = touches; - touchEvent.targetTouches = touches; - touchEvent.changedTouches = _changedTouches; - - if (_hasDellWith) { - touches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - - if (type === "touchcancel" || type === "touchend") { - _changedTouches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - } - } - - var listenerArr = _listenerMap[type]; - var length = listenerArr.length; - - for (var _index2 = 0; _index2 < length; _index2++) { - listenerArr[_index2](touchEvent); - } - }; -}; - -if (_rt.onTouchStart) { - ral.onTouchStart = _rt.onTouchStart; - ral.offTouchStart = _rt.offTouchStart; -} else { - _jsb.onTouchStart = _touchEventHandlerFactory('touchstart'); - - _jsb.offTouchStart = function (callback) { - _removeListener("touchstart", callback); - }; - - ral.onTouchStart = _jsb.onTouchStart.bind(_jsb); - ral.offTouchStart = _jsb.offTouchStart.bind(_jsb); -} - -if (_rt.onTouchMove) { - ral.onTouchMove = _rt.onTouchMove; - ral.offTouchMove = _rt.offTouchMove; -} else { - _jsb.onTouchMove = _touchEventHandlerFactory('touchmove'); - - _jsb.offTouchMove = function (callback) { - _removeListener("touchmove", callback); - }; - - ral.onTouchMove = _jsb.onTouchMove.bind(_jsb); - ral.offTouchMove = _jsb.offTouchMove.bind(_jsb); -} - -if (_rt.onTouchCancel) { - ral.onTouchCancel = _rt.onTouchCancel; - ral.offTouchCancel = _rt.offTouchCancel; -} else { - _jsb.onTouchCancel = _touchEventHandlerFactory('touchcancel'); - - _jsb.offTouchCancel = function (callback) { - _removeListener("touchcancel", callback); - }; - - ral.onTouchCancel = _jsb.onTouchCancel.bind(_jsb); - ral.offTouchCancel = _jsb.offTouchCancel.bind(_jsb); -} - -if (_rt.onTouchEnd) { - ral.onTouchEnd = _rt.onTouchEnd; - ral.offTouchEnd = _rt.offTouchEnd; -} else { - _jsb.onTouchEnd = _touchEventHandlerFactory('touchend'); - - _jsb.offTouchEnd = function (callback) { - _removeListener("touchend", callback); - }; - - ral.onTouchEnd = _jsb.onTouchEnd.bind(_jsb); - ral.offTouchEnd = _jsb.offTouchEnd.bind(_jsb); -} - -},{}],5:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -var _listeners = []; -ral.device = ral.device || {}; - -if (_rt.offAccelerometerChange) { - ral.onAccelerometerChange = _rt.onAccelerometerChange.bind(_rt); - ral.offAccelerometerChange = _rt.offAccelerometerChange.bind(_rt); - ral.stopAccelerometer = _rt.stopAccelerometer.bind(_rt); - - var _startAccelerometer = _rt.startAccelerometer.bind(_rt); - - ral.startAccelerometer = function (obj) { - return _startAccelerometer(Object.assign({ - type: "accelerationIncludingGravity" - }, obj)); - }; -} else { - ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } - }; - - ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } - }; - - var _systemInfo = _rt.getSystemInfoSync(); - - var _isAndroid = _systemInfo.platform.toLowerCase() === "android"; - - jsb.device.dispatchDeviceMotionEvent = function (event) { - var acceleration = Object.assign({}, event._accelerationIncludingGravity); - - if (_isAndroid) { - acceleration.x /= -10; - acceleration.y /= -10; - acceleration.z /= -10; - } else { - acceleration.x /= 10; - acceleration.y /= 10; - acceleration.z /= 10; - } - - _listeners.forEach(function (listener) { - listener({ - x: acceleration.x, - y: acceleration.y, - z: acceleration.z - }); - }); - }; - - ral.stopAccelerometer = function () { - jsb.device.setMotionEnabled(false); - }; - - ral.startAccelerometer = function () { - jsb.device.setMotionEnabled(true); - }; -} - -},{"../../util":21}],6:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("getBatteryInfo", _rt, ral); - -_util["default"].exportTo("getBatteryInfoSync", _rt, ral); - -},{"../../util":21}],7:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("getFileSystemManager", _rt, ral); - -},{"../../util":21}],8:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./media/video"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/webgl"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":19,"../util":21,"./base/lifecycle":1,"./base/subpackage":2,"./base/system-info":3,"./base/touch-event":4,"./device/accelerometer":5,"./device/battery":6,"./file/file-system-manager":7,"./interface/keyboard":9,"./interface/window":10,"./media/audio":11,"./media/video":12,"./network/download":13,"./rendering/canvas":14,"./rendering/font":15,"./rendering/frame":16,"./rendering/image":17,"./rendering/webgl":18}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("onKeyboardInput", _rt, ral); - -_util["default"].exportTo("onKeyboardConfirm", _rt, ral); - -_util["default"].exportTo("onKeyboardComplete", _rt, ral); - -_util["default"].exportTo("offKeyboardInput", _rt, ral); - -_util["default"].exportTo("offKeyboardConfirm", _rt, ral); - -_util["default"].exportTo("offKeyboardComplete", _rt, ral); - -_util["default"].exportTo("hideKeyboard", _rt, ral); - -_util["default"].exportTo("showKeyboard", _rt, ral); - -_util["default"].exportTo("updateKeyboard", _rt, ral); - -},{"../../util":21}],10:[function(require,module,exports){ -"use strict"; - -var _rt = loadRuntime(); - -var _onWindowResize = _rt.onWindowResize; - -ral.onWindowResize = function (callBack) { - _onWindowResize(function (size) { - callBack(size.width || size.windowWidth, size.height || size.windowHeight); - }); -}; - -},{}],11:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("AudioEngine", _rt, ral); - -_util["default"].exportTo("createInnerAudioContext", _rt, ral, function () { - if (_rt.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(_rt.AudioEngine); - }; - } -}); - -},{"../../inner-context":20,"../../util":21}],12:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("createVideo", _rt, ral); - -},{"../../util":21}],13:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("downloadFile", _rt, ral); - -},{"../../util":21}],14:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("createCanvas", _rt, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createCanvas = function () { - return document.createElement("canvas"); - }; - } - - _feature["default"].setFeature("ral.createCanvas", "spec", featureValue); -}); - -},{"../../feature":19,"../../util":21}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadFont", _rt, ral); - -},{"../../util":21}],16:[function(require,module,exports){ -"use strict"; - -var _rt = loadRuntime(); - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (_rt.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = _rt.setPreferredFramesPerSecond.bind(_rt); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadImageData", _rt, ral); - -_util["default"].exportTo("createImage", _rt, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createImage = function () { - return document.createElement("image"); - }; - } - - _feature["default"].setFeature("ral.createImage", "spec", featureValue); -}); - -},{"../../feature":19,"../../util":21}],18:[function(require,module,exports){ -"use strict"; - -if (window.__gl) { - var gl = window.__gl; - var _glTexImage2D = gl.texImage2D; - - gl.texImage2D = function (target, level, internalformat, width, height, border, format, type, pixels) { - var argc = arguments.length; - - if (argc === 6) { - var image = border; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = error; - gl.texImage2D_image(target, level, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = _error; - var context2D = image.getContext('2d'); - gl.texImage2D_canvas(target, level, internalformat, format, type, context2D); - } else if (image instanceof ImageData) { - var _error2 = console.error; - - console.error = function () {}; - - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, image.data); - - console.error = _error2; - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } else { - console.error("gl.texImage2D: invalid argument count!"); - } - }; - - var _glTexSubImage2D = gl.texSubImage2D; - - gl.texSubImage2D = function (target, level, xoffset, yoffset, width, height, format, type, pixels) { - var argc = arguments.length; - - if (argc === 7) { - var image = format; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = error; - gl.texSubImage2D_image(target, level, xoffset, yoffset, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error3 = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = _error3; - var context2D = image.getContext('2d'); - gl.texSubImage2D_canvas(target, level, xoffset, yoffset, format, type, context2D); - } else if (image instanceof ImageData) { - var _error4 = console.error; - - console.error = function () {}; - - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, image.data); - - console.error = _error4; - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } else { - console.error(new Error("gl.texImage2D: invalid argument count!").stack); - } - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; -var _features = {}; -var _default = { - setFeature: function setFeature(featureName, property, value) { - var feature = _features[featureName]; - - if (!feature) { - feature = _features[featureName] = {}; - } - - feature[property] = value; - }, - getFeatureProperty: function getFeatureProperty(featureName, property) { - var feature = _features[featureName]; - return feature ? feature[property] : undefined; - } -}; -exports["default"] = _default; - -},{}],20:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = _default; -var _CANPLAY_CALLBACK = "canplayCallbacks"; -var _ENDED_CALLBACK = "endedCallbacks"; -var _ERROR_CALLBACK = "errorCallbacks"; -var _PAUSE_CALLBACK = "pauseCallbacks"; -var _PLAY_CALLBACK = "playCallbacks"; -var _SEEKED_CALLBACK = "seekedCallbacks"; -var _SEEKING_CALLBACK = "seekingCallbacks"; -var _STOP_CALLBACK = "stopCallbacks"; -var _TIME_UPDATE_CALLBACK = "timeUpdateCallbacks"; -var _WAITING_CALLBACK = "waitingCallbacks"; -var _ERROR_CODE = { - ERROR_SYSTEM: 10001, - ERROR_NET: 10002, - ERROR_FILE: 10003, - ERROR_FORMAT: 10004, - ERROR_UNKNOWN: -1 -}; -var _STATE = { - ERROR: -1, - INITIALIZING: 0, - PLAYING: 1, - PAUSED: 2 -}; -var _audioEngine = undefined; - -var _weakMap = new WeakMap(); - -var _offCallback = function _offCallback(target, type, callback) { - var privateThis = _weakMap.get(target); - - if (typeof callback !== "function" || !privateThis) { - return -1; - } - - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - if (callback === callbacks[i]) { - callbacks.splice(i, 1); - return callback.length + 1; - } - } - - return 0; -}; - -var _onCallback = function _onCallback(target, type, callback) { - var privateThis = _weakMap.get(target); - - if (typeof callback !== "function" || !privateThis) { - return -1; - } - - var callbacks = privateThis[type]; - - if (!callbacks) { - callbacks = privateThis[type] = [callback]; - } else { - for (var i = 0, len = callbacks.length; i < len; ++i) { - if (callback === callbacks[i]) { - return 0; - } - } - - callbacks.push(callback); - } - - return callbacks.length; -}; - -var _dispatchCallback = function _dispatchCallback(target, type) { - var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],21:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}]},{},[8]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25TaG93XCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25IaWRlXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmU2hvd1wiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZkhpZGVcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRTdWJwYWNrYWdlXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJlbnZcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRTeXN0ZW1JbmZvXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1N5bmNcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfanNiID0gd2luZG93LmpzYjtcblxuaWYgKCFfanNiKSB7XG4gIF9qc2IgPSB7fTtcbn1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbnZhciBfdG91Y2hlcyA9IFtdO1xuXG52YXIgX2dldFRvdWNoSW5kZXggPSBmdW5jdGlvbiBfZ2V0VG91Y2hJbmRleCh0b3VjaCkge1xuICB2YXIgZWxlbWVudDtcblxuICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgX3RvdWNoZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgZWxlbWVudCA9IF90b3VjaGVzW2luZGV4XTtcblxuICAgIGlmICh0b3VjaC5pZGVudGlmaWVyID09PSBlbGVtZW50LmlkZW50aWZpZXIpIHtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gLTE7XG59O1xuXG52YXIgX2NvcHlPYmplY3QgPSBmdW5jdGlvbiBfY29weU9iamVjdChmcm9tT2JqLCB0b09iamVjdCkge1xuICBmb3IgKHZhciBrZXkgaW4gZnJvbU9iaikge1xuICAgIGlmIChmcm9tT2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIHRvT2JqZWN0W2tleV0gPSBmcm9tT2JqW2tleV07XG4gICAgfVxuICB9XG59O1xuXG52YXIgX2xpc3RlbmVyTWFwID0ge1xuICBcInRvdWNoc3RhcnRcIjogW10sXG4gIFwidG91Y2htb3ZlXCI6IFtdLFxuICBcInRvdWNoZW5kXCI6IFtdLFxuICBcInRvdWNoY2FuY2VsXCI6IFtdXG59O1xuXG5mdW5jdGlvbiBfYWRkTGlzdGVuZXIoa2V5LCB2YWx1ZSkge1xuICB2YXIgbGlzdGVuZXJBcnIgPSBfbGlzdGVuZXJNYXBba2V5XTtcblxuICBmb3IgKHZhciBpbmRleCA9IDAsIGxlbmd0aCA9IGxpc3RlbmVyQXJyLmxlbmd0aDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICBpZiAodmFsdWUgPT09IGxpc3RlbmVyQXJyW2luZGV4XSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGxpc3RlbmVyQXJyLnB1c2godmFsdWUpO1xufVxuXG5mdW5jdGlvbiBfcmVtb3ZlTGlzdGVuZXIoa2V5LCB2YWx1ZSkge1xuICB2YXIgbGlzdGVuZXJBcnIgPSBfbGlzdGVuZXJNYXBba2V5XSB8fCBbXTtcbiAgdmFyIGxlbmd0aCA9IGxpc3RlbmVyQXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7XG4gICAgaWYgKHZhbHVlID09PSBsaXN0ZW5lckFycltpbmRleF0pIHtcbiAgICAgIGxpc3RlbmVyQXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbnZhciBfaGFzRGVsbFdpdGggPSBmYWxzZTtcblxudmFyIF9zeXN0ZW1JbmZvID0gX3J0LmdldFN5c3RlbUluZm9TeW5jKCk7XG5cbmlmICh3aW5kb3cuaW5uZXJXaWR0aCAmJiBfc3lzdGVtSW5mby53aW5kb3dXaWR0aCAhPT0gd2luZG93LmlubmVyV2lkdGgpIHtcbiAgX2hhc0RlbGxXaXRoID0gdHJ1ZTtcbn1cblxudmFyIF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkgPSBmdW5jdGlvbiBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KHR5cGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjaGFuZ2VkVG91Y2hlcykge1xuICAgIGlmICh0eXBlb2YgY2hhbmdlZFRvdWNoZXMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgX2FkZExpc3RlbmVyKHR5cGUsIGNoYW5nZWRUb3VjaGVzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB0b3VjaEV2ZW50ID0gbmV3IFRvdWNoRXZlbnQodHlwZSk7XG4gICAgdmFyIGluZGV4O1xuXG4gICAgaWYgKHR5cGUgPT09IFwidG91Y2hzdGFydFwiKSB7XG4gICAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KHRvdWNoKTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF9jb3B5T2JqZWN0KHRvdWNoLCBfdG91Y2hlc1tpbmRleF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB0bXAgPSB7fTtcblxuICAgICAgICAgIF9jb3B5T2JqZWN0KHRvdWNoLCB0bXApO1xuXG4gICAgICAgICAgX3RvdWNoZXMucHVzaCh0bXApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwidG91Y2htb3ZlXCIpIHtcbiAgICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgaW5kZXggPSBfZ2V0VG91Y2hJbmRleChlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF9jb3B5T2JqZWN0KGVsZW1lbnQsIF90b3VjaGVzW2luZGV4XSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJ0b3VjaGVuZFwiIHx8IHR5cGUgPT09IFwidG91Y2hjYW5jZWxcIikge1xuICAgICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX3RvdWNoZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIHRvdWNoZXMgPSBbXS5jb25jYXQoX3RvdWNoZXMpO1xuICAgIHZhciBfY2hhbmdlZFRvdWNoZXMgPSBbXTtcbiAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgdmFyIGxlbmd0aCA9IHRvdWNoZXMubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBfaW5kZXggPSAwOyBfaW5kZXggPCBsZW5ndGg7ICsrX2luZGV4KSB7XG4gICAgICAgIHZhciBfdG91Y2ggPSB0b3VjaGVzW19pbmRleF07XG5cbiAgICAgICAgaWYgKHRvdWNoLmlkZW50aWZpZXIgPT09IF90b3VjaC5pZGVudGlmaWVyKSB7XG4gICAgICAgICAgX2NoYW5nZWRUb3VjaGVzLnB1c2goX3RvdWNoKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBfY2hhbmdlZFRvdWNoZXMucHVzaCh0b3VjaCk7XG4gICAgfSk7XG4gICAgdG91Y2hFdmVudC50b3VjaGVzID0gdG91Y2hlcztcbiAgICB0b3VjaEV2ZW50LnRhcmdldFRvdWNoZXMgPSB0b3VjaGVzO1xuICAgIHRvdWNoRXZlbnQuY2hhbmdlZFRvdWNoZXMgPSBfY2hhbmdlZFRvdWNoZXM7XG5cbiAgICBpZiAoX2hhc0RlbGxXaXRoKSB7XG4gICAgICB0b3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICAgIHRvdWNoLmNsaWVudFggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLmNsaWVudFkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLnBhZ2VYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICB0b3VjaC5wYWdlWSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodHlwZSA9PT0gXCJ0b3VjaGNhbmNlbFwiIHx8IHR5cGUgPT09IFwidG91Y2hlbmRcIikge1xuICAgICAgICBfY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgICAgICB0b3VjaC5jbGllbnRYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIHRvdWNoLmNsaWVudFkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2gucGFnZVggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2gucGFnZVkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBsaXN0ZW5lckFyciA9IF9saXN0ZW5lck1hcFt0eXBlXTtcbiAgICB2YXIgbGVuZ3RoID0gbGlzdGVuZXJBcnIubGVuZ3RoO1xuXG4gICAgZm9yICh2YXIgX2luZGV4MiA9IDA7IF9pbmRleDIgPCBsZW5ndGg7IF9pbmRleDIrKykge1xuICAgICAgbGlzdGVuZXJBcnJbX2luZGV4Ml0odG91Y2hFdmVudCk7XG4gICAgfVxuICB9O1xufTtcblxuaWYgKF9ydC5vblRvdWNoU3RhcnQpIHtcbiAgcmFsLm9uVG91Y2hTdGFydCA9IF9ydC5vblRvdWNoU3RhcnQ7XG4gIHJhbC5vZmZUb3VjaFN0YXJ0ID0gX3J0Lm9mZlRvdWNoU3RhcnQ7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hTdGFydCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoc3RhcnQnKTtcblxuICBfanNiLm9mZlRvdWNoU3RhcnQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaFN0YXJ0ID0gX2pzYi5vblRvdWNoU3RhcnQuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoU3RhcnQgPSBfanNiLm9mZlRvdWNoU3RhcnQuYmluZChfanNiKTtcbn1cblxuaWYgKF9ydC5vblRvdWNoTW92ZSkge1xuICByYWwub25Ub3VjaE1vdmUgPSBfcnQub25Ub3VjaE1vdmU7XG4gIHJhbC5vZmZUb3VjaE1vdmUgPSBfcnQub2ZmVG91Y2hNb3ZlO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoTW92ZSA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNobW92ZScpO1xuXG4gIF9qc2Iub2ZmVG91Y2hNb3ZlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2htb3ZlXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaE1vdmUgPSBfanNiLm9uVG91Y2hNb3ZlLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaE1vdmUgPSBfanNiLm9mZlRvdWNoTW92ZS5iaW5kKF9qc2IpO1xufVxuXG5pZiAoX3J0Lm9uVG91Y2hDYW5jZWwpIHtcbiAgcmFsLm9uVG91Y2hDYW5jZWwgPSBfcnQub25Ub3VjaENhbmNlbDtcbiAgcmFsLm9mZlRvdWNoQ2FuY2VsID0gX3J0Lm9mZlRvdWNoQ2FuY2VsO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoQ2FuY2VsID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hjYW5jZWwnKTtcblxuICBfanNiLm9mZlRvdWNoQ2FuY2VsID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2hjYW5jZWxcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoQ2FuY2VsID0gX2pzYi5vblRvdWNoQ2FuY2VsLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaENhbmNlbCA9IF9qc2Iub2ZmVG91Y2hDYW5jZWwuYmluZChfanNiKTtcbn1cblxuaWYgKF9ydC5vblRvdWNoRW5kKSB7XG4gIHJhbC5vblRvdWNoRW5kID0gX3J0Lm9uVG91Y2hFbmQ7XG4gIHJhbC5vZmZUb3VjaEVuZCA9IF9ydC5vZmZUb3VjaEVuZDtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaEVuZCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoZW5kJyk7XG5cbiAgX2pzYi5vZmZUb3VjaEVuZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNoZW5kXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaEVuZCA9IF9qc2Iub25Ub3VjaEVuZC5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hFbmQgPSBfanNiLm9mZlRvdWNoRW5kLmJpbmQoX2pzYik7XG59XG5cbn0se31dLDU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbnZhciBfbGlzdGVuZXJzID0gW107XG5yYWwuZGV2aWNlID0gcmFsLmRldmljZSB8fCB7fTtcblxuaWYgKF9ydC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlKSB7XG4gIHJhbC5vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBfcnQub25BY2NlbGVyb21ldGVyQ2hhbmdlLmJpbmQoX3J0KTtcbiAgcmFsLm9mZkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBfcnQub2ZmQWNjZWxlcm9tZXRlckNoYW5nZS5iaW5kKF9ydCk7XG4gIHJhbC5zdG9wQWNjZWxlcm9tZXRlciA9IF9ydC5zdG9wQWNjZWxlcm9tZXRlci5iaW5kKF9ydCk7XG5cbiAgdmFyIF9zdGFydEFjY2VsZXJvbWV0ZXIgPSBfcnQuc3RhcnRBY2NlbGVyb21ldGVyLmJpbmQoX3J0KTtcblxuICByYWwuc3RhcnRBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiBfc3RhcnRBY2NlbGVyb21ldGVyKE9iamVjdC5hc3NpZ24oe1xuICAgICAgdHlwZTogXCJhY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5XCJcbiAgICB9LCBvYmopKTtcbiAgfTtcbn0gZWxzZSB7XG4gIHJhbC5vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgICBpZiAodHlwZW9mIGxpc3RlbmVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHZhciBsZW5ndGggPSBfbGlzdGVuZXJzLmxlbmd0aDtcblxuICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgICAgICBpZiAobGlzdGVuZXIgPT09IF9saXN0ZW5lcnNbaW5kZXhdKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIF9saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG4gICAgfVxuICB9O1xuXG4gIHJhbC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlID0gZnVuY3Rpb24gKGxpc3RlbmVyKSB7XG4gICAgdmFyIGxlbmd0aCA9IF9saXN0ZW5lcnMubGVuZ3RoO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgICAgaWYgKGxpc3RlbmVyID09PSBfbGlzdGVuZXJzW2luZGV4XSkge1xuICAgICAgICBfbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB2YXIgX3N5c3RlbUluZm8gPSBfcnQuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcblxuICB2YXIgX2lzQW5kcm9pZCA9IF9zeXN0ZW1JbmZvLnBsYXRmb3JtLnRvTG93ZXJDYXNlKCkgPT09IFwiYW5kcm9pZFwiO1xuXG4gIGpzYi5kZXZpY2UuZGlzcGF0Y2hEZXZpY2VNb3Rpb25FdmVudCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHZhciBhY2NlbGVyYXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBldmVudC5fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSk7XG5cbiAgICBpZiAoX2lzQW5kcm9pZCkge1xuICAgICAgYWNjZWxlcmF0aW9uLnggLz0gLTEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnkgLz0gLTEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnogLz0gLTEwO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NlbGVyYXRpb24ueCAvPSAxMDtcbiAgICAgIGFjY2VsZXJhdGlvbi55IC89IDEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnogLz0gMTA7XG4gICAgfVxuXG4gICAgX2xpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgbGlzdGVuZXIoe1xuICAgICAgICB4OiBhY2NlbGVyYXRpb24ueCxcbiAgICAgICAgeTogYWNjZWxlcmF0aW9uLnksXG4gICAgICAgIHo6IGFjY2VsZXJhdGlvbi56XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICByYWwuc3RvcEFjY2VsZXJvbWV0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAganNiLmRldmljZS5zZXRNb3Rpb25FbmFibGVkKGZhbHNlKTtcbiAgfTtcblxuICByYWwuc3RhcnRBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKCkge1xuICAgIGpzYi5kZXZpY2Uuc2V0TW90aW9uRW5hYmxlZCh0cnVlKTtcbiAgfTtcbn1cblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSw2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRCYXR0ZXJ5SW5mb1wiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldEJhdHRlcnlJbmZvU3luY1wiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0RmlsZVN5c3RlbU1hbmFnZXJcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL3V0aWxcIikpO1xuXG52YXIgX2ZlYXR1cmUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9mZWF0dXJlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmlmICh3aW5kb3cuanNiKSB7XG4gIHdpbmRvdy5yYWwgPSBPYmplY3QuYXNzaWduKHt9LCB3aW5kb3cuanNiKTtcbn0gZWxzZSB7XG4gIHdpbmRvdy5yYWwgPSB7fTtcbn1cblxucmVxdWlyZShcIi4vYmFzZS9saWZlY3ljbGVcIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2Uvc3VicGFja2FnZVwiKTtcblxucmVxdWlyZShcIi4vYmFzZS9zeXN0ZW0taW5mb1wiKTtcblxucmVxdWlyZShcIi4vYmFzZS90b3VjaC1ldmVudFwiKTtcblxucmVxdWlyZShcIi4vZGV2aWNlL2FjY2VsZXJvbWV0ZXJcIik7XG5cbnJlcXVpcmUoXCIuL2RldmljZS9iYXR0ZXJ5XCIpO1xuXG5yZXF1aXJlKFwiLi9maWxlL2ZpbGUtc3lzdGVtLW1hbmFnZXJcIik7XG5cbnJlcXVpcmUoXCIuL2ludGVyZmFjZS9rZXlib2FyZFwiKTtcblxucmVxdWlyZShcIi4vaW50ZXJmYWNlL3dpbmRvd1wiKTtcblxucmVxdWlyZShcIi4vbWVkaWEvYXVkaW9cIik7XG5cbnJlcXVpcmUoXCIuL21lZGlhL3ZpZGVvXCIpO1xuXG5yZXF1aXJlKFwiLi9uZXR3b3JrL2Rvd25sb2FkXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvY2FudmFzXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvd2ViZ2xcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9mb250XCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvZnJhbWVcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9pbWFnZVwiKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0RmVhdHVyZVByb3BlcnR5XCIsIF9mZWF0dXJlW1wiZGVmYXVsdFwiXSwgcmFsKTtcblxufSx7XCIuLi9mZWF0dXJlXCI6MTksXCIuLi91dGlsXCI6MjEsXCIuL2Jhc2UvbGlmZWN5Y2xlXCI6MSxcIi4vYmFzZS9zdWJwYWNrYWdlXCI6MixcIi4vYmFzZS9zeXN0ZW0taW5mb1wiOjMsXCIuL2Jhc2UvdG91Y2gtZXZlbnRcIjo0LFwiLi9kZXZpY2UvYWNjZWxlcm9tZXRlclwiOjUsXCIuL2RldmljZS9iYXR0ZXJ5XCI6NixcIi4vZmlsZS9maWxlLXN5c3RlbS1tYW5hZ2VyXCI6NyxcIi4vaW50ZXJmYWNlL2tleWJvYXJkXCI6OSxcIi4vaW50ZXJmYWNlL3dpbmRvd1wiOjEwLFwiLi9tZWRpYS9hdWRpb1wiOjExLFwiLi9tZWRpYS92aWRlb1wiOjEyLFwiLi9uZXR3b3JrL2Rvd25sb2FkXCI6MTMsXCIuL3JlbmRlcmluZy9jYW52YXNcIjoxNCxcIi4vcmVuZGVyaW5nL2ZvbnRcIjoxNSxcIi4vcmVuZGVyaW5nL2ZyYW1lXCI6MTYsXCIuL3JlbmRlcmluZy9pbWFnZVwiOjE3LFwiLi9yZW5kZXJpbmcvd2ViZ2xcIjoxOH1dLDk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRJbnB1dFwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRDb25maXJtXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbXBsZXRlXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRJbnB1dFwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29uZmlybVwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29tcGxldGVcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJoaWRlS2V5Ym9hcmRcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJzaG93S2V5Ym9hcmRcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJ1cGRhdGVLZXlib2FyZFwiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG52YXIgX29uV2luZG93UmVzaXplID0gX3J0Lm9uV2luZG93UmVzaXplO1xuXG5yYWwub25XaW5kb3dSZXNpemUgPSBmdW5jdGlvbiAoY2FsbEJhY2spIHtcbiAgX29uV2luZG93UmVzaXplKGZ1bmN0aW9uIChzaXplKSB7XG4gICAgY2FsbEJhY2soc2l6ZS53aWR0aCB8fCBzaXplLndpbmRvd1dpZHRoLCBzaXplLmhlaWdodCB8fCBzaXplLndpbmRvd0hlaWdodCk7XG4gIH0pO1xufTtcblxufSx7fV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW5uZXJDb250ZXh0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vaW5uZXItY29udGV4dFwiKSk7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIkF1ZGlvRW5naW5lXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHRcIiwgX3J0LCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9ydC5BdWRpb0VuZ2luZSkge1xuICAgIHJhbC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiAoMCwgX2lubmVyQ29udGV4dFtcImRlZmF1bHRcIl0pKF9ydC5BdWRpb0VuZ2luZSk7XG4gICAgfTtcbiAgfVxufSk7XG5cbn0se1wiLi4vLi4vaW5uZXItY29udGV4dFwiOjIwLFwiLi4vLi4vdXRpbFwiOjIxfV0sMTI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZVZpZGVvXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZG93bmxvYWRGaWxlXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZUNhbnZhc1wiLCBfcnQsIHJhbCwgZnVuY3Rpb24gKCkge1xuICB2YXIgZmVhdHVyZVZhbHVlID0gXCJ1bnN1cHBvcnRlZFwiO1xuXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZmVhdHVyZVZhbHVlID0gXCJ3cmFwcGVyXCI7XG5cbiAgICByYWwuY3JlYXRlQ2FudmFzID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XG4gICAgfTtcbiAgfVxuXG4gIF9mZWF0dXJlW1wiZGVmYXVsdFwiXS5zZXRGZWF0dXJlKFwicmFsLmNyZWF0ZUNhbnZhc1wiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcbn0pO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxOSxcIi4uLy4uL3V0aWxcIjoyMX1dLDE1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkRm9udFwiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5pZiAod2luZG93LmpzYiAmJiBqc2Iuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBqc2Iuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kLmJpbmQoanNiKTtcbn0gZWxzZSBpZiAoX3J0LnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCkge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gX3J0LnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZC5iaW5kKF9ydCk7XG59IGVsc2Uge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gZnVuY3Rpb24gKCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJUaGUgc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kIGlzIG5vdCBkZWZpbmUhXCIpO1xuICB9O1xufVxuXG59LHt9XSwxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRJbWFnZURhdGFcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJjcmVhdGVJbWFnZVwiLCBfcnQsIHJhbCwgZnVuY3Rpb24gKCkge1xuICB2YXIgZmVhdHVyZVZhbHVlID0gXCJ1bnN1cHBvcnRlZFwiO1xuXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZmVhdHVyZVZhbHVlID0gXCJ3cmFwcGVyXCI7XG5cbiAgICByYWwuY3JlYXRlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltYWdlXCIpO1xuICAgIH07XG4gIH1cblxuICBfZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcInJhbC5jcmVhdGVJbWFnZVwiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcbn0pO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxOSxcIi4uLy4uL3V0aWxcIjoyMX1dLDE4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5pZiAod2luZG93Ll9fZ2wpIHtcbiAgdmFyIGdsID0gd2luZG93Ll9fZ2w7XG4gIHZhciBfZ2xUZXhJbWFnZTJEID0gZ2wudGV4SW1hZ2UyRDtcblxuICBnbC50ZXhJbWFnZTJEID0gZnVuY3Rpb24gKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKSB7XG4gICAgdmFyIGFyZ2MgPSBhcmd1bWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKGFyZ2MgPT09IDYpIHtcbiAgICAgIHZhciBpbWFnZSA9IGJvcmRlcjtcbiAgICAgIHR5cGUgPSBoZWlnaHQ7XG4gICAgICBmb3JtYXQgPSB3aWR0aDtcblxuICAgICAgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCkge1xuICAgICAgICB2YXIgZXJyb3IgPSBjb25zb2xlLmVycm9yO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbiAoKSB7fTtcblxuICAgICAgICBfZ2xUZXhJbWFnZTJELmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZXJyb3I7XG4gICAgICAgIGdsLnRleEltYWdlMkRfaW1hZ2UodGFyZ2V0LCBsZXZlbCwgaW1hZ2UuX2ltYWdlTWV0YSk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgdmFyIF9lcnJvciA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleEltYWdlMkQuYXBwbHkodm9pZCAwLCBhcmd1bWVudHMpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBfZXJyb3I7XG4gICAgICAgIHZhciBjb250ZXh0MkQgPSBpbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBnbC50ZXhJbWFnZTJEX2NhbnZhcyh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBjb250ZXh0MkQpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEltYWdlRGF0YSkge1xuICAgICAgICB2YXIgX2Vycm9yMiA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZGF0YSk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IF9lcnJvcjI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBwaXhlbCBhcmd1bWVudCBwYXNzZWQgdG8gZ2wudGV4SW1hZ2UyRCFcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmdjID09PSA5KSB7XG4gICAgICBfZ2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcImdsLnRleEltYWdlMkQ6IGludmFsaWQgYXJndW1lbnQgY291bnQhXCIpO1xuICAgIH1cbiAgfTtcblxuICB2YXIgX2dsVGV4U3ViSW1hZ2UyRCA9IGdsLnRleFN1YkltYWdlMkQ7XG5cbiAgZ2wudGV4U3ViSW1hZ2UyRCA9IGZ1bmN0aW9uICh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscykge1xuICAgIHZhciBhcmdjID0gYXJndW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChhcmdjID09PSA3KSB7XG4gICAgICB2YXIgaW1hZ2UgPSBmb3JtYXQ7XG4gICAgICB0eXBlID0gaGVpZ2h0O1xuICAgICAgZm9ybWF0ID0gd2lkdGg7XG5cbiAgICAgIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgdmFyIGVycm9yID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGVycm9yO1xuICAgICAgICBnbC50ZXhTdWJJbWFnZTJEX2ltYWdlKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLl9pbWFnZU1ldGEpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSB7XG4gICAgICAgIHZhciBfZXJyb3IzID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IF9lcnJvcjM7XG4gICAgICAgIHZhciBjb250ZXh0MkQgPSBpbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBnbC50ZXhTdWJJbWFnZTJEX2NhbnZhcyh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGNvbnRleHQyRCk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSW1hZ2VEYXRhKSB7XG4gICAgICAgIHZhciBfZXJyb3I0ID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIGltYWdlLmRhdGEpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBfZXJyb3I0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgcGl4ZWwgYXJndW1lbnQgcGFzc2VkIHRvIGdsLnRleEltYWdlMkQhXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJnYyA9PT0gOSkge1xuICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobmV3IEVycm9yKFwiZ2wudGV4SW1hZ2UyRDogaW52YWxpZCBhcmd1bWVudCBjb3VudCFcIikuc3RhY2spO1xuICAgIH1cbiAgfTtcbn1cblxufSx7fV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcbnZhciBfZmVhdHVyZXMgPSB7fTtcbnZhciBfZGVmYXVsdCA9IHtcbiAgc2V0RmVhdHVyZTogZnVuY3Rpb24gc2V0RmVhdHVyZShmZWF0dXJlTmFtZSwgcHJvcGVydHksIHZhbHVlKSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuXG4gICAgaWYgKCFmZWF0dXJlKSB7XG4gICAgICBmZWF0dXJlID0gX2ZlYXR1cmVzW2ZlYXR1cmVOYW1lXSA9IHt9O1xuICAgIH1cblxuICAgIGZlYXR1cmVbcHJvcGVydHldID0gdmFsdWU7XG4gIH0sXG4gIGdldEZlYXR1cmVQcm9wZXJ0eTogZnVuY3Rpb24gZ2V0RmVhdHVyZVByb3BlcnR5KGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSkge1xuICAgIHZhciBmZWF0dXJlID0gX2ZlYXR1cmVzW2ZlYXR1cmVOYW1lXTtcbiAgICByZXR1cm4gZmVhdHVyZSA/IGZlYXR1cmVbcHJvcGVydHldIDogdW5kZWZpbmVkO1xuICB9XG59O1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7fV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xudmFyIF9DQU5QTEFZX0NBTExCQUNLID0gXCJjYW5wbGF5Q2FsbGJhY2tzXCI7XG52YXIgX0VOREVEX0NBTExCQUNLID0gXCJlbmRlZENhbGxiYWNrc1wiO1xudmFyIF9FUlJPUl9DQUxMQkFDSyA9IFwiZXJyb3JDYWxsYmFja3NcIjtcbnZhciBfUEFVU0VfQ0FMTEJBQ0sgPSBcInBhdXNlQ2FsbGJhY2tzXCI7XG52YXIgX1BMQVlfQ0FMTEJBQ0sgPSBcInBsYXlDYWxsYmFja3NcIjtcbnZhciBfU0VFS0VEX0NBTExCQUNLID0gXCJzZWVrZWRDYWxsYmFja3NcIjtcbnZhciBfU0VFS0lOR19DQUxMQkFDSyA9IFwic2Vla2luZ0NhbGxiYWNrc1wiO1xudmFyIF9TVE9QX0NBTExCQUNLID0gXCJzdG9wQ2FsbGJhY2tzXCI7XG52YXIgX1RJTUVfVVBEQVRFX0NBTExCQUNLID0gXCJ0aW1lVXBkYXRlQ2FsbGJhY2tzXCI7XG52YXIgX1dBSVRJTkdfQ0FMTEJBQ0sgPSBcIndhaXRpbmdDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ09ERSA9IHtcbiAgRVJST1JfU1lTVEVNOiAxMDAwMSxcbiAgRVJST1JfTkVUOiAxMDAwMixcbiAgRVJST1JfRklMRTogMTAwMDMsXG4gIEVSUk9SX0ZPUk1BVDogMTAwMDQsXG4gIEVSUk9SX1VOS05PV046IC0xXG59O1xudmFyIF9TVEFURSA9IHtcbiAgRVJST1I6IC0xLFxuICBJTklUSUFMSVpJTkc6IDAsXG4gIFBMQVlJTkc6IDEsXG4gIFBBVVNFRDogMlxufTtcbnZhciBfYXVkaW9FbmdpbmUgPSB1bmRlZmluZWQ7XG5cbnZhciBfd2Vha01hcCA9IG5ldyBXZWFrTWFwKCk7XG5cbnZhciBfb2ZmQ2FsbGJhY2sgPSBmdW5jdGlvbiBfb2ZmQ2FsbGJhY2sodGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIgfHwgIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgY2FsbGJhY2tzLnNwbGljZShpLCAxKTtcbiAgICAgIHJldHVybiBjYWxsYmFjay5sZW5ndGggKyAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAwO1xufTtcblxudmFyIF9vbkNhbGxiYWNrID0gZnVuY3Rpb24gX29uQ2FsbGJhY2sodGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIgfHwgIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdO1xuXG4gIGlmICghY2FsbGJhY2tzKSB7XG4gICAgY2FsbGJhY2tzID0gcHJpdmF0ZVRoaXNbdHlwZV0gPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGlmIChjYWxsYmFjayA9PT0gY2FsbGJhY2tzW2ldKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsYmFja3MubGVuZ3RoO1xufTtcblxudmFyIF9kaXNwYXRjaENhbGxiYWNrID0gZnVuY3Rpb24gX2Rpc3BhdGNoQ2FsbGJhY2sodGFyZ2V0LCB0eXBlKSB7XG4gIHZhciBhcmdzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBbXTtcblxuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgY2FsbGJhY2tzID0gcHJpdmF0ZVRoaXNbdHlwZV0gfHwgW107XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBjYWxsYmFja3NbaV0uYXBwbHkodGFyZ2V0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIElubmVyQXVkaW9Db250ZXh0KCkge1xuICB0aGlzLnN0YXJ0VGltZSA9IDA7XG4gIHRoaXMuYXV0b3BsYXkgPSBmYWxzZTtcblxuICBfd2Vha01hcC5zZXQodGhpcywge1xuICAgIHNyYzogXCJcIixcbiAgICB2b2x1bWU6IDEsXG4gICAgbG9vcDogZmFsc2VcbiAgfSk7XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibG9vcFwiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhbHVlID0gISF2YWx1ZTtcblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICBfYXVkaW9FbmdpbmUuc2V0TG9vcChhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy5sb29wID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIHByaXZhdGVUaGlzID8gcHJpdmF0ZVRoaXMubG9vcCA6IGZhbHNlO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInZvbHVtZVwiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgIHZhbHVlID0gMDtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+IDEpIHtcbiAgICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gMTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICBfYXVkaW9FbmdpbmUuc2V0Vm9sdW1lKGF1ZGlvSUQsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGVUaGlzLnZvbHVtZSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnZvbHVtZSA6IDE7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic3JjXCIsIHtcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIG9sZFNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgICAgIHByaXZhdGVUaGlzLnNyYyA9IHZhbHVlO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwICYmIF9hdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKSA9PT0gX1NUQVRFLlBBVVNFRCAmJiBvbGRTcmMgIT09IHZhbHVlKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICAgICAgX2F1ZGlvRW5naW5lLnByZWxvYWQodmFsdWUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLnNyYyA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX0NBTlBMQVlfQ0FMTEJBQ0spO1xuXG4gICAgICAgICAgICAgIGlmIChzZWxmLmF1dG9wbGF5KSB7XG4gICAgICAgICAgICAgICAgc2VsZi5wbGF5KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIHByaXZhdGVUaGlzID8gcHJpdmF0ZVRoaXMuc3JjIDogXCJcIjtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkdXJhdGlvblwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0RHVyYXRpb24oYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5hTjtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KCkge31cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImN1cnJlbnRUaW1lXCIsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIF9hdWRpb0VuZ2luZS5nZXRDdXJyZW50VGltZShhdWRpb0lEKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KCkge31cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBhdXNlZFwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJidWZmZXJlZFwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0QnVmZmVyZWQoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xufVxuXG52YXIgX3Byb3RvdHlwZSA9IElubmVyQXVkaW9Db250ZXh0LnByb3RvdHlwZTtcblxuX3Byb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cblxuICAgIHByaXZhdGVUaGlzW19DQU5QTEFZX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19FTkRFRF9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRVJST1JfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1BBVVNFX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QTEFZX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLRURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1NFRUtJTkdfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1NUT1BfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1RJTUVfVVBEQVRFX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19XQUlUSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIGNsZWFySW50ZXJ2YWwocHJpdmF0ZVRoaXMuaW50ZXJ2YWxJRCk7XG4gIH1cbn07XG5cbl9wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmICghcHJpdmF0ZVRoaXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc3JjID0gcHJpdmF0ZVRoaXMuc3JjO1xuICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgaWYgKHR5cGVvZiBzcmMgIT09IFwic3RyaW5nXCIgfHwgc3JjID09PSBcIlwiKSB7XG4gICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX0VSUk9SX0NBTExCQUNLLCBbe1xuICAgICAgZXJyTXNnOiBcImludmFsaWQgc3JjXCIsXG4gICAgICBlcnJDb2RlOiBfRVJST1JfQ09ERS5FUlJPUl9GSUxFXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgIGlmIChfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQpIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5yZXN1bWUoYXVkaW9JRCk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcblxuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgIH1cbiAgfVxuXG4gIGF1ZGlvSUQgPSBfYXVkaW9FbmdpbmUucGxheShzcmMsIHRoaXMubG9vcCwgdGhpcy52b2x1bWUpO1xuXG4gIGlmIChhdWRpb0lEID09PSAtMSkge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJ1bmtub3duXCIsXG4gICAgICBlcnJDb2RlOiBfRVJST1JfQ09ERS5FUlJPUl9VTktOT1dOXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IGF1ZGlvSUQ7XG5cbiAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VGltZSA9PT0gXCJudW1iZXJcIiAmJiB0aGlzLnN0YXJ0VGltZSA+IDApIHtcbiAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgdGhpcy5zdGFydFRpbWUpO1xuICB9XG5cbiAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1dBSVRJTkdfQ0FMTEJBQ0spO1xuXG4gIHZhciBzZWxmID0gdGhpcztcblxuICBfYXVkaW9FbmdpbmUuc2V0Q2FuUGxheUNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX0NBTlBMQVlfQ0FMTEJBQ0spO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfUExBWV9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcblxuICBfYXVkaW9FbmdpbmUuc2V0V2FpdGluZ0NhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1dBSVRJTkdfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEVycm9yQ2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzcmMgPT09IHNlbGYuc3JjKSB7XG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9FUlJPUl9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcblxuICBfYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzcmMgPT09IHNlbGYuc3JjKSB7XG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9FTkRFRF9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcbn07XG5cbl9wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucGF1c2UoYXVkaW9JRCk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLnNlZWsgPSBmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcyAmJiB0eXBlb2YgcG9zaXRpb24gPT09IFwibnVtYmVyXCIgJiYgcG9zaXRpb24gPj0gMCkge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zZXRDdXJyZW50VGltZShhdWRpb0lELCBwb3NpdGlvbik7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLSU5HX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcblxuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLm9mZkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9DQU5QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVuZGVkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmRXJyb3IgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1BBVVNFX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZlBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZlNlZWtlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTdG9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZUaW1lVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIHZhciByZXN1bHQgPSBfb2ZmQ2FsbGJhY2sodGhpcywgX1RJTUVfVVBEQVRFX0NBTExCQUNLLCBjYWxsYmFjayk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gMSkge1xuICAgIGNsZWFySW50ZXJ2YWwoX3dlYWtNYXAuZ2V0KHRoaXMpLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9mZldhaXRpbmcgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uQ2FucGxheSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkVuZGVkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9FTkRFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblBhdXNlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX1BMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblNlZWtpbmcgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgXCJzZWVraW5nQ2FsbGJhY2tzXCIsIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TdG9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29uQ2FsbGJhY2sodGhpcywgX1RJTUVfVVBEQVRFX0NBTExCQUNLLCBjYWxsYmFjayk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gMSkge1xuICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldChzZWxmKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwICYmIF9hdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKSA9PT0gX1NUQVRFLlBMQVlJTkcpIHtcbiAgICAgICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfVElNRV9VUERBVEVfQ0FMTEJBQ0spO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsSUQpO1xuICAgICAgfVxuICAgIH0sIDUwMCk7XG4gICAgcHJpdmF0ZVRoaXMuaW50ZXJ2YWxJRCA9IGludGVydmFsSUQ7XG4gIH1cbn07XG5cbl9wcm90b3R5cGUub25XYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5mdW5jdGlvbiBfZGVmYXVsdChBdWRpb0VuZ2luZSkge1xuICBpZiAoX2F1ZGlvRW5naW5lID09PSB1bmRlZmluZWQpIHtcbiAgICBfYXVkaW9FbmdpbmUgPSBPYmplY3QuYXNzaWduKHt9LCBBdWRpb0VuZ2luZSk7XG4gICAgT2JqZWN0LmtleXMoQXVkaW9FbmdpbmUpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgQXVkaW9FbmdpbmVbbmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBBdWRpb0VuZ2luZVtuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJBdWRpb0VuZ2luZS5cIiArIG5hbWUgKyBcIiBpcyBkZXByZWNhdGVkXCIpO1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmVbbmFtZV0uYXBwbHkoQXVkaW9FbmdpbmUsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbmV3IElubmVyQXVkaW9Db250ZXh0KCk7XG59XG5cbjtcblxufSx7fV0sMjE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG52YXIgX2RlZmF1bHQgPSB7XG4gIGV4cG9ydFRvOiBmdW5jdGlvbiBleHBvcnRUbyhuYW1lLCBmcm9tLCB0bywgZXJyQ2FsbGJhY2spIHtcbiAgICBpZiAoX3R5cGVvZihmcm9tKSAhPT0gXCJvYmplY3RcIiB8fCBfdHlwZW9mKHRvKSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgY29uc29sZS53YXJuKFwiaW52YWxpZCBleHBvcnRUbzogXCIsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBmcm9tUHJvcGVydHkgPSBmcm9tW25hbWVdO1xuXG4gICAgaWYgKHR5cGVvZiBmcm9tUHJvcGVydHkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnJvbVByb3BlcnR5ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdG9bbmFtZV0gPSBmcm9tUHJvcGVydHkuYmluZChmcm9tKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0b1tuYW1lXSwgZnJvbVByb3BlcnR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvW25hbWVdID0gZnJvbVByb3BlcnR5O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0b1tuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihuYW1lICsgXCIgaXMgbm90IHN1cHBvcnQhXCIpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9O1xuXG4gICAgICBpZiAodHlwZW9mIGVyckNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZXJyQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XX0se30sWzhdKTtcbiJdLCJmaWxlIjoicmFsLmpzIn0= diff --git a/platforms/runtime/platforms/cocos-play/ral.min.js b/platforms/runtime/platforms/cocos-play/ral.min.js deleted file mode 100644 index e50ab1265e4..00000000000 --- a/platforms/runtime/platforms/cocos-play/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(r,i,a){function u(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(c)return c(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return u(r[t][1][e]||e)},o,o.exports,n,r,i,a)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;e= 0) { - _copyObject(touch, _touches[index]); - } else { - var tmp = {}; - - _copyObject(touch, tmp); - - _touches.push(tmp); - } - }); - } else if (type === "touchmove") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _copyObject(element, _touches[index]); - } - }); - } else if (type === "touchend" || type === "touchcancel") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _touches.splice(index, 1); - } - }); - } - - var touches = [].concat(_touches); - var _changedTouches = []; - changedTouches.forEach(function (touch) { - var length = touches.length; - - for (var _index = 0; _index < length; ++_index) { - var _touch = touches[_index]; - - if (touch.identifier === _touch.identifier) { - _changedTouches.push(_touch); - - return; - } - } - - _changedTouches.push(touch); - }); - touchEvent.touches = touches; - touchEvent.targetTouches = touches; - touchEvent.changedTouches = _changedTouches; - - if (_hasDellWith) { - touches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - - if (type === "touchcancel" || type === "touchend") { - _changedTouches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - } - } - - var listenerArr = _listenerMap[type]; - var length = listenerArr.length; - - for (var _index2 = 0; _index2 < length; _index2++) { - listenerArr[_index2](touchEvent); - } - }; -}; - -if (_rt.onTouchStart) { - ral.onTouchStart = _rt.onTouchStart; - ral.offTouchStart = _rt.offTouchStart; -} else { - _jsb.onTouchStart = _touchEventHandlerFactory('touchstart'); - - _jsb.offTouchStart = function (callback) { - _removeListener("touchstart", callback); - }; - - ral.onTouchStart = _jsb.onTouchStart.bind(_jsb); - ral.offTouchStart = _jsb.offTouchStart.bind(_jsb); -} - -if (_rt.onTouchMove) { - ral.onTouchMove = _rt.onTouchMove; - ral.offTouchMove = _rt.offTouchMove; -} else { - _jsb.onTouchMove = _touchEventHandlerFactory('touchmove'); - - _jsb.offTouchMove = function (callback) { - _removeListener("touchmove", callback); - }; - - ral.onTouchMove = _jsb.onTouchMove.bind(_jsb); - ral.offTouchMove = _jsb.offTouchMove.bind(_jsb); -} - -if (_rt.onTouchCancel) { - ral.onTouchCancel = _rt.onTouchCancel; - ral.offTouchCancel = _rt.offTouchCancel; -} else { - _jsb.onTouchCancel = _touchEventHandlerFactory('touchcancel'); - - _jsb.offTouchCancel = function (callback) { - _removeListener("touchcancel", callback); - }; - - ral.onTouchCancel = _jsb.onTouchCancel.bind(_jsb); - ral.offTouchCancel = _jsb.offTouchCancel.bind(_jsb); -} - -if (_rt.onTouchEnd) { - ral.onTouchEnd = _rt.onTouchEnd; - ral.offTouchEnd = _rt.offTouchEnd; -} else { - _jsb.onTouchEnd = _touchEventHandlerFactory('touchend'); - - _jsb.offTouchEnd = function (callback) { - _removeListener("touchend", callback); - }; - - ral.onTouchEnd = _jsb.onTouchEnd.bind(_jsb); - ral.offTouchEnd = _jsb.offTouchEnd.bind(_jsb); -} - -},{}],5:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -var _listeners = []; -ral.device = ral.device || {}; - -if (_rt.offAccelerometerChange) { - ral.onAccelerometerChange = _rt.onAccelerometerChange.bind(_rt); - ral.offAccelerometerChange = _rt.offAccelerometerChange.bind(_rt); - ral.stopAccelerometer = _rt.stopAccelerometer.bind(_rt); - - var _startAccelerometer = _rt.startAccelerometer.bind(_rt); - - ral.startAccelerometer = function (obj) { - return _startAccelerometer(Object.assign({ - type: "accelerationIncludingGravity" - }, obj)); - }; -} else { - ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } - }; - - ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } - }; - - var _systemInfo = _rt.getSystemInfoSync(); - - var _isAndroid = _systemInfo.platform.toLowerCase() === "android"; - - jsb.device.dispatchDeviceMotionEvent = function (event) { - var acceleration = Object.assign({}, event._accelerationIncludingGravity); - - if (_isAndroid) { - acceleration.x /= -10; - acceleration.y /= -10; - acceleration.z /= -10; - } else { - acceleration.x /= 10; - acceleration.y /= 10; - acceleration.z /= 10; - } - - _listeners.forEach(function (listener) { - listener({ - x: acceleration.x, - y: acceleration.y, - z: acceleration.z - }); - }); - }; - - ral.stopAccelerometer = function () { - jsb.device.setMotionEnabled(false); - }; - - ral.startAccelerometer = function () { - jsb.device.setMotionEnabled(true); - }; -} - -},{"../../util":21}],6:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("getBatteryInfo", _rt, ral); - -_util["default"].exportTo("getBatteryInfoSync", _rt, ral); - -},{"../../util":21}],7:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("getFileSystemManager", _rt, ral); - -},{"../../util":21}],8:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./media/video"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/webgl"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":19,"../util":21,"./base/lifecycle":1,"./base/subpackage":2,"./base/system-info":3,"./base/touch-event":4,"./device/accelerometer":5,"./device/battery":6,"./file/file-system-manager":7,"./interface/keyboard":9,"./interface/window":10,"./media/audio":11,"./media/video":12,"./network/download":13,"./rendering/canvas":14,"./rendering/font":15,"./rendering/frame":16,"./rendering/image":17,"./rendering/webgl":18}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("onKeyboardInput", _rt, ral); - -_util["default"].exportTo("onKeyboardConfirm", _rt, ral); - -_util["default"].exportTo("onKeyboardComplete", _rt, ral); - -_util["default"].exportTo("offKeyboardInput", _rt, ral); - -_util["default"].exportTo("offKeyboardConfirm", _rt, ral); - -_util["default"].exportTo("offKeyboardComplete", _rt, ral); - -_util["default"].exportTo("hideKeyboard", _rt, ral); - -_util["default"].exportTo("showKeyboard", _rt, ral); - -_util["default"].exportTo("updateKeyboard", _rt, ral); - -},{"../../util":21}],10:[function(require,module,exports){ -"use strict"; - -var _rt = loadRuntime(); - -var _onWindowResize = _rt.onWindowResize; - -ral.onWindowResize = function (callBack) { - _onWindowResize(function (size) { - callBack(size.width || size.windowWidth, size.height || size.windowHeight); - }); -}; - -},{}],11:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("AudioEngine", _rt, ral); - -_util["default"].exportTo("createInnerAudioContext", _rt, ral, function () { - if (_rt.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(_rt.AudioEngine); - }; - } -}); - -},{"../../inner-context":20,"../../util":21}],12:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("createVideo", _rt, ral); - -},{"../../util":21}],13:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("downloadFile", _rt, ral); - -},{"../../util":21}],14:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("createCanvas", _rt, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createCanvas = function () { - return document.createElement("canvas"); - }; - } - - _feature["default"].setFeature("ral.createCanvas", "spec", featureValue); -}); - -},{"../../feature":19,"../../util":21}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadFont", _rt, ral); - -},{"../../util":21}],16:[function(require,module,exports){ -"use strict"; - -var _rt = loadRuntime(); - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (_rt.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = _rt.setPreferredFramesPerSecond.bind(_rt); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadImageData", _rt, ral); - -_util["default"].exportTo("createImage", _rt, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createImage = function () { - return document.createElement("image"); - }; - } - - _feature["default"].setFeature("ral.createImage", "spec", featureValue); -}); - -},{"../../feature":19,"../../util":21}],18:[function(require,module,exports){ -"use strict"; - -if (window.__gl) { - var gl = window.__gl; - var _glTexImage2D = gl.texImage2D; - - gl.texImage2D = function (target, level, internalformat, width, height, border, format, type, pixels) { - var argc = arguments.length; - - if (argc === 6) { - var image = border; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = error; - gl.texImage2D_image(target, level, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = _error; - var context2D = image.getContext('2d'); - gl.texImage2D_canvas(target, level, internalformat, format, type, context2D); - } else if (image instanceof ImageData) { - var _error2 = console.error; - - console.error = function () {}; - - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, image.data); - - console.error = _error2; - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } else { - console.error("gl.texImage2D: invalid argument count!"); - } - }; - - var _glTexSubImage2D = gl.texSubImage2D; - - gl.texSubImage2D = function (target, level, xoffset, yoffset, width, height, format, type, pixels) { - var argc = arguments.length; - - if (argc === 7) { - var image = format; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = error; - gl.texSubImage2D_image(target, level, xoffset, yoffset, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error3 = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = _error3; - var context2D = image.getContext('2d'); - gl.texSubImage2D_canvas(target, level, xoffset, yoffset, format, type, context2D); - } else if (image instanceof ImageData) { - var _error4 = console.error; - - console.error = function () {}; - - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, image.data); - - console.error = _error4; - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } else { - console.error(new Error("gl.texImage2D: invalid argument count!").stack); - } - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; -var _features = {}; -var _default = { - setFeature: function setFeature(featureName, property, value) { - var feature = _features[featureName]; - - if (!feature) { - feature = _features[featureName] = {}; - } - - feature[property] = value; - }, - getFeatureProperty: function getFeatureProperty(featureName, property) { - var feature = _features[featureName]; - return feature ? feature[property] : undefined; - } -}; -exports["default"] = _default; - -},{}],20:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = _default; -var _CANPLAY_CALLBACK = "canplayCallbacks"; -var _ENDED_CALLBACK = "endedCallbacks"; -var _ERROR_CALLBACK = "errorCallbacks"; -var _PAUSE_CALLBACK = "pauseCallbacks"; -var _PLAY_CALLBACK = "playCallbacks"; -var _SEEKED_CALLBACK = "seekedCallbacks"; -var _SEEKING_CALLBACK = "seekingCallbacks"; -var _STOP_CALLBACK = "stopCallbacks"; -var _TIME_UPDATE_CALLBACK = "timeUpdateCallbacks"; -var _WAITING_CALLBACK = "waitingCallbacks"; -var _ERROR_CODE = { - ERROR_SYSTEM: 10001, - ERROR_NET: 10002, - ERROR_FILE: 10003, - ERROR_FORMAT: 10004, - ERROR_UNKNOWN: -1 -}; -var _STATE = { - ERROR: -1, - INITIALIZING: 0, - PLAYING: 1, - PAUSED: 2 -}; -var _audioEngine = undefined; - -var _weakMap = new WeakMap(); - -var _offCallback = function _offCallback(target, type, callback) { - var privateThis = _weakMap.get(target); - - if (typeof callback !== "function" || !privateThis) { - return -1; - } - - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - if (callback === callbacks[i]) { - callbacks.splice(i, 1); - return callback.length + 1; - } - } - - return 0; -}; - -var _onCallback = function _onCallback(target, type, callback) { - var privateThis = _weakMap.get(target); - - if (typeof callback !== "function" || !privateThis) { - return -1; - } - - var callbacks = privateThis[type]; - - if (!callbacks) { - callbacks = privateThis[type] = [callback]; - } else { - for (var i = 0, len = callbacks.length; i < len; ++i) { - if (callback === callbacks[i]) { - return 0; - } - } - - callbacks.push(callback); - } - - return callbacks.length; -}; - -var _dispatchCallback = function _dispatchCallback(target, type) { - var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],21:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}]},{},[8]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25TaG93XCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25IaWRlXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmU2hvd1wiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZkhpZGVcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRTdWJwYWNrYWdlXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJlbnZcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRTeXN0ZW1JbmZvXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1N5bmNcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfanNiID0gd2luZG93LmpzYjtcblxuaWYgKCFfanNiKSB7XG4gIF9qc2IgPSB7fTtcbn1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbnZhciBfdG91Y2hlcyA9IFtdO1xuXG52YXIgX2dldFRvdWNoSW5kZXggPSBmdW5jdGlvbiBfZ2V0VG91Y2hJbmRleCh0b3VjaCkge1xuICB2YXIgZWxlbWVudDtcblxuICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgX3RvdWNoZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgZWxlbWVudCA9IF90b3VjaGVzW2luZGV4XTtcblxuICAgIGlmICh0b3VjaC5pZGVudGlmaWVyID09PSBlbGVtZW50LmlkZW50aWZpZXIpIHtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gLTE7XG59O1xuXG52YXIgX2NvcHlPYmplY3QgPSBmdW5jdGlvbiBfY29weU9iamVjdChmcm9tT2JqLCB0b09iamVjdCkge1xuICBmb3IgKHZhciBrZXkgaW4gZnJvbU9iaikge1xuICAgIGlmIChmcm9tT2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIHRvT2JqZWN0W2tleV0gPSBmcm9tT2JqW2tleV07XG4gICAgfVxuICB9XG59O1xuXG52YXIgX2xpc3RlbmVyTWFwID0ge1xuICBcInRvdWNoc3RhcnRcIjogW10sXG4gIFwidG91Y2htb3ZlXCI6IFtdLFxuICBcInRvdWNoZW5kXCI6IFtdLFxuICBcInRvdWNoY2FuY2VsXCI6IFtdXG59O1xuXG5mdW5jdGlvbiBfYWRkTGlzdGVuZXIoa2V5LCB2YWx1ZSkge1xuICB2YXIgbGlzdGVuZXJBcnIgPSBfbGlzdGVuZXJNYXBba2V5XTtcblxuICBmb3IgKHZhciBpbmRleCA9IDAsIGxlbmd0aCA9IGxpc3RlbmVyQXJyLmxlbmd0aDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICBpZiAodmFsdWUgPT09IGxpc3RlbmVyQXJyW2luZGV4XSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGxpc3RlbmVyQXJyLnB1c2godmFsdWUpO1xufVxuXG5mdW5jdGlvbiBfcmVtb3ZlTGlzdGVuZXIoa2V5LCB2YWx1ZSkge1xuICB2YXIgbGlzdGVuZXJBcnIgPSBfbGlzdGVuZXJNYXBba2V5XSB8fCBbXTtcbiAgdmFyIGxlbmd0aCA9IGxpc3RlbmVyQXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7XG4gICAgaWYgKHZhbHVlID09PSBsaXN0ZW5lckFycltpbmRleF0pIHtcbiAgICAgIGxpc3RlbmVyQXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbnZhciBfaGFzRGVsbFdpdGggPSBmYWxzZTtcblxudmFyIF9zeXN0ZW1JbmZvID0gX3J0LmdldFN5c3RlbUluZm9TeW5jKCk7XG5cbmlmICh3aW5kb3cuaW5uZXJXaWR0aCAmJiBfc3lzdGVtSW5mby53aW5kb3dXaWR0aCAhPT0gd2luZG93LmlubmVyV2lkdGgpIHtcbiAgX2hhc0RlbGxXaXRoID0gdHJ1ZTtcbn1cblxudmFyIF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkgPSBmdW5jdGlvbiBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KHR5cGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjaGFuZ2VkVG91Y2hlcykge1xuICAgIGlmICh0eXBlb2YgY2hhbmdlZFRvdWNoZXMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgX2FkZExpc3RlbmVyKHR5cGUsIGNoYW5nZWRUb3VjaGVzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB0b3VjaEV2ZW50ID0gbmV3IFRvdWNoRXZlbnQodHlwZSk7XG4gICAgdmFyIGluZGV4O1xuXG4gICAgaWYgKHR5cGUgPT09IFwidG91Y2hzdGFydFwiKSB7XG4gICAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KHRvdWNoKTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF9jb3B5T2JqZWN0KHRvdWNoLCBfdG91Y2hlc1tpbmRleF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB0bXAgPSB7fTtcblxuICAgICAgICAgIF9jb3B5T2JqZWN0KHRvdWNoLCB0bXApO1xuXG4gICAgICAgICAgX3RvdWNoZXMucHVzaCh0bXApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwidG91Y2htb3ZlXCIpIHtcbiAgICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgaW5kZXggPSBfZ2V0VG91Y2hJbmRleChlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF9jb3B5T2JqZWN0KGVsZW1lbnQsIF90b3VjaGVzW2luZGV4XSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJ0b3VjaGVuZFwiIHx8IHR5cGUgPT09IFwidG91Y2hjYW5jZWxcIikge1xuICAgICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX3RvdWNoZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIHRvdWNoZXMgPSBbXS5jb25jYXQoX3RvdWNoZXMpO1xuICAgIHZhciBfY2hhbmdlZFRvdWNoZXMgPSBbXTtcbiAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgdmFyIGxlbmd0aCA9IHRvdWNoZXMubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBfaW5kZXggPSAwOyBfaW5kZXggPCBsZW5ndGg7ICsrX2luZGV4KSB7XG4gICAgICAgIHZhciBfdG91Y2ggPSB0b3VjaGVzW19pbmRleF07XG5cbiAgICAgICAgaWYgKHRvdWNoLmlkZW50aWZpZXIgPT09IF90b3VjaC5pZGVudGlmaWVyKSB7XG4gICAgICAgICAgX2NoYW5nZWRUb3VjaGVzLnB1c2goX3RvdWNoKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBfY2hhbmdlZFRvdWNoZXMucHVzaCh0b3VjaCk7XG4gICAgfSk7XG4gICAgdG91Y2hFdmVudC50b3VjaGVzID0gdG91Y2hlcztcbiAgICB0b3VjaEV2ZW50LnRhcmdldFRvdWNoZXMgPSB0b3VjaGVzO1xuICAgIHRvdWNoRXZlbnQuY2hhbmdlZFRvdWNoZXMgPSBfY2hhbmdlZFRvdWNoZXM7XG5cbiAgICBpZiAoX2hhc0RlbGxXaXRoKSB7XG4gICAgICB0b3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICAgIHRvdWNoLmNsaWVudFggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLmNsaWVudFkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLnBhZ2VYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICB0b3VjaC5wYWdlWSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodHlwZSA9PT0gXCJ0b3VjaGNhbmNlbFwiIHx8IHR5cGUgPT09IFwidG91Y2hlbmRcIikge1xuICAgICAgICBfY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgICAgICB0b3VjaC5jbGllbnRYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIHRvdWNoLmNsaWVudFkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2gucGFnZVggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2gucGFnZVkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBsaXN0ZW5lckFyciA9IF9saXN0ZW5lck1hcFt0eXBlXTtcbiAgICB2YXIgbGVuZ3RoID0gbGlzdGVuZXJBcnIubGVuZ3RoO1xuXG4gICAgZm9yICh2YXIgX2luZGV4MiA9IDA7IF9pbmRleDIgPCBsZW5ndGg7IF9pbmRleDIrKykge1xuICAgICAgbGlzdGVuZXJBcnJbX2luZGV4Ml0odG91Y2hFdmVudCk7XG4gICAgfVxuICB9O1xufTtcblxuaWYgKF9ydC5vblRvdWNoU3RhcnQpIHtcbiAgcmFsLm9uVG91Y2hTdGFydCA9IF9ydC5vblRvdWNoU3RhcnQ7XG4gIHJhbC5vZmZUb3VjaFN0YXJ0ID0gX3J0Lm9mZlRvdWNoU3RhcnQ7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hTdGFydCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoc3RhcnQnKTtcblxuICBfanNiLm9mZlRvdWNoU3RhcnQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaFN0YXJ0ID0gX2pzYi5vblRvdWNoU3RhcnQuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoU3RhcnQgPSBfanNiLm9mZlRvdWNoU3RhcnQuYmluZChfanNiKTtcbn1cblxuaWYgKF9ydC5vblRvdWNoTW92ZSkge1xuICByYWwub25Ub3VjaE1vdmUgPSBfcnQub25Ub3VjaE1vdmU7XG4gIHJhbC5vZmZUb3VjaE1vdmUgPSBfcnQub2ZmVG91Y2hNb3ZlO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoTW92ZSA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNobW92ZScpO1xuXG4gIF9qc2Iub2ZmVG91Y2hNb3ZlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2htb3ZlXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaE1vdmUgPSBfanNiLm9uVG91Y2hNb3ZlLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaE1vdmUgPSBfanNiLm9mZlRvdWNoTW92ZS5iaW5kKF9qc2IpO1xufVxuXG5pZiAoX3J0Lm9uVG91Y2hDYW5jZWwpIHtcbiAgcmFsLm9uVG91Y2hDYW5jZWwgPSBfcnQub25Ub3VjaENhbmNlbDtcbiAgcmFsLm9mZlRvdWNoQ2FuY2VsID0gX3J0Lm9mZlRvdWNoQ2FuY2VsO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoQ2FuY2VsID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hjYW5jZWwnKTtcblxuICBfanNiLm9mZlRvdWNoQ2FuY2VsID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2hjYW5jZWxcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoQ2FuY2VsID0gX2pzYi5vblRvdWNoQ2FuY2VsLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaENhbmNlbCA9IF9qc2Iub2ZmVG91Y2hDYW5jZWwuYmluZChfanNiKTtcbn1cblxuaWYgKF9ydC5vblRvdWNoRW5kKSB7XG4gIHJhbC5vblRvdWNoRW5kID0gX3J0Lm9uVG91Y2hFbmQ7XG4gIHJhbC5vZmZUb3VjaEVuZCA9IF9ydC5vZmZUb3VjaEVuZDtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaEVuZCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoZW5kJyk7XG5cbiAgX2pzYi5vZmZUb3VjaEVuZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNoZW5kXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaEVuZCA9IF9qc2Iub25Ub3VjaEVuZC5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hFbmQgPSBfanNiLm9mZlRvdWNoRW5kLmJpbmQoX2pzYik7XG59XG5cbn0se31dLDU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbnZhciBfbGlzdGVuZXJzID0gW107XG5yYWwuZGV2aWNlID0gcmFsLmRldmljZSB8fCB7fTtcblxuaWYgKF9ydC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlKSB7XG4gIHJhbC5vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBfcnQub25BY2NlbGVyb21ldGVyQ2hhbmdlLmJpbmQoX3J0KTtcbiAgcmFsLm9mZkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBfcnQub2ZmQWNjZWxlcm9tZXRlckNoYW5nZS5iaW5kKF9ydCk7XG4gIHJhbC5zdG9wQWNjZWxlcm9tZXRlciA9IF9ydC5zdG9wQWNjZWxlcm9tZXRlci5iaW5kKF9ydCk7XG5cbiAgdmFyIF9zdGFydEFjY2VsZXJvbWV0ZXIgPSBfcnQuc3RhcnRBY2NlbGVyb21ldGVyLmJpbmQoX3J0KTtcblxuICByYWwuc3RhcnRBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiBfc3RhcnRBY2NlbGVyb21ldGVyKE9iamVjdC5hc3NpZ24oe1xuICAgICAgdHlwZTogXCJhY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5XCJcbiAgICB9LCBvYmopKTtcbiAgfTtcbn0gZWxzZSB7XG4gIHJhbC5vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgICBpZiAodHlwZW9mIGxpc3RlbmVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHZhciBsZW5ndGggPSBfbGlzdGVuZXJzLmxlbmd0aDtcblxuICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgICAgICBpZiAobGlzdGVuZXIgPT09IF9saXN0ZW5lcnNbaW5kZXhdKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIF9saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG4gICAgfVxuICB9O1xuXG4gIHJhbC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlID0gZnVuY3Rpb24gKGxpc3RlbmVyKSB7XG4gICAgdmFyIGxlbmd0aCA9IF9saXN0ZW5lcnMubGVuZ3RoO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgICAgaWYgKGxpc3RlbmVyID09PSBfbGlzdGVuZXJzW2luZGV4XSkge1xuICAgICAgICBfbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB2YXIgX3N5c3RlbUluZm8gPSBfcnQuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcblxuICB2YXIgX2lzQW5kcm9pZCA9IF9zeXN0ZW1JbmZvLnBsYXRmb3JtLnRvTG93ZXJDYXNlKCkgPT09IFwiYW5kcm9pZFwiO1xuXG4gIGpzYi5kZXZpY2UuZGlzcGF0Y2hEZXZpY2VNb3Rpb25FdmVudCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHZhciBhY2NlbGVyYXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBldmVudC5fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSk7XG5cbiAgICBpZiAoX2lzQW5kcm9pZCkge1xuICAgICAgYWNjZWxlcmF0aW9uLnggLz0gLTEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnkgLz0gLTEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnogLz0gLTEwO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NlbGVyYXRpb24ueCAvPSAxMDtcbiAgICAgIGFjY2VsZXJhdGlvbi55IC89IDEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnogLz0gMTA7XG4gICAgfVxuXG4gICAgX2xpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgbGlzdGVuZXIoe1xuICAgICAgICB4OiBhY2NlbGVyYXRpb24ueCxcbiAgICAgICAgeTogYWNjZWxlcmF0aW9uLnksXG4gICAgICAgIHo6IGFjY2VsZXJhdGlvbi56XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICByYWwuc3RvcEFjY2VsZXJvbWV0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAganNiLmRldmljZS5zZXRNb3Rpb25FbmFibGVkKGZhbHNlKTtcbiAgfTtcblxuICByYWwuc3RhcnRBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKCkge1xuICAgIGpzYi5kZXZpY2Uuc2V0TW90aW9uRW5hYmxlZCh0cnVlKTtcbiAgfTtcbn1cblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSw2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRCYXR0ZXJ5SW5mb1wiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldEJhdHRlcnlJbmZvU3luY1wiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0RmlsZVN5c3RlbU1hbmFnZXJcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL3V0aWxcIikpO1xuXG52YXIgX2ZlYXR1cmUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9mZWF0dXJlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmlmICh3aW5kb3cuanNiKSB7XG4gIHdpbmRvdy5yYWwgPSBPYmplY3QuYXNzaWduKHt9LCB3aW5kb3cuanNiKTtcbn0gZWxzZSB7XG4gIHdpbmRvdy5yYWwgPSB7fTtcbn1cblxucmVxdWlyZShcIi4vYmFzZS9saWZlY3ljbGVcIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2Uvc3VicGFja2FnZVwiKTtcblxucmVxdWlyZShcIi4vYmFzZS9zeXN0ZW0taW5mb1wiKTtcblxucmVxdWlyZShcIi4vYmFzZS90b3VjaC1ldmVudFwiKTtcblxucmVxdWlyZShcIi4vZGV2aWNlL2FjY2VsZXJvbWV0ZXJcIik7XG5cbnJlcXVpcmUoXCIuL2RldmljZS9iYXR0ZXJ5XCIpO1xuXG5yZXF1aXJlKFwiLi9maWxlL2ZpbGUtc3lzdGVtLW1hbmFnZXJcIik7XG5cbnJlcXVpcmUoXCIuL2ludGVyZmFjZS9rZXlib2FyZFwiKTtcblxucmVxdWlyZShcIi4vaW50ZXJmYWNlL3dpbmRvd1wiKTtcblxucmVxdWlyZShcIi4vbWVkaWEvYXVkaW9cIik7XG5cbnJlcXVpcmUoXCIuL21lZGlhL3ZpZGVvXCIpO1xuXG5yZXF1aXJlKFwiLi9uZXR3b3JrL2Rvd25sb2FkXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvY2FudmFzXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvd2ViZ2xcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9mb250XCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvZnJhbWVcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9pbWFnZVwiKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0RmVhdHVyZVByb3BlcnR5XCIsIF9mZWF0dXJlW1wiZGVmYXVsdFwiXSwgcmFsKTtcblxufSx7XCIuLi9mZWF0dXJlXCI6MTksXCIuLi91dGlsXCI6MjEsXCIuL2Jhc2UvbGlmZWN5Y2xlXCI6MSxcIi4vYmFzZS9zdWJwYWNrYWdlXCI6MixcIi4vYmFzZS9zeXN0ZW0taW5mb1wiOjMsXCIuL2Jhc2UvdG91Y2gtZXZlbnRcIjo0LFwiLi9kZXZpY2UvYWNjZWxlcm9tZXRlclwiOjUsXCIuL2RldmljZS9iYXR0ZXJ5XCI6NixcIi4vZmlsZS9maWxlLXN5c3RlbS1tYW5hZ2VyXCI6NyxcIi4vaW50ZXJmYWNlL2tleWJvYXJkXCI6OSxcIi4vaW50ZXJmYWNlL3dpbmRvd1wiOjEwLFwiLi9tZWRpYS9hdWRpb1wiOjExLFwiLi9tZWRpYS92aWRlb1wiOjEyLFwiLi9uZXR3b3JrL2Rvd25sb2FkXCI6MTMsXCIuL3JlbmRlcmluZy9jYW52YXNcIjoxNCxcIi4vcmVuZGVyaW5nL2ZvbnRcIjoxNSxcIi4vcmVuZGVyaW5nL2ZyYW1lXCI6MTYsXCIuL3JlbmRlcmluZy9pbWFnZVwiOjE3LFwiLi9yZW5kZXJpbmcvd2ViZ2xcIjoxOH1dLDk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRJbnB1dFwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRDb25maXJtXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbXBsZXRlXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRJbnB1dFwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29uZmlybVwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29tcGxldGVcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJoaWRlS2V5Ym9hcmRcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJzaG93S2V5Ym9hcmRcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJ1cGRhdGVLZXlib2FyZFwiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG52YXIgX29uV2luZG93UmVzaXplID0gX3J0Lm9uV2luZG93UmVzaXplO1xuXG5yYWwub25XaW5kb3dSZXNpemUgPSBmdW5jdGlvbiAoY2FsbEJhY2spIHtcbiAgX29uV2luZG93UmVzaXplKGZ1bmN0aW9uIChzaXplKSB7XG4gICAgY2FsbEJhY2soc2l6ZS53aWR0aCB8fCBzaXplLndpbmRvd1dpZHRoLCBzaXplLmhlaWdodCB8fCBzaXplLndpbmRvd0hlaWdodCk7XG4gIH0pO1xufTtcblxufSx7fV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW5uZXJDb250ZXh0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vaW5uZXItY29udGV4dFwiKSk7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIkF1ZGlvRW5naW5lXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHRcIiwgX3J0LCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9ydC5BdWRpb0VuZ2luZSkge1xuICAgIHJhbC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiAoMCwgX2lubmVyQ29udGV4dFtcImRlZmF1bHRcIl0pKF9ydC5BdWRpb0VuZ2luZSk7XG4gICAgfTtcbiAgfVxufSk7XG5cbn0se1wiLi4vLi4vaW5uZXItY29udGV4dFwiOjIwLFwiLi4vLi4vdXRpbFwiOjIxfV0sMTI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZVZpZGVvXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZG93bmxvYWRGaWxlXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZUNhbnZhc1wiLCBfcnQsIHJhbCwgZnVuY3Rpb24gKCkge1xuICB2YXIgZmVhdHVyZVZhbHVlID0gXCJ1bnN1cHBvcnRlZFwiO1xuXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZmVhdHVyZVZhbHVlID0gXCJ3cmFwcGVyXCI7XG5cbiAgICByYWwuY3JlYXRlQ2FudmFzID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XG4gICAgfTtcbiAgfVxuXG4gIF9mZWF0dXJlW1wiZGVmYXVsdFwiXS5zZXRGZWF0dXJlKFwicmFsLmNyZWF0ZUNhbnZhc1wiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcbn0pO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxOSxcIi4uLy4uL3V0aWxcIjoyMX1dLDE1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkRm9udFwiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5pZiAod2luZG93LmpzYiAmJiBqc2Iuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBqc2Iuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kLmJpbmQoanNiKTtcbn0gZWxzZSBpZiAoX3J0LnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCkge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gX3J0LnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZC5iaW5kKF9ydCk7XG59IGVsc2Uge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gZnVuY3Rpb24gKCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJUaGUgc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kIGlzIG5vdCBkZWZpbmUhXCIpO1xuICB9O1xufVxuXG59LHt9XSwxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRJbWFnZURhdGFcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJjcmVhdGVJbWFnZVwiLCBfcnQsIHJhbCwgZnVuY3Rpb24gKCkge1xuICB2YXIgZmVhdHVyZVZhbHVlID0gXCJ1bnN1cHBvcnRlZFwiO1xuXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZmVhdHVyZVZhbHVlID0gXCJ3cmFwcGVyXCI7XG5cbiAgICByYWwuY3JlYXRlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltYWdlXCIpO1xuICAgIH07XG4gIH1cblxuICBfZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcInJhbC5jcmVhdGVJbWFnZVwiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcbn0pO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxOSxcIi4uLy4uL3V0aWxcIjoyMX1dLDE4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5pZiAod2luZG93Ll9fZ2wpIHtcbiAgdmFyIGdsID0gd2luZG93Ll9fZ2w7XG4gIHZhciBfZ2xUZXhJbWFnZTJEID0gZ2wudGV4SW1hZ2UyRDtcblxuICBnbC50ZXhJbWFnZTJEID0gZnVuY3Rpb24gKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKSB7XG4gICAgdmFyIGFyZ2MgPSBhcmd1bWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKGFyZ2MgPT09IDYpIHtcbiAgICAgIHZhciBpbWFnZSA9IGJvcmRlcjtcbiAgICAgIHR5cGUgPSBoZWlnaHQ7XG4gICAgICBmb3JtYXQgPSB3aWR0aDtcblxuICAgICAgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCkge1xuICAgICAgICB2YXIgZXJyb3IgPSBjb25zb2xlLmVycm9yO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbiAoKSB7fTtcblxuICAgICAgICBfZ2xUZXhJbWFnZTJELmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZXJyb3I7XG4gICAgICAgIGdsLnRleEltYWdlMkRfaW1hZ2UodGFyZ2V0LCBsZXZlbCwgaW1hZ2UuX2ltYWdlTWV0YSk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgdmFyIF9lcnJvciA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleEltYWdlMkQuYXBwbHkodm9pZCAwLCBhcmd1bWVudHMpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBfZXJyb3I7XG4gICAgICAgIHZhciBjb250ZXh0MkQgPSBpbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBnbC50ZXhJbWFnZTJEX2NhbnZhcyh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBjb250ZXh0MkQpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEltYWdlRGF0YSkge1xuICAgICAgICB2YXIgX2Vycm9yMiA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZGF0YSk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IF9lcnJvcjI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBwaXhlbCBhcmd1bWVudCBwYXNzZWQgdG8gZ2wudGV4SW1hZ2UyRCFcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmdjID09PSA5KSB7XG4gICAgICBfZ2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcImdsLnRleEltYWdlMkQ6IGludmFsaWQgYXJndW1lbnQgY291bnQhXCIpO1xuICAgIH1cbiAgfTtcblxuICB2YXIgX2dsVGV4U3ViSW1hZ2UyRCA9IGdsLnRleFN1YkltYWdlMkQ7XG5cbiAgZ2wudGV4U3ViSW1hZ2UyRCA9IGZ1bmN0aW9uICh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscykge1xuICAgIHZhciBhcmdjID0gYXJndW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChhcmdjID09PSA3KSB7XG4gICAgICB2YXIgaW1hZ2UgPSBmb3JtYXQ7XG4gICAgICB0eXBlID0gaGVpZ2h0O1xuICAgICAgZm9ybWF0ID0gd2lkdGg7XG5cbiAgICAgIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgdmFyIGVycm9yID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGVycm9yO1xuICAgICAgICBnbC50ZXhTdWJJbWFnZTJEX2ltYWdlKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLl9pbWFnZU1ldGEpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSB7XG4gICAgICAgIHZhciBfZXJyb3IzID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IF9lcnJvcjM7XG4gICAgICAgIHZhciBjb250ZXh0MkQgPSBpbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBnbC50ZXhTdWJJbWFnZTJEX2NhbnZhcyh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGNvbnRleHQyRCk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSW1hZ2VEYXRhKSB7XG4gICAgICAgIHZhciBfZXJyb3I0ID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIGltYWdlLmRhdGEpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBfZXJyb3I0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgcGl4ZWwgYXJndW1lbnQgcGFzc2VkIHRvIGdsLnRleEltYWdlMkQhXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJnYyA9PT0gOSkge1xuICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobmV3IEVycm9yKFwiZ2wudGV4SW1hZ2UyRDogaW52YWxpZCBhcmd1bWVudCBjb3VudCFcIikuc3RhY2spO1xuICAgIH1cbiAgfTtcbn1cblxufSx7fV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcbnZhciBfZmVhdHVyZXMgPSB7fTtcbnZhciBfZGVmYXVsdCA9IHtcbiAgc2V0RmVhdHVyZTogZnVuY3Rpb24gc2V0RmVhdHVyZShmZWF0dXJlTmFtZSwgcHJvcGVydHksIHZhbHVlKSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuXG4gICAgaWYgKCFmZWF0dXJlKSB7XG4gICAgICBmZWF0dXJlID0gX2ZlYXR1cmVzW2ZlYXR1cmVOYW1lXSA9IHt9O1xuICAgIH1cblxuICAgIGZlYXR1cmVbcHJvcGVydHldID0gdmFsdWU7XG4gIH0sXG4gIGdldEZlYXR1cmVQcm9wZXJ0eTogZnVuY3Rpb24gZ2V0RmVhdHVyZVByb3BlcnR5KGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSkge1xuICAgIHZhciBmZWF0dXJlID0gX2ZlYXR1cmVzW2ZlYXR1cmVOYW1lXTtcbiAgICByZXR1cm4gZmVhdHVyZSA/IGZlYXR1cmVbcHJvcGVydHldIDogdW5kZWZpbmVkO1xuICB9XG59O1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7fV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xudmFyIF9DQU5QTEFZX0NBTExCQUNLID0gXCJjYW5wbGF5Q2FsbGJhY2tzXCI7XG52YXIgX0VOREVEX0NBTExCQUNLID0gXCJlbmRlZENhbGxiYWNrc1wiO1xudmFyIF9FUlJPUl9DQUxMQkFDSyA9IFwiZXJyb3JDYWxsYmFja3NcIjtcbnZhciBfUEFVU0VfQ0FMTEJBQ0sgPSBcInBhdXNlQ2FsbGJhY2tzXCI7XG52YXIgX1BMQVlfQ0FMTEJBQ0sgPSBcInBsYXlDYWxsYmFja3NcIjtcbnZhciBfU0VFS0VEX0NBTExCQUNLID0gXCJzZWVrZWRDYWxsYmFja3NcIjtcbnZhciBfU0VFS0lOR19DQUxMQkFDSyA9IFwic2Vla2luZ0NhbGxiYWNrc1wiO1xudmFyIF9TVE9QX0NBTExCQUNLID0gXCJzdG9wQ2FsbGJhY2tzXCI7XG52YXIgX1RJTUVfVVBEQVRFX0NBTExCQUNLID0gXCJ0aW1lVXBkYXRlQ2FsbGJhY2tzXCI7XG52YXIgX1dBSVRJTkdfQ0FMTEJBQ0sgPSBcIndhaXRpbmdDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ09ERSA9IHtcbiAgRVJST1JfU1lTVEVNOiAxMDAwMSxcbiAgRVJST1JfTkVUOiAxMDAwMixcbiAgRVJST1JfRklMRTogMTAwMDMsXG4gIEVSUk9SX0ZPUk1BVDogMTAwMDQsXG4gIEVSUk9SX1VOS05PV046IC0xXG59O1xudmFyIF9TVEFURSA9IHtcbiAgRVJST1I6IC0xLFxuICBJTklUSUFMSVpJTkc6IDAsXG4gIFBMQVlJTkc6IDEsXG4gIFBBVVNFRDogMlxufTtcbnZhciBfYXVkaW9FbmdpbmUgPSB1bmRlZmluZWQ7XG5cbnZhciBfd2Vha01hcCA9IG5ldyBXZWFrTWFwKCk7XG5cbnZhciBfb2ZmQ2FsbGJhY2sgPSBmdW5jdGlvbiBfb2ZmQ2FsbGJhY2sodGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIgfHwgIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgY2FsbGJhY2tzLnNwbGljZShpLCAxKTtcbiAgICAgIHJldHVybiBjYWxsYmFjay5sZW5ndGggKyAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAwO1xufTtcblxudmFyIF9vbkNhbGxiYWNrID0gZnVuY3Rpb24gX29uQ2FsbGJhY2sodGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIgfHwgIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdO1xuXG4gIGlmICghY2FsbGJhY2tzKSB7XG4gICAgY2FsbGJhY2tzID0gcHJpdmF0ZVRoaXNbdHlwZV0gPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGlmIChjYWxsYmFjayA9PT0gY2FsbGJhY2tzW2ldKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsYmFja3MubGVuZ3RoO1xufTtcblxudmFyIF9kaXNwYXRjaENhbGxiYWNrID0gZnVuY3Rpb24gX2Rpc3BhdGNoQ2FsbGJhY2sodGFyZ2V0LCB0eXBlKSB7XG4gIHZhciBhcmdzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBbXTtcblxuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgY2FsbGJhY2tzID0gcHJpdmF0ZVRoaXNbdHlwZV0gfHwgW107XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBjYWxsYmFja3NbaV0uYXBwbHkodGFyZ2V0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIElubmVyQXVkaW9Db250ZXh0KCkge1xuICB0aGlzLnN0YXJ0VGltZSA9IDA7XG4gIHRoaXMuYXV0b3BsYXkgPSBmYWxzZTtcblxuICBfd2Vha01hcC5zZXQodGhpcywge1xuICAgIHNyYzogXCJcIixcbiAgICB2b2x1bWU6IDEsXG4gICAgbG9vcDogZmFsc2VcbiAgfSk7XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibG9vcFwiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhbHVlID0gISF2YWx1ZTtcblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICBfYXVkaW9FbmdpbmUuc2V0TG9vcChhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy5sb29wID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIHByaXZhdGVUaGlzID8gcHJpdmF0ZVRoaXMubG9vcCA6IGZhbHNlO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInZvbHVtZVwiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgIHZhbHVlID0gMDtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+IDEpIHtcbiAgICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gMTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICBfYXVkaW9FbmdpbmUuc2V0Vm9sdW1lKGF1ZGlvSUQsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGVUaGlzLnZvbHVtZSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnZvbHVtZSA6IDE7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic3JjXCIsIHtcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIG9sZFNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgICAgIHByaXZhdGVUaGlzLnNyYyA9IHZhbHVlO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwICYmIF9hdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKSA9PT0gX1NUQVRFLlBBVVNFRCAmJiBvbGRTcmMgIT09IHZhbHVlKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICAgICAgX2F1ZGlvRW5naW5lLnByZWxvYWQodmFsdWUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLnNyYyA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX0NBTlBMQVlfQ0FMTEJBQ0spO1xuXG4gICAgICAgICAgICAgIGlmIChzZWxmLmF1dG9wbGF5KSB7XG4gICAgICAgICAgICAgICAgc2VsZi5wbGF5KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIHByaXZhdGVUaGlzID8gcHJpdmF0ZVRoaXMuc3JjIDogXCJcIjtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkdXJhdGlvblwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0RHVyYXRpb24oYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5hTjtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KCkge31cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImN1cnJlbnRUaW1lXCIsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIF9hdWRpb0VuZ2luZS5nZXRDdXJyZW50VGltZShhdWRpb0lEKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KCkge31cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBhdXNlZFwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJidWZmZXJlZFwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0QnVmZmVyZWQoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xufVxuXG52YXIgX3Byb3RvdHlwZSA9IElubmVyQXVkaW9Db250ZXh0LnByb3RvdHlwZTtcblxuX3Byb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cblxuICAgIHByaXZhdGVUaGlzW19DQU5QTEFZX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19FTkRFRF9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRVJST1JfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1BBVVNFX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QTEFZX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLRURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1NFRUtJTkdfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1NUT1BfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1RJTUVfVVBEQVRFX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19XQUlUSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIGNsZWFySW50ZXJ2YWwocHJpdmF0ZVRoaXMuaW50ZXJ2YWxJRCk7XG4gIH1cbn07XG5cbl9wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmICghcHJpdmF0ZVRoaXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc3JjID0gcHJpdmF0ZVRoaXMuc3JjO1xuICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgaWYgKHR5cGVvZiBzcmMgIT09IFwic3RyaW5nXCIgfHwgc3JjID09PSBcIlwiKSB7XG4gICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX0VSUk9SX0NBTExCQUNLLCBbe1xuICAgICAgZXJyTXNnOiBcImludmFsaWQgc3JjXCIsXG4gICAgICBlcnJDb2RlOiBfRVJST1JfQ09ERS5FUlJPUl9GSUxFXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgIGlmIChfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQpIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5yZXN1bWUoYXVkaW9JRCk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcblxuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgIH1cbiAgfVxuXG4gIGF1ZGlvSUQgPSBfYXVkaW9FbmdpbmUucGxheShzcmMsIHRoaXMubG9vcCwgdGhpcy52b2x1bWUpO1xuXG4gIGlmIChhdWRpb0lEID09PSAtMSkge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJ1bmtub3duXCIsXG4gICAgICBlcnJDb2RlOiBfRVJST1JfQ09ERS5FUlJPUl9VTktOT1dOXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IGF1ZGlvSUQ7XG5cbiAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VGltZSA9PT0gXCJudW1iZXJcIiAmJiB0aGlzLnN0YXJ0VGltZSA+IDApIHtcbiAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgdGhpcy5zdGFydFRpbWUpO1xuICB9XG5cbiAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1dBSVRJTkdfQ0FMTEJBQ0spO1xuXG4gIHZhciBzZWxmID0gdGhpcztcblxuICBfYXVkaW9FbmdpbmUuc2V0Q2FuUGxheUNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX0NBTlBMQVlfQ0FMTEJBQ0spO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfUExBWV9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcblxuICBfYXVkaW9FbmdpbmUuc2V0V2FpdGluZ0NhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1dBSVRJTkdfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEVycm9yQ2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzcmMgPT09IHNlbGYuc3JjKSB7XG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9FUlJPUl9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcblxuICBfYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzcmMgPT09IHNlbGYuc3JjKSB7XG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9FTkRFRF9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcbn07XG5cbl9wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucGF1c2UoYXVkaW9JRCk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLnNlZWsgPSBmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcyAmJiB0eXBlb2YgcG9zaXRpb24gPT09IFwibnVtYmVyXCIgJiYgcG9zaXRpb24gPj0gMCkge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zZXRDdXJyZW50VGltZShhdWRpb0lELCBwb3NpdGlvbik7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLSU5HX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcblxuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLm9mZkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9DQU5QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVuZGVkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmRXJyb3IgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1BBVVNFX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZlBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZlNlZWtlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTdG9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZUaW1lVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIHZhciByZXN1bHQgPSBfb2ZmQ2FsbGJhY2sodGhpcywgX1RJTUVfVVBEQVRFX0NBTExCQUNLLCBjYWxsYmFjayk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gMSkge1xuICAgIGNsZWFySW50ZXJ2YWwoX3dlYWtNYXAuZ2V0KHRoaXMpLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9mZldhaXRpbmcgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uQ2FucGxheSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkVuZGVkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9FTkRFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblBhdXNlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX1BMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblNlZWtpbmcgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgXCJzZWVraW5nQ2FsbGJhY2tzXCIsIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TdG9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29uQ2FsbGJhY2sodGhpcywgX1RJTUVfVVBEQVRFX0NBTExCQUNLLCBjYWxsYmFjayk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gMSkge1xuICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldChzZWxmKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwICYmIF9hdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKSA9PT0gX1NUQVRFLlBMQVlJTkcpIHtcbiAgICAgICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfVElNRV9VUERBVEVfQ0FMTEJBQ0spO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsSUQpO1xuICAgICAgfVxuICAgIH0sIDUwMCk7XG4gICAgcHJpdmF0ZVRoaXMuaW50ZXJ2YWxJRCA9IGludGVydmFsSUQ7XG4gIH1cbn07XG5cbl9wcm90b3R5cGUub25XYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5mdW5jdGlvbiBfZGVmYXVsdChBdWRpb0VuZ2luZSkge1xuICBpZiAoX2F1ZGlvRW5naW5lID09PSB1bmRlZmluZWQpIHtcbiAgICBfYXVkaW9FbmdpbmUgPSBPYmplY3QuYXNzaWduKHt9LCBBdWRpb0VuZ2luZSk7XG4gICAgT2JqZWN0LmtleXMoQXVkaW9FbmdpbmUpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgQXVkaW9FbmdpbmVbbmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBBdWRpb0VuZ2luZVtuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJBdWRpb0VuZ2luZS5cIiArIG5hbWUgKyBcIiBpcyBkZXByZWNhdGVkXCIpO1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmVbbmFtZV0uYXBwbHkoQXVkaW9FbmdpbmUsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbmV3IElubmVyQXVkaW9Db250ZXh0KCk7XG59XG5cbjtcblxufSx7fV0sMjE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG52YXIgX2RlZmF1bHQgPSB7XG4gIGV4cG9ydFRvOiBmdW5jdGlvbiBleHBvcnRUbyhuYW1lLCBmcm9tLCB0bywgZXJyQ2FsbGJhY2spIHtcbiAgICBpZiAoX3R5cGVvZihmcm9tKSAhPT0gXCJvYmplY3RcIiB8fCBfdHlwZW9mKHRvKSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgY29uc29sZS53YXJuKFwiaW52YWxpZCBleHBvcnRUbzogXCIsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBmcm9tUHJvcGVydHkgPSBmcm9tW25hbWVdO1xuXG4gICAgaWYgKHR5cGVvZiBmcm9tUHJvcGVydHkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnJvbVByb3BlcnR5ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdG9bbmFtZV0gPSBmcm9tUHJvcGVydHkuYmluZChmcm9tKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0b1tuYW1lXSwgZnJvbVByb3BlcnR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvW25hbWVdID0gZnJvbVByb3BlcnR5O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0b1tuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihuYW1lICsgXCIgaXMgbm90IHN1cHBvcnQhXCIpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9O1xuXG4gICAgICBpZiAodHlwZW9mIGVyckNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZXJyQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XX0se30sWzhdKTtcbiJdLCJmaWxlIjoicmFsLmpzIn0= diff --git a/platforms/runtime/platforms/cocos-runtime/ral.min.js b/platforms/runtime/platforms/cocos-runtime/ral.min.js deleted file mode 100644 index e50ab1265e4..00000000000 --- a/platforms/runtime/platforms/cocos-runtime/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(r,i,a){function u(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(c)return c(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return u(r[t][1][e]||e)},o,o.exports,n,r,i,a)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;e= 0) { - _copyObject(touch, _touches[index]); - } else { - var tmp = {}; - - _copyObject(touch, tmp); - - _touches.push(tmp); - } - }); - } else if (type === "touchmove") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _copyObject(element, _touches[index]); - } - }); - } else if (type === "touchend" || type === "touchcancel") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _touches.splice(index, 1); - } - }); - } - - var touches = [].concat(_touches); - var _changedTouches = []; - changedTouches.forEach(function (touch) { - var length = touches.length; - - for (var _index = 0; _index < length; ++_index) { - var _touch = touches[_index]; - - if (touch.identifier === _touch.identifier) { - _changedTouches.push(_touch); - - return; - } - } - - _changedTouches.push(touch); - }); - touchEvent.touches = touches; - touchEvent.targetTouches = touches; - touchEvent.changedTouches = _changedTouches; - - if (_hasDellWith) { - touches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - - if (type === "touchcancel" || type === "touchend") { - _changedTouches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - } - } - - var listenerArr = _listenerMap[type]; - var length = listenerArr.length; - - for (var _index2 = 0; _index2 < length; _index2++) { - listenerArr[_index2](touchEvent); - } - }; -}; - -if (hbs.onTouchStart) { - ral.onTouchStart = hbs.onTouchStart; - ral.offTouchStart = hbs.offTouchStart; -} else { - _jsb.onTouchStart = _touchEventHandlerFactory('touchstart'); - - _jsb.offTouchStart = function (callback) { - _removeListener("touchstart", callback); - }; - - ral.onTouchStart = _jsb.onTouchStart.bind(_jsb); - ral.offTouchStart = _jsb.offTouchStart.bind(_jsb); -} - -if (hbs.onTouchMove) { - ral.onTouchMove = hbs.onTouchMove; - ral.offTouchMove = hbs.offTouchMove; -} else { - _jsb.onTouchMove = _touchEventHandlerFactory('touchmove'); - - _jsb.offTouchMove = function (callback) { - _removeListener("touchmove", callback); - }; - - ral.onTouchMove = _jsb.onTouchMove.bind(_jsb); - ral.offTouchMove = _jsb.offTouchMove.bind(_jsb); -} - -if (hbs.onTouchCancel) { - ral.onTouchCancel = hbs.onTouchCancel; - ral.offTouchCancel = hbs.offTouchCancel; -} else { - _jsb.onTouchCancel = _touchEventHandlerFactory('touchcancel'); - - _jsb.offTouchCancel = function (callback) { - _removeListener("touchcancel", callback); - }; - - ral.onTouchCancel = _jsb.onTouchCancel.bind(_jsb); - ral.offTouchCancel = _jsb.offTouchCancel.bind(_jsb); -} - -if (hbs.onTouchEnd) { - ral.onTouchEnd = hbs.onTouchEnd; - ral.offTouchEnd = hbs.offTouchEnd; -} else { - _jsb.onTouchEnd = _touchEventHandlerFactory('touchend'); - - _jsb.offTouchEnd = function (callback) { - _removeListener("touchend", callback); - }; - - ral.onTouchEnd = _jsb.onTouchEnd.bind(_jsb); - ral.offTouchEnd = _jsb.offTouchEnd.bind(_jsb); -} - -},{}],6:[function(require,module,exports){ -"use strict"; - -var _listeners = []; - -ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } -}; - -ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } -}; - -var _addEventListener = window.addEventListener.bind(window); - -var _onAccelerometerChange; - -ral.startAccelerometer = function () { - if (!_onAccelerometerChange) { - _onAccelerometerChange = function _onAccelerometerChange(event) { - var acceleration = Object.assign({}, event.accelerationIncludingGravity); - acceleration.x /= -10; - acceleration.y /= -10; - acceleration.z /= -10; - - _listeners.forEach(function (listener) { - listener({ - x: acceleration.x, - y: acceleration.y, - z: acceleration.z, - timestamp: event.timeStamp || Date.now() - }); - }); - }; - - _addEventListener("devicemotion", _onAccelerometerChange, false); - - jsb.device.setMotionEnabled(true); - } -}; - -var _removeEventListener = window.removeEventListener.bind(window); - -ral.stopAccelerometer = function () { - if (_onAccelerometerChange) { - _removeEventListener("devicemotion", _onAccelerometerChange, false); - - _onAccelerometerChange = null; - jsb.device.setMotionEnabled(false); - } -}; - -},{}],7:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getBatteryInfo", hbs, ral); - -_util["default"].exportTo("getBatteryInfoSync", hbs, ral); - -},{"../../util":20}],8:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getFileSystemManager", hbs, ral); - -},{"../../util":20}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/webgl"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":1,"../util":20,"./base/lifecycle":2,"./base/subpackage":3,"./base/system-info":4,"./base/touch-event":5,"./device/accelerometer":6,"./device/battery":7,"./file/file-system-manager":8,"./interface/keyboard":10,"./interface/window":11,"./media/audio":12,"./network/download":13,"./rendering/canvas":14,"./rendering/font":15,"./rendering/frame":16,"./rendering/image":17,"./rendering/webgl":18}],10:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onKeyboardInput", hbs, ral); - -_util["default"].exportTo("onKeyboardConfirm", hbs, ral); - -_util["default"].exportTo("onKeyboardComplete", hbs, ral); - -_util["default"].exportTo("offKeyboardInput", hbs, ral); - -_util["default"].exportTo("offKeyboardConfirm", hbs, ral); - -_util["default"].exportTo("offKeyboardComplete", hbs, ral); - -_util["default"].exportTo("hideKeyboard", hbs, ral); - -_util["default"].exportTo("showKeyboard", hbs, ral); - -_util["default"].exportTo("updateKeyboard", hbs, ral); - -},{"../../util":20}],11:[function(require,module,exports){ -"use strict"; - -var _onWindowResize = hbs.onWindowResize; - -ral.onWindowResize = function (callBack) { - _onWindowResize(function (size) { - callBack(size.width || size.windowWidth, size.height || size.windowHeight); - }); -}; - -},{}],12:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("AudioEngine", hbs, ral); - -_util["default"].exportTo("createInnerAudioContext", hbs, ral, function () { - if (_rt.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(hbs.AudioEngine); - }; - } -}); - -},{"../../inner-context":19,"../../util":20}],13:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("downloadFile", hbs, ral); - -},{"../../util":20}],14:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("createCanvas", hbs, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createCanvas = function () { - return document.createElement("canvas"); - }; - } - - _feature["default"].setFeature("ral.createCanvas", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":20}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadFont", hbs, ral); - -},{"../../util":20}],16:[function(require,module,exports){ -"use strict"; - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (hbs.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = hbs.setPreferredFramesPerSecond.bind(hbs); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadImageData", hbs, ral, function () { - if (window.jsb && typeof jsb.loadImage === "function") { - ral.loadImageData = jsb.loadImage; - } else { - console.error("loadImageData is not function"); - } -}); - -_util["default"].exportTo("createImage", hbs, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createImage = function () { - return document.createElement("image"); - }; - } -}); - -var featureValue = "huawei_platform_support"; - -_feature["default"].setFeature("ral.createImage", "spec", featureValue); - -},{"../../feature":1,"../../util":20}],18:[function(require,module,exports){ -"use strict"; - -if (window.__gl) { - var gl = window.__gl; - var _glTexImage2D = gl.texImage2D; - - gl.texImage2D = function (target, level, internalformat, width, height, border, format, type, pixels) { - var argc = arguments.length; - - if (argc === 6) { - var image = border; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - _glTexImage2D(target, level, image._glInternalFormat, image.width, image.height, 0, image._glFormat, image._glType, image._data); - } else if (image instanceof HTMLCanvasElement) { - if (image._context2D && image._context2D._getData) { - var data = image._context2D._getData(); - - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, data); - } else { - console.error("Invalid image argument gl.texImage2D!"); - } - } else if (image.height && image.width && image.data) { - var error = console.error; - - console.error = function () {}; - - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, image.data); - - console.error = error; - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } else { - console.error("gl.texImage2D: invalid argument count!"); - } - }; - - var _glTexSubImage2D = gl.texSubImage2D; - - gl.texSubImage2D = function (target, level, xoffset, yoffset, width, height, format, type, pixels) { - var argc = arguments.length; - - if (argc === 7) { - var image = format; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, image._glFormat, image._glType, image._data); - } else if (image instanceof HTMLCanvasElement) { - if (image._context2D && image._context2D._getData) { - var data = image._context2D._getData(); - - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, data); - } else { - console.error("Invalid image argument gl.texSubImage2D!"); - } - } else if (image.height && image.width && image.data) { - var error = console.error; - - console.error = function () {}; - - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, image.data); - - console.error = error; - } else { - console.error("Invalid pixel argument passed to gl.texSubImage2D!"); - } - } else if (argc === 9) { - _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } else { - console.error(new Error("gl.texImage2D: invalid argument count!").stack); - } - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = _default; -var _CANPLAY_CALLBACK = "canplayCallbacks"; -var _ENDED_CALLBACK = "endedCallbacks"; -var _ERROR_CALLBACK = "errorCallbacks"; -var _PAUSE_CALLBACK = "pauseCallbacks"; -var _PLAY_CALLBACK = "playCallbacks"; -var _SEEKED_CALLBACK = "seekedCallbacks"; -var _SEEKING_CALLBACK = "seekingCallbacks"; -var _STOP_CALLBACK = "stopCallbacks"; -var _TIME_UPDATE_CALLBACK = "timeUpdateCallbacks"; -var _WAITING_CALLBACK = "waitingCallbacks"; -var _ERROR_CODE = { - ERROR_SYSTEM: 10001, - ERROR_NET: 10002, - ERROR_FILE: 10003, - ERROR_FORMAT: 10004, - ERROR_UNKNOWN: -1 -}; -var _STATE = { - ERROR: -1, - INITIALIZING: 0, - PLAYING: 1, - PAUSED: 2 -}; -var _audioEngine = undefined; - -var _weakMap = new WeakMap(); - -var _offCallback = function _offCallback(target, type, callback) { - var privateThis = _weakMap.get(target); - - if (typeof callback !== "function" || !privateThis) { - return -1; - } - - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - if (callback === callbacks[i]) { - callbacks.splice(i, 1); - return callback.length + 1; - } - } - - return 0; -}; - -var _onCallback = function _onCallback(target, type, callback) { - var privateThis = _weakMap.get(target); - - if (typeof callback !== "function" || !privateThis) { - return -1; - } - - var callbacks = privateThis[type]; - - if (!callbacks) { - callbacks = privateThis[type] = [callback]; - } else { - for (var i = 0, len = callbacks.length; i < len; ++i) { - if (callback === callbacks[i]) { - return 0; - } - } - - callbacks.push(callback); - } - - return callbacks.length; -}; - -var _dispatchCallback = function _dispatchCallback(target, type) { - var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],20:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}]},{},[9]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xudmFyIF9mZWF0dXJlcyA9IHt9O1xudmFyIF9kZWZhdWx0ID0ge1xuICBzZXRGZWF0dXJlOiBmdW5jdGlvbiBzZXRGZWF0dXJlKGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICB2YXIgZmVhdHVyZSA9IF9mZWF0dXJlc1tmZWF0dXJlTmFtZV07XG5cbiAgICBpZiAoIWZlYXR1cmUpIHtcbiAgICAgIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdID0ge307XG4gICAgfVxuXG4gICAgZmVhdHVyZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgfSxcbiAgZ2V0RmVhdHVyZVByb3BlcnR5OiBmdW5jdGlvbiBnZXRGZWF0dXJlUHJvcGVydHkoZmVhdHVyZU5hbWUsIHByb3BlcnR5KSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuICAgIHJldHVybiBmZWF0dXJlID8gZmVhdHVyZVtwcm9wZXJ0eV0gOiB1bmRlZmluZWQ7XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uU2hvd1wiLCBoYnMsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uSGlkZVwiLCBoYnMsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZlNob3dcIiwgaGJzLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZIaWRlXCIsIGhicywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjB9XSwzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbnZhciBfbG9hZFN1YnBhY2thZ2UgPSBoYnMubG9hZFN1YnBhY2thZ2UuYmluZChoYnMpO1xuXG5yYWwubG9hZFN1YnBhY2thZ2UgPSBmdW5jdGlvbiAob2JqZWN0KSB7XG4gIHZhciBvYmogPSBvYmplY3Q7XG5cbiAgaWYgKF90eXBlb2Yob2JqZWN0KSA9PT0gXCJvYmplY3RcIikge1xuICAgIG9iaiA9IE9iamVjdC5hc3NpZ24oe30sIG9iamVjdCk7XG4gICAgb2JqLnN1YnBhY2thZ2UgPSBvYmplY3QubmFtZTtcbiAgfVxuXG4gIHJldHVybiBfbG9hZFN1YnBhY2thZ2UuY2FsbCh0aGlzLCBvYmopO1xufTtcblxufSx7fV0sNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJlbnZcIiwgaGJzLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRTeXN0ZW1JbmZvXCIsIGhicywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1N5bmNcIiwgaGJzLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMH1dLDU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfanNiID0gd2luZG93LmpzYjtcblxuaWYgKCFfanNiKSB7XG4gIF9qc2IgPSB7fTtcbn1cblxudmFyIF90b3VjaGVzID0gW107XG5cbnZhciBfZ2V0VG91Y2hJbmRleCA9IGZ1bmN0aW9uIF9nZXRUb3VjaEluZGV4KHRvdWNoKSB7XG4gIHZhciBlbGVtZW50O1xuXG4gIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBfdG91Y2hlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBlbGVtZW50ID0gX3RvdWNoZXNbaW5kZXhdO1xuXG4gICAgaWYgKHRvdWNoLmlkZW50aWZpZXIgPT09IGVsZW1lbnQuaWRlbnRpZmllcikge1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMTtcbn07XG5cbnZhciBfY29weU9iamVjdCA9IGZ1bmN0aW9uIF9jb3B5T2JqZWN0KGZyb21PYmosIHRvT2JqZWN0KSB7XG4gIGZvciAodmFyIGtleSBpbiBmcm9tT2JqKSB7XG4gICAgaWYgKGZyb21PYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgdG9PYmplY3Rba2V5XSA9IGZyb21PYmpba2V5XTtcbiAgICB9XG4gIH1cbn07XG5cbnZhciBfbGlzdGVuZXJNYXAgPSB7XG4gIFwidG91Y2hzdGFydFwiOiBbXSxcbiAgXCJ0b3VjaG1vdmVcIjogW10sXG4gIFwidG91Y2hlbmRcIjogW10sXG4gIFwidG91Y2hjYW5jZWxcIjogW11cbn07XG5cbmZ1bmN0aW9uIF9hZGRMaXN0ZW5lcihrZXksIHZhbHVlKSB7XG4gIHZhciBsaXN0ZW5lckFyciA9IF9saXN0ZW5lck1hcFtrZXldO1xuXG4gIGZvciAodmFyIGluZGV4ID0gMCwgbGVuZ3RoID0gbGlzdGVuZXJBcnIubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xuICAgIGlmICh2YWx1ZSA9PT0gbGlzdGVuZXJBcnJbaW5kZXhdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgbGlzdGVuZXJBcnIucHVzaCh2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIF9yZW1vdmVMaXN0ZW5lcihrZXksIHZhbHVlKSB7XG4gIHZhciBsaXN0ZW5lckFyciA9IF9saXN0ZW5lck1hcFtrZXldIHx8IFtdO1xuICB2YXIgbGVuZ3RoID0gbGlzdGVuZXJBcnIubGVuZ3RoO1xuXG4gIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICBpZiAodmFsdWUgPT09IGxpc3RlbmVyQXJyW2luZGV4XSkge1xuICAgICAgbGlzdGVuZXJBcnIuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxudmFyIF9oYXNEZWxsV2l0aCA9IGZhbHNlO1xuXG52YXIgX3N5c3RlbUluZm8gPSBoYnMuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcblxuaWYgKHdpbmRvdy5pbm5lcldpZHRoICYmIF9zeXN0ZW1JbmZvLndpbmRvd1dpZHRoICE9PSB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICBfaGFzRGVsbFdpdGggPSB0cnVlO1xufVxuXG52YXIgX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSA9IGZ1bmN0aW9uIF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkodHlwZSkge1xuICByZXR1cm4gZnVuY3Rpb24gKGNoYW5nZWRUb3VjaGVzKSB7XG4gICAgaWYgKHR5cGVvZiBjaGFuZ2VkVG91Y2hlcyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBfYWRkTGlzdGVuZXIodHlwZSwgY2hhbmdlZFRvdWNoZXMpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHRvdWNoRXZlbnQgPSBuZXcgVG91Y2hFdmVudCh0eXBlKTtcbiAgICB2YXIgaW5kZXg7XG5cbiAgICBpZiAodHlwZSA9PT0gXCJ0b3VjaHN0YXJ0XCIpIHtcbiAgICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICAgIGluZGV4ID0gX2dldFRvdWNoSW5kZXgodG91Y2gpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX2NvcHlPYmplY3QodG91Y2gsIF90b3VjaGVzW2luZGV4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHRtcCA9IHt9O1xuXG4gICAgICAgICAgX2NvcHlPYmplY3QodG91Y2gsIHRtcCk7XG5cbiAgICAgICAgICBfdG91Y2hlcy5wdXNoKHRtcCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJ0b3VjaG1vdmVcIikge1xuICAgICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX2NvcHlPYmplY3QoZWxlbWVudCwgX3RvdWNoZXNbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBcInRvdWNoZW5kXCIgfHwgdHlwZSA9PT0gXCJ0b3VjaGNhbmNlbFwiKSB7XG4gICAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgIGluZGV4ID0gX2dldFRvdWNoSW5kZXgoZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBfdG91Y2hlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgdG91Y2hlcyA9IFtdLmNvbmNhdChfdG91Y2hlcyk7XG4gICAgdmFyIF9jaGFuZ2VkVG91Y2hlcyA9IFtdO1xuICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gdG91Y2hlcy5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIF9pbmRleCA9IDA7IF9pbmRleCA8IGxlbmd0aDsgKytfaW5kZXgpIHtcbiAgICAgICAgdmFyIF90b3VjaCA9IHRvdWNoZXNbX2luZGV4XTtcblxuICAgICAgICBpZiAodG91Y2guaWRlbnRpZmllciA9PT0gX3RvdWNoLmlkZW50aWZpZXIpIHtcbiAgICAgICAgICBfY2hhbmdlZFRvdWNoZXMucHVzaChfdG91Y2gpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIF9jaGFuZ2VkVG91Y2hlcy5wdXNoKHRvdWNoKTtcbiAgICB9KTtcbiAgICB0b3VjaEV2ZW50LnRvdWNoZXMgPSB0b3VjaGVzO1xuICAgIHRvdWNoRXZlbnQudGFyZ2V0VG91Y2hlcyA9IHRvdWNoZXM7XG4gICAgdG91Y2hFdmVudC5jaGFuZ2VkVG91Y2hlcyA9IF9jaGFuZ2VkVG91Y2hlcztcblxuICAgIGlmIChfaGFzRGVsbFdpdGgpIHtcbiAgICAgIHRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgICAgdG91Y2guY2xpZW50WCAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgdG91Y2guY2xpZW50WSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgdG91Y2gucGFnZVggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLnBhZ2VZIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlID09PSBcInRvdWNoY2FuY2VsXCIgfHwgdHlwZSA9PT0gXCJ0b3VjaGVuZFwiKSB7XG4gICAgICAgIF9jaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgICAgIHRvdWNoLmNsaWVudFggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2guY2xpZW50WSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICB0b3VjaC5wYWdlWCAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICB0b3VjaC5wYWdlWSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW3R5cGVdO1xuICAgIHZhciBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7XG5cbiAgICBmb3IgKHZhciBfaW5kZXgyID0gMDsgX2luZGV4MiA8IGxlbmd0aDsgX2luZGV4MisrKSB7XG4gICAgICBsaXN0ZW5lckFycltfaW5kZXgyXSh0b3VjaEV2ZW50KTtcbiAgICB9XG4gIH07XG59O1xuXG5pZiAoaGJzLm9uVG91Y2hTdGFydCkge1xuICByYWwub25Ub3VjaFN0YXJ0ID0gaGJzLm9uVG91Y2hTdGFydDtcbiAgcmFsLm9mZlRvdWNoU3RhcnQgPSBoYnMub2ZmVG91Y2hTdGFydDtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaFN0YXJ0ID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hzdGFydCcpO1xuXG4gIF9qc2Iub2ZmVG91Y2hTdGFydCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoU3RhcnQgPSBfanNiLm9uVG91Y2hTdGFydC5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hTdGFydCA9IF9qc2Iub2ZmVG91Y2hTdGFydC5iaW5kKF9qc2IpO1xufVxuXG5pZiAoaGJzLm9uVG91Y2hNb3ZlKSB7XG4gIHJhbC5vblRvdWNoTW92ZSA9IGhicy5vblRvdWNoTW92ZTtcbiAgcmFsLm9mZlRvdWNoTW92ZSA9IGhicy5vZmZUb3VjaE1vdmU7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hNb3ZlID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2htb3ZlJyk7XG5cbiAgX2pzYi5vZmZUb3VjaE1vdmUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoTW92ZSA9IF9qc2Iub25Ub3VjaE1vdmUuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoTW92ZSA9IF9qc2Iub2ZmVG91Y2hNb3ZlLmJpbmQoX2pzYik7XG59XG5cbmlmIChoYnMub25Ub3VjaENhbmNlbCkge1xuICByYWwub25Ub3VjaENhbmNlbCA9IGhicy5vblRvdWNoQ2FuY2VsO1xuICByYWwub2ZmVG91Y2hDYW5jZWwgPSBoYnMub2ZmVG91Y2hDYW5jZWw7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hDYW5jZWwgPSBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KCd0b3VjaGNhbmNlbCcpO1xuXG4gIF9qc2Iub2ZmVG91Y2hDYW5jZWwgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaGNhbmNlbFwiLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmFsLm9uVG91Y2hDYW5jZWwgPSBfanNiLm9uVG91Y2hDYW5jZWwuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoQ2FuY2VsID0gX2pzYi5vZmZUb3VjaENhbmNlbC5iaW5kKF9qc2IpO1xufVxuXG5pZiAoaGJzLm9uVG91Y2hFbmQpIHtcbiAgcmFsLm9uVG91Y2hFbmQgPSBoYnMub25Ub3VjaEVuZDtcbiAgcmFsLm9mZlRvdWNoRW5kID0gaGJzLm9mZlRvdWNoRW5kO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoRW5kID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hlbmQnKTtcblxuICBfanNiLm9mZlRvdWNoRW5kID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2hlbmRcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoRW5kID0gX2pzYi5vblRvdWNoRW5kLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaEVuZCA9IF9qc2Iub2ZmVG91Y2hFbmQuYmluZChfanNiKTtcbn1cblxufSx7fV0sNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9saXN0ZW5lcnMgPSBbXTtcblxucmFsLm9uQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICBpZiAodHlwZW9mIGxpc3RlbmVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgbGVuZ3RoID0gX2xpc3RlbmVycy5sZW5ndGg7XG5cbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICBpZiAobGlzdGVuZXIgPT09IF9saXN0ZW5lcnNbaW5kZXhdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICB9XG59O1xuXG5yYWwub2ZmQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICB2YXIgbGVuZ3RoID0gX2xpc3RlbmVycy5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgIGlmIChsaXN0ZW5lciA9PT0gX2xpc3RlbmVyc1tpbmRleF0pIHtcbiAgICAgIF9saXN0ZW5lcnMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufTtcblxudmFyIF9hZGRFdmVudExpc3RlbmVyID0gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIuYmluZCh3aW5kb3cpO1xuXG52YXIgX29uQWNjZWxlcm9tZXRlckNoYW5nZTtcblxucmFsLnN0YXJ0QWNjZWxlcm9tZXRlciA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCFfb25BY2NlbGVyb21ldGVyQ2hhbmdlKSB7XG4gICAgX29uQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UoZXZlbnQpIHtcbiAgICAgIHZhciBhY2NlbGVyYXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBldmVudC5hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KTtcbiAgICAgIGFjY2VsZXJhdGlvbi54IC89IC0xMDtcbiAgICAgIGFjY2VsZXJhdGlvbi55IC89IC0xMDtcbiAgICAgIGFjY2VsZXJhdGlvbi56IC89IC0xMDtcblxuICAgICAgX2xpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgICBsaXN0ZW5lcih7XG4gICAgICAgICAgeDogYWNjZWxlcmF0aW9uLngsXG4gICAgICAgICAgeTogYWNjZWxlcmF0aW9uLnksXG4gICAgICAgICAgejogYWNjZWxlcmF0aW9uLnosXG4gICAgICAgICAgdGltZXN0YW1wOiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfYWRkRXZlbnRMaXN0ZW5lcihcImRldmljZW1vdGlvblwiLCBfb25BY2NlbGVyb21ldGVyQ2hhbmdlLCBmYWxzZSk7XG5cbiAgICBqc2IuZGV2aWNlLnNldE1vdGlvbkVuYWJsZWQodHJ1ZSk7XG4gIH1cbn07XG5cbnZhciBfcmVtb3ZlRXZlbnRMaXN0ZW5lciA9IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQod2luZG93KTtcblxucmFsLnN0b3BBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKCkge1xuICBpZiAoX29uQWNjZWxlcm9tZXRlckNoYW5nZSkge1xuICAgIF9yZW1vdmVFdmVudExpc3RlbmVyKFwiZGV2aWNlbW90aW9uXCIsIF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UsIGZhbHNlKTtcblxuICAgIF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBudWxsO1xuICAgIGpzYi5kZXZpY2Uuc2V0TW90aW9uRW5hYmxlZChmYWxzZSk7XG4gIH1cbn07XG5cbn0se31dLDc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0QmF0dGVyeUluZm9cIiwgaGJzLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRCYXR0ZXJ5SW5mb1N5bmNcIiwgaGJzLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMH1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0RmlsZVN5c3RlbU1hbmFnZXJcIiwgaGJzLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMH1dLDk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL3V0aWxcIikpO1xuXG52YXIgX2ZlYXR1cmUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi9mZWF0dXJlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbmlmICh3aW5kb3cuanNiKSB7XG4gIHdpbmRvdy5yYWwgPSBPYmplY3QuYXNzaWduKHt9LCB3aW5kb3cuanNiKTtcbn0gZWxzZSB7XG4gIHdpbmRvdy5yYWwgPSB7fTtcbn1cblxucmVxdWlyZShcIi4vYmFzZS9saWZlY3ljbGVcIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2Uvc3VicGFja2FnZVwiKTtcblxucmVxdWlyZShcIi4vYmFzZS9zeXN0ZW0taW5mb1wiKTtcblxucmVxdWlyZShcIi4vYmFzZS90b3VjaC1ldmVudFwiKTtcblxucmVxdWlyZShcIi4vZGV2aWNlL2FjY2VsZXJvbWV0ZXJcIik7XG5cbnJlcXVpcmUoXCIuL2RldmljZS9iYXR0ZXJ5XCIpO1xuXG5yZXF1aXJlKFwiLi9maWxlL2ZpbGUtc3lzdGVtLW1hbmFnZXJcIik7XG5cbnJlcXVpcmUoXCIuL2ludGVyZmFjZS9rZXlib2FyZFwiKTtcblxucmVxdWlyZShcIi4vaW50ZXJmYWNlL3dpbmRvd1wiKTtcblxucmVxdWlyZShcIi4vbWVkaWEvYXVkaW9cIik7XG5cbnJlcXVpcmUoXCIuL25ldHdvcmsvZG93bmxvYWRcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9jYW52YXNcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy93ZWJnbFwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ZvbnRcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9mcmFtZVwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ltYWdlXCIpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRGZWF0dXJlUHJvcGVydHlcIiwgX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLCByYWwpO1xuXG59LHtcIi4uL2ZlYXR1cmVcIjoxLFwiLi4vdXRpbFwiOjIwLFwiLi9iYXNlL2xpZmVjeWNsZVwiOjIsXCIuL2Jhc2Uvc3VicGFja2FnZVwiOjMsXCIuL2Jhc2Uvc3lzdGVtLWluZm9cIjo0LFwiLi9iYXNlL3RvdWNoLWV2ZW50XCI6NSxcIi4vZGV2aWNlL2FjY2VsZXJvbWV0ZXJcIjo2LFwiLi9kZXZpY2UvYmF0dGVyeVwiOjcsXCIuL2ZpbGUvZmlsZS1zeXN0ZW0tbWFuYWdlclwiOjgsXCIuL2ludGVyZmFjZS9rZXlib2FyZFwiOjEwLFwiLi9pbnRlcmZhY2Uvd2luZG93XCI6MTEsXCIuL21lZGlhL2F1ZGlvXCI6MTIsXCIuL25ldHdvcmsvZG93bmxvYWRcIjoxMyxcIi4vcmVuZGVyaW5nL2NhbnZhc1wiOjE0LFwiLi9yZW5kZXJpbmcvZm9udFwiOjE1LFwiLi9yZW5kZXJpbmcvZnJhbWVcIjoxNixcIi4vcmVuZGVyaW5nL2ltYWdlXCI6MTcsXCIuL3JlbmRlcmluZy93ZWJnbFwiOjE4fV0sMTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZElucHV0XCIsIGhicywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbmZpcm1cIiwgaGJzLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvbktleWJvYXJkQ29tcGxldGVcIiwgaGJzLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZLZXlib2FyZElucHV0XCIsIGhicywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRDb25maXJtXCIsIGhicywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRDb21wbGV0ZVwiLCBoYnMsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImhpZGVLZXlib2FyZFwiLCBoYnMsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcInNob3dLZXlib2FyZFwiLCBoYnMsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcInVwZGF0ZUtleWJvYXJkXCIsIGhicywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjB9XSwxMTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9vbldpbmRvd1Jlc2l6ZSA9IGhicy5vbldpbmRvd1Jlc2l6ZTtcblxucmFsLm9uV2luZG93UmVzaXplID0gZnVuY3Rpb24gKGNhbGxCYWNrKSB7XG4gIF9vbldpbmRvd1Jlc2l6ZShmdW5jdGlvbiAoc2l6ZSkge1xuICAgIGNhbGxCYWNrKHNpemUud2lkdGggfHwgc2l6ZS53aW5kb3dXaWR0aCwgc2l6ZS5oZWlnaHQgfHwgc2l6ZS53aW5kb3dIZWlnaHQpO1xuICB9KTtcbn07XG5cbn0se31dLDEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX2lubmVyQ29udGV4dCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2lubmVyLWNvbnRleHRcIikpO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIkF1ZGlvRW5naW5lXCIsIGhicywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHRcIiwgaGJzLCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9ydC5BdWRpb0VuZ2luZSkge1xuICAgIHJhbC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiAoMCwgX2lubmVyQ29udGV4dFtcImRlZmF1bHRcIl0pKGhicy5BdWRpb0VuZ2luZSk7XG4gICAgfTtcbiAgfVxufSk7XG5cbn0se1wiLi4vLi4vaW5uZXItY29udGV4dFwiOjE5LFwiLi4vLi4vdXRpbFwiOjIwfV0sMTM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZG93bmxvYWRGaWxlXCIsIGhicywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjB9XSwxNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlQ2FudmFzXCIsIGhicywgcmFsLCBmdW5jdGlvbiAoKSB7XG4gIHZhciBmZWF0dXJlVmFsdWUgPSBcInVuc3VwcG9ydGVkXCI7XG5cbiAgaWYgKGRvY3VtZW50ICYmIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmZWF0dXJlVmFsdWUgPSBcIndyYXBwZXJcIjtcblxuICAgIHJhbC5jcmVhdGVDYW52YXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICB9O1xuICB9XG5cbiAgX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLnNldEZlYXR1cmUoXCJyYWwuY3JlYXRlQ2FudmFzXCIsIFwic3BlY1wiLCBmZWF0dXJlVmFsdWUpO1xufSk7XG5cbn0se1wiLi4vLi4vZmVhdHVyZVwiOjEsXCIuLi8uLi91dGlsXCI6MjB9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkRm9udFwiLCBoYnMsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIwfV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmlmICh3aW5kb3cuanNiICYmIGpzYi5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQpIHtcbiAgcmFsLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9IGpzYi5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQuYmluZChqc2IpO1xufSBlbHNlIGlmIChoYnMuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBoYnMuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kLmJpbmQoaGJzKTtcbn0gZWxzZSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgY29uc29sZS5lcnJvcihcIlRoZSBzZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgaXMgbm90IGRlZmluZSFcIik7XG4gIH07XG59XG5cbn0se31dLDE3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxudmFyIF9mZWF0dXJlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vZmVhdHVyZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkSW1hZ2VEYXRhXCIsIGhicywgcmFsLCBmdW5jdGlvbiAoKSB7XG4gIGlmICh3aW5kb3cuanNiICYmIHR5cGVvZiBqc2IubG9hZEltYWdlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByYWwubG9hZEltYWdlRGF0YSA9IGpzYi5sb2FkSW1hZ2U7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcihcImxvYWRJbWFnZURhdGEgaXMgbm90IGZ1bmN0aW9uXCIpO1xuICB9XG59KTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW1hZ2VcIiwgaGJzLCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgdmFyIGZlYXR1cmVWYWx1ZSA9IFwidW5zdXBwb3J0ZWRcIjtcblxuICBpZiAoZG9jdW1lbnQgJiYgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZlYXR1cmVWYWx1ZSA9IFwid3JhcHBlclwiO1xuXG4gICAgcmFsLmNyZWF0ZUltYWdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWFnZVwiKTtcbiAgICB9O1xuICB9XG59KTtcblxudmFyIGZlYXR1cmVWYWx1ZSA9IFwiaHVhd2VpX3BsYXRmb3JtX3N1cHBvcnRcIjtcblxuX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLnNldEZlYXR1cmUoXCJyYWwuY3JlYXRlSW1hZ2VcIiwgXCJzcGVjXCIsIGZlYXR1cmVWYWx1ZSk7XG5cbn0se1wiLi4vLi4vZmVhdHVyZVwiOjEsXCIuLi8uLi91dGlsXCI6MjB9XSwxODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuaWYgKHdpbmRvdy5fX2dsKSB7XG4gIHZhciBnbCA9IHdpbmRvdy5fX2dsO1xuICB2YXIgX2dsVGV4SW1hZ2UyRCA9IGdsLnRleEltYWdlMkQ7XG5cbiAgZ2wudGV4SW1hZ2UyRCA9IGZ1bmN0aW9uICh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgYm9yZGVyLCBmb3JtYXQsIHR5cGUsIHBpeGVscykge1xuICAgIHZhciBhcmdjID0gYXJndW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChhcmdjID09PSA2KSB7XG4gICAgICB2YXIgaW1hZ2UgPSBib3JkZXI7XG4gICAgICB0eXBlID0gaGVpZ2h0O1xuICAgICAgZm9ybWF0ID0gd2lkdGg7XG5cbiAgICAgIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgX2dsVGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbWFnZS5fZ2xJbnRlcm5hbEZvcm1hdCwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCwgMCwgaW1hZ2UuX2dsRm9ybWF0LCBpbWFnZS5fZ2xUeXBlLCBpbWFnZS5fZGF0YSk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgaWYgKGltYWdlLl9jb250ZXh0MkQgJiYgaW1hZ2UuX2NvbnRleHQyRC5fZ2V0RGF0YSkge1xuICAgICAgICAgIHZhciBkYXRhID0gaW1hZ2UuX2NvbnRleHQyRC5fZ2V0RGF0YSgpO1xuXG4gICAgICAgICAgX2dsVGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCwgMCwgZm9ybWF0LCB0eXBlLCBkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBpbWFnZSBhcmd1bWVudCBnbC50ZXhJbWFnZTJEIVwiKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpbWFnZS5oZWlnaHQgJiYgaW1hZ2Uud2lkdGggJiYgaW1hZ2UuZGF0YSkge1xuICAgICAgICB2YXIgZXJyb3IgPSBjb25zb2xlLmVycm9yO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbiAoKSB7fTtcblxuICAgICAgICBfZ2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCAwLCBmb3JtYXQsIHR5cGUsIGltYWdlLmRhdGEpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBlcnJvcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHBpeGVsIGFyZ3VtZW50IHBhc3NlZCB0byBnbC50ZXhJbWFnZTJEIVwiKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFyZ2MgPT09IDkpIHtcbiAgICAgIF9nbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIGJvcmRlciwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiZ2wudGV4SW1hZ2UyRDogaW52YWxpZCBhcmd1bWVudCBjb3VudCFcIik7XG4gICAgfVxuICB9O1xuXG4gIHZhciBfZ2xUZXhTdWJJbWFnZTJEID0gZ2wudGV4U3ViSW1hZ2UyRDtcblxuICBnbC50ZXhTdWJJbWFnZTJEID0gZnVuY3Rpb24gKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKSB7XG4gICAgdmFyIGFyZ2MgPSBhcmd1bWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKGFyZ2MgPT09IDcpIHtcbiAgICAgIHZhciBpbWFnZSA9IGZvcm1hdDtcbiAgICAgIHR5cGUgPSBoZWlnaHQ7XG4gICAgICBmb3JtYXQgPSB3aWR0aDtcblxuICAgICAgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCkge1xuICAgICAgICBfZ2xUZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIGltYWdlLl9nbEZvcm1hdCwgaW1hZ2UuX2dsVHlwZSwgaW1hZ2UuX2RhdGEpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSB7XG4gICAgICAgIGlmIChpbWFnZS5fY29udGV4dDJEICYmIGltYWdlLl9jb250ZXh0MkQuX2dldERhdGEpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IGltYWdlLl9jb250ZXh0MkQuX2dldERhdGEoKTtcblxuICAgICAgICAgIF9nbFRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCwgZm9ybWF0LCB0eXBlLCBkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBpbWFnZSBhcmd1bWVudCBnbC50ZXhTdWJJbWFnZTJEIVwiKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpbWFnZS5oZWlnaHQgJiYgaW1hZ2Uud2lkdGggJiYgaW1hZ2UuZGF0YSkge1xuICAgICAgICB2YXIgZXJyb3IgPSBjb25zb2xlLmVycm9yO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbiAoKSB7fTtcblxuICAgICAgICBfZ2xUZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZGF0YSk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGVycm9yO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgcGl4ZWwgYXJndW1lbnQgcGFzc2VkIHRvIGdsLnRleFN1YkltYWdlMkQhXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJnYyA9PT0gOSkge1xuICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobmV3IEVycm9yKFwiZ2wudGV4SW1hZ2UyRDogaW52YWxpZCBhcmd1bWVudCBjb3VudCFcIikuc3RhY2spO1xuICAgIH1cbiAgfTtcbn1cblxufSx7fV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xudmFyIF9DQU5QTEFZX0NBTExCQUNLID0gXCJjYW5wbGF5Q2FsbGJhY2tzXCI7XG52YXIgX0VOREVEX0NBTExCQUNLID0gXCJlbmRlZENhbGxiYWNrc1wiO1xudmFyIF9FUlJPUl9DQUxMQkFDSyA9IFwiZXJyb3JDYWxsYmFja3NcIjtcbnZhciBfUEFVU0VfQ0FMTEJBQ0sgPSBcInBhdXNlQ2FsbGJhY2tzXCI7XG52YXIgX1BMQVlfQ0FMTEJBQ0sgPSBcInBsYXlDYWxsYmFja3NcIjtcbnZhciBfU0VFS0VEX0NBTExCQUNLID0gXCJzZWVrZWRDYWxsYmFja3NcIjtcbnZhciBfU0VFS0lOR19DQUxMQkFDSyA9IFwic2Vla2luZ0NhbGxiYWNrc1wiO1xudmFyIF9TVE9QX0NBTExCQUNLID0gXCJzdG9wQ2FsbGJhY2tzXCI7XG52YXIgX1RJTUVfVVBEQVRFX0NBTExCQUNLID0gXCJ0aW1lVXBkYXRlQ2FsbGJhY2tzXCI7XG52YXIgX1dBSVRJTkdfQ0FMTEJBQ0sgPSBcIndhaXRpbmdDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ09ERSA9IHtcbiAgRVJST1JfU1lTVEVNOiAxMDAwMSxcbiAgRVJST1JfTkVUOiAxMDAwMixcbiAgRVJST1JfRklMRTogMTAwMDMsXG4gIEVSUk9SX0ZPUk1BVDogMTAwMDQsXG4gIEVSUk9SX1VOS05PV046IC0xXG59O1xudmFyIF9TVEFURSA9IHtcbiAgRVJST1I6IC0xLFxuICBJTklUSUFMSVpJTkc6IDAsXG4gIFBMQVlJTkc6IDEsXG4gIFBBVVNFRDogMlxufTtcbnZhciBfYXVkaW9FbmdpbmUgPSB1bmRlZmluZWQ7XG5cbnZhciBfd2Vha01hcCA9IG5ldyBXZWFrTWFwKCk7XG5cbnZhciBfb2ZmQ2FsbGJhY2sgPSBmdW5jdGlvbiBfb2ZmQ2FsbGJhY2sodGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIgfHwgIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgY2FsbGJhY2tzLnNwbGljZShpLCAxKTtcbiAgICAgIHJldHVybiBjYWxsYmFjay5sZW5ndGggKyAxO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAwO1xufTtcblxudmFyIF9vbkNhbGxiYWNrID0gZnVuY3Rpb24gX29uQ2FsbGJhY2sodGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIgfHwgIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdO1xuXG4gIGlmICghY2FsbGJhY2tzKSB7XG4gICAgY2FsbGJhY2tzID0gcHJpdmF0ZVRoaXNbdHlwZV0gPSBbY2FsbGJhY2tdO1xuICB9IGVsc2Uge1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIGlmIChjYWxsYmFjayA9PT0gY2FsbGJhY2tzW2ldKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsYmFja3MubGVuZ3RoO1xufTtcblxudmFyIF9kaXNwYXRjaENhbGxiYWNrID0gZnVuY3Rpb24gX2Rpc3BhdGNoQ2FsbGJhY2sodGFyZ2V0LCB0eXBlKSB7XG4gIHZhciBhcmdzID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBbXTtcblxuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGFyZ2V0KTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgY2FsbGJhY2tzID0gcHJpdmF0ZVRoaXNbdHlwZV0gfHwgW107XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBjYWxsYmFja3NbaV0uYXBwbHkodGFyZ2V0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIElubmVyQXVkaW9Db250ZXh0KCkge1xuICB0aGlzLnN0YXJ0VGltZSA9IDA7XG4gIHRoaXMuYXV0b3BsYXkgPSBmYWxzZTtcblxuICBfd2Vha01hcC5zZXQodGhpcywge1xuICAgIHNyYzogXCJcIixcbiAgICB2b2x1bWU6IDEsXG4gICAgbG9vcDogZmFsc2VcbiAgfSk7XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibG9vcFwiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhbHVlID0gISF2YWx1ZTtcblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICBfYXVkaW9FbmdpbmUuc2V0TG9vcChhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy5sb29wID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIHByaXZhdGVUaGlzID8gcHJpdmF0ZVRoaXMubG9vcCA6IGZhbHNlO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInZvbHVtZVwiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgIHZhbHVlID0gMDtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+IDEpIHtcbiAgICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gMTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICBfYXVkaW9FbmdpbmUuc2V0Vm9sdW1lKGF1ZGlvSUQsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGVUaGlzLnZvbHVtZSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnZvbHVtZSA6IDE7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwic3JjXCIsIHtcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIG9sZFNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgICAgIHByaXZhdGVUaGlzLnNyYyA9IHZhbHVlO1xuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwICYmIF9hdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKSA9PT0gX1NUQVRFLlBBVVNFRCAmJiBvbGRTcmMgIT09IHZhbHVlKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgICAgICAgX2F1ZGlvRW5naW5lLnByZWxvYWQodmFsdWUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLnNyYyA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX0NBTlBMQVlfQ0FMTEJBQ0spO1xuXG4gICAgICAgICAgICAgIGlmIChzZWxmLmF1dG9wbGF5KSB7XG4gICAgICAgICAgICAgICAgc2VsZi5wbGF5KCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgcmV0dXJuIHByaXZhdGVUaGlzID8gcHJpdmF0ZVRoaXMuc3JjIDogXCJcIjtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJkdXJhdGlvblwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0RHVyYXRpb24oYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIE5hTjtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KCkge31cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImN1cnJlbnRUaW1lXCIsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIF9hdWRpb0VuZ2luZS5nZXRDdXJyZW50VGltZShhdWRpb0lEKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gc2V0KCkge31cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInBhdXNlZFwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJidWZmZXJlZFwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0QnVmZmVyZWQoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xufVxuXG52YXIgX3Byb3RvdHlwZSA9IElubmVyQXVkaW9Db250ZXh0LnByb3RvdHlwZTtcblxuX3Byb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cblxuICAgIHByaXZhdGVUaGlzW19DQU5QTEFZX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19FTkRFRF9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRVJST1JfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1BBVVNFX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QTEFZX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLRURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1NFRUtJTkdfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1NUT1BfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX1RJTUVfVVBEQVRFX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19XQUlUSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIGNsZWFySW50ZXJ2YWwocHJpdmF0ZVRoaXMuaW50ZXJ2YWxJRCk7XG4gIH1cbn07XG5cbl9wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmICghcHJpdmF0ZVRoaXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc3JjID0gcHJpdmF0ZVRoaXMuc3JjO1xuICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgaWYgKHR5cGVvZiBzcmMgIT09IFwic3RyaW5nXCIgfHwgc3JjID09PSBcIlwiKSB7XG4gICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX0VSUk9SX0NBTExCQUNLLCBbe1xuICAgICAgZXJyTXNnOiBcImludmFsaWQgc3JjXCIsXG4gICAgICBlcnJDb2RlOiBfRVJST1JfQ09ERS5FUlJPUl9GSUxFXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgIGlmIChfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQpIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5yZXN1bWUoYXVkaW9JRCk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcblxuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgIH1cbiAgfVxuXG4gIGF1ZGlvSUQgPSBfYXVkaW9FbmdpbmUucGxheShzcmMsIHRoaXMubG9vcCwgdGhpcy52b2x1bWUpO1xuXG4gIGlmIChhdWRpb0lEID09PSAtMSkge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJ1bmtub3duXCIsXG4gICAgICBlcnJDb2RlOiBfRVJST1JfQ09ERS5FUlJPUl9VTktOT1dOXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IGF1ZGlvSUQ7XG5cbiAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VGltZSA9PT0gXCJudW1iZXJcIiAmJiB0aGlzLnN0YXJ0VGltZSA+IDApIHtcbiAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgdGhpcy5zdGFydFRpbWUpO1xuICB9XG5cbiAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1dBSVRJTkdfQ0FMTEJBQ0spO1xuXG4gIHZhciBzZWxmID0gdGhpcztcblxuICBfYXVkaW9FbmdpbmUuc2V0Q2FuUGxheUNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX0NBTlBMQVlfQ0FMTEJBQ0spO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfUExBWV9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcblxuICBfYXVkaW9FbmdpbmUuc2V0V2FpdGluZ0NhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1dBSVRJTkdfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEVycm9yQ2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzcmMgPT09IHNlbGYuc3JjKSB7XG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9FUlJPUl9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcblxuICBfYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soYXVkaW9JRCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChzcmMgPT09IHNlbGYuc3JjKSB7XG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9FTkRFRF9DQUxMQkFDSyk7XG4gICAgfVxuICB9KTtcbn07XG5cbl9wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucGF1c2UoYXVkaW9JRCk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLnNlZWsgPSBmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcyAmJiB0eXBlb2YgcG9zaXRpb24gPT09IFwibnVtYmVyXCIgJiYgcG9zaXRpb24gPj0gMCkge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zZXRDdXJyZW50VGltZShhdWRpb0lELCBwb3NpdGlvbik7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLSU5HX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc3RvcChhdWRpb0lEKTtcblxuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSyk7XG4gICAgfVxuICB9XG59O1xuXG5fcHJvdG90eXBlLm9mZkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9DQU5QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVuZGVkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmRXJyb3IgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1BBVVNFX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZlBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZlNlZWtlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTdG9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZUaW1lVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIHZhciByZXN1bHQgPSBfb2ZmQ2FsbGJhY2sodGhpcywgX1RJTUVfVVBEQVRFX0NBTExCQUNLLCBjYWxsYmFjayk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gMSkge1xuICAgIGNsZWFySW50ZXJ2YWwoX3dlYWtNYXAuZ2V0KHRoaXMpLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9mZldhaXRpbmcgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uQ2FucGxheSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkVuZGVkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9FTkRFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblBhdXNlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX1BMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX1NFRUtFRF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblNlZWtpbmcgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgXCJzZWVraW5nQ2FsbGJhY2tzXCIsIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TdG9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29uQ2FsbGJhY2sodGhpcywgX1RJTUVfVVBEQVRFX0NBTExCQUNLLCBjYWxsYmFjayk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gMSkge1xuICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB2YXIgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldChzZWxmKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwICYmIF9hdWRpb0VuZ2luZS5nZXRTdGF0ZShhdWRpb0lEKSA9PT0gX1NUQVRFLlBMQVlJTkcpIHtcbiAgICAgICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfVElNRV9VUERBVEVfQ0FMTEJBQ0spO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsSUQpO1xuICAgICAgfVxuICAgIH0sIDUwMCk7XG4gICAgcHJpdmF0ZVRoaXMuaW50ZXJ2YWxJRCA9IGludGVydmFsSUQ7XG4gIH1cbn07XG5cbl9wcm90b3R5cGUub25XYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5mdW5jdGlvbiBfZGVmYXVsdChBdWRpb0VuZ2luZSkge1xuICBpZiAoX2F1ZGlvRW5naW5lID09PSB1bmRlZmluZWQpIHtcbiAgICBfYXVkaW9FbmdpbmUgPSBPYmplY3QuYXNzaWduKHt9LCBBdWRpb0VuZ2luZSk7XG4gICAgT2JqZWN0LmtleXMoQXVkaW9FbmdpbmUpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgQXVkaW9FbmdpbmVbbmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBBdWRpb0VuZ2luZVtuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJBdWRpb0VuZ2luZS5cIiArIG5hbWUgKyBcIiBpcyBkZXByZWNhdGVkXCIpO1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmVbbmFtZV0uYXBwbHkoQXVkaW9FbmdpbmUsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbmV3IElubmVyQXVkaW9Db250ZXh0KCk7XG59XG5cbjtcblxufSx7fV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG52YXIgX2RlZmF1bHQgPSB7XG4gIGV4cG9ydFRvOiBmdW5jdGlvbiBleHBvcnRUbyhuYW1lLCBmcm9tLCB0bywgZXJyQ2FsbGJhY2spIHtcbiAgICBpZiAoX3R5cGVvZihmcm9tKSAhPT0gXCJvYmplY3RcIiB8fCBfdHlwZW9mKHRvKSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgY29uc29sZS53YXJuKFwiaW52YWxpZCBleHBvcnRUbzogXCIsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBmcm9tUHJvcGVydHkgPSBmcm9tW25hbWVdO1xuXG4gICAgaWYgKHR5cGVvZiBmcm9tUHJvcGVydHkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnJvbVByb3BlcnR5ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdG9bbmFtZV0gPSBmcm9tUHJvcGVydHkuYmluZChmcm9tKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0b1tuYW1lXSwgZnJvbVByb3BlcnR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvW25hbWVdID0gZnJvbVByb3BlcnR5O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0b1tuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihuYW1lICsgXCIgaXMgbm90IHN1cHBvcnQhXCIpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9O1xuXG4gICAgICBpZiAodHlwZW9mIGVyckNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZXJyQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XX0se30sWzldKTtcbiJdLCJmaWxlIjoicmFsLmpzIn0= diff --git a/platforms/runtime/platforms/huawei-quick-game/ral.min.js b/platforms/runtime/platforms/huawei-quick-game/ral.min.js deleted file mode 100644 index 9c22f87145b..00000000000 --- a/platforms/runtime/platforms/huawei-quick-game/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(r,i,a){function u(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(c)return c(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return u(r[t][1][e]||e)},o,o.exports,n,r,i,a)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;e 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],3:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onShow", wuji, ral); - -_util["default"].exportTo("onHide", wuji, ral); - -_util["default"].exportTo("offShow", wuji, ral); - -_util["default"].exportTo("offHide", wuji, ral); - -},{"../../util":21}],4:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadSubpackage", wuji, ral); - -},{"../../util":21}],5:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -_util["default"].exportTo("env", wuji, ral); - -_util["default"].exportTo("getSystemInfo", wuji, ral); - -_util["default"].exportTo("getSystemInfoSync", wuji, ral); - -var _getSystemInfoSync = ral.getSystemInfoSync.bind(wuji); - -ral.getSystemInfoSync = function () { - var systemInfo = _getSystemInfoSync.apply(void 0, arguments); - - if (!systemInfo.language) { - systemInfo.language = "zh"; - } - - return systemInfo; -}; - -var _getSystemInfo = ral.getSystemInfo.bind(wuji); - -ral.getSystemInfo = function (object) { - var args = Array.prototype.slice.call(arguments, 1); - var options = object; - - if (_typeof(options) === "object" && options.success === "function") { - options = Object.assign({}, options); - - var _success = object.success.bind(object); - - options.success = function (res) { - if (res && !res.language) { - res.language = "zh"; - } - - _success.apply(void 0, arguments); - }; - } - - return _getSystemInfo.apply(void 0, [options].concat(_toConsumableArray(args))); -}; - -},{"../../util":21}],6:[function(require,module,exports){ -"use strict"; - -var _jsb = window.jsb; - -if (!_jsb) { - _jsb = {}; -} - -var _touches = []; - -var _getTouchIndex = function _getTouchIndex(touch) { - var element; - - for (var index = 0; index < _touches.length; index++) { - element = _touches[index]; - - if (touch.identifier === element.identifier) { - return index; - } - } - - return -1; -}; - -var _copyObject = function _copyObject(fromObj, toObject) { - for (var key in fromObj) { - if (fromObj.hasOwnProperty(key)) { - toObject[key] = fromObj[key]; - } - } -}; - -var _listenerMap = { - "touchstart": [], - "touchmove": [], - "touchend": [], - "touchcancel": [] -}; - -function _addListener(key, value) { - var listenerArr = _listenerMap[key]; - - for (var index = 0, length = listenerArr.length; index < length; index++) { - if (value === listenerArr[index]) { - return; - } - } - - listenerArr.push(value); -} - -function _removeListener(key, value) { - var listenerArr = _listenerMap[key] || []; - var length = listenerArr.length; - - for (var index = 0; index < length; ++index) { - if (value === listenerArr[index]) { - listenerArr.splice(index, 1); - return; - } - } -} - -var _hasDellWith = false; - -var _systemInfo = wuji.getSystemInfoSync(); - -if (window.innerWidth && _systemInfo.windowWidth !== window.innerWidth) { - _hasDellWith = true; -} - -var _touchEventHandlerFactory = function _touchEventHandlerFactory(type) { - return function (changedTouches) { - if (typeof changedTouches === "function") { - _addListener(type, changedTouches); - - return; - } - - var touchEvent = new TouchEvent(type); - var index; - - if (type === "touchstart") { - changedTouches.forEach(function (touch) { - index = _getTouchIndex(touch); - - if (index >= 0) { - _copyObject(touch, _touches[index]); - } else { - var tmp = {}; - - _copyObject(touch, tmp); - - _touches.push(tmp); - } - }); - } else if (type === "touchmove") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _copyObject(element, _touches[index]); - } - }); - } else if (type === "touchend" || type === "touchcancel") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _touches.splice(index, 1); - } - }); - } - - var touches = [].concat(_touches); - var _changedTouches = []; - changedTouches.forEach(function (touch) { - var length = touches.length; - - for (var _index = 0; _index < length; ++_index) { - var _touch = touches[_index]; - - if (touch.identifier === _touch.identifier) { - _changedTouches.push(_touch); - - return; - } - } - - _changedTouches.push(touch); - }); - touchEvent.touches = touches; - touchEvent.targetTouches = touches; - touchEvent.changedTouches = _changedTouches; - - if (_hasDellWith) { - touches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - - if (type === "touchcancel" || type === "touchend") { - _changedTouches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - } - } - - var listenerArr = _listenerMap[type]; - var length = listenerArr.length; - - for (var _index2 = 0; _index2 < length; _index2++) { - listenerArr[_index2](touchEvent); - } - }; -}; - -if (wuji.onTouchStart) { - ral.onTouchStart = wuji.onTouchStart; - ral.offTouchStart = wuji.offTouchStart; -} else { - _jsb.onTouchStart = _touchEventHandlerFactory('touchstart'); - - _jsb.offTouchStart = function (callback) { - _removeListener("touchstart", callback); - }; - - ral.onTouchStart = _jsb.onTouchStart.bind(_jsb); - ral.offTouchStart = _jsb.offTouchStart.bind(_jsb); -} - -if (wuji.onTouchMove) { - ral.onTouchMove = wuji.onTouchMove; - ral.offTouchMove = wuji.offTouchMove; -} else { - _jsb.onTouchMove = _touchEventHandlerFactory('touchmove'); - - _jsb.offTouchMove = function (callback) { - _removeListener("touchmove", callback); - }; - - ral.onTouchMove = _jsb.onTouchMove.bind(_jsb); - ral.offTouchMove = _jsb.offTouchMove.bind(_jsb); -} - -if (wuji.onTouchCancel) { - ral.onTouchCancel = wuji.onTouchCancel; - ral.offTouchCancel = wuji.offTouchCancel; -} else { - _jsb.onTouchCancel = _touchEventHandlerFactory('touchcancel'); - - _jsb.offTouchCancel = function (callback) { - _removeListener("touchcancel", callback); - }; - - ral.onTouchCancel = _jsb.onTouchCancel.bind(_jsb); - ral.offTouchCancel = _jsb.offTouchCancel.bind(_jsb); -} - -if (wuji.onTouchEnd) { - ral.onTouchEnd = wuji.onTouchEnd; - ral.offTouchEnd = wuji.offTouchEnd; -} else { - _jsb.onTouchEnd = _touchEventHandlerFactory('touchend'); - - _jsb.offTouchEnd = function (callback) { - _removeListener("touchend", callback); - }; - - ral.onTouchEnd = _jsb.onTouchEnd.bind(_jsb); - ral.offTouchEnd = _jsb.offTouchEnd.bind(_jsb); -} - -},{}],7:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _listeners = []; -ral.device = ral.device || {}; - -if (wuji.offAccelerometerChange) { - ral.onAccelerometerChange = wuji.onAccelerometerChange.bind(wuji); - ral.offAccelerometerChange = wuji.offAccelerometerChange.bind(wuji); - ral.stopAccelerometer = wuji.stopAccelerometer.bind(wuji); - - var _startAccelerometer = wuji.startAccelerometer.bind(wuji); - - ral.startAccelerometer = function (obj) { - return _startAccelerometer(Object.assign({ - type: "accelerationIncludingGravity" - }, obj)); - }; -} else { - ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } - }; - - ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } - }; - - var _systemInfo = wuji.getSystemInfoSync(); - - var _isAndroid = _systemInfo.platform.toLowerCase() === "android"; - - jsb.device.dispatchDeviceMotionEvent = function (event) { - var acceleration = Object.assign({}, event._accelerationIncludingGravity); - - if (_isAndroid) { - acceleration.x /= -10; - acceleration.y /= -10; - acceleration.z /= -10; - } else { - acceleration.x /= 10; - acceleration.y /= 10; - acceleration.z /= 10; - } - - _listeners.forEach(function (listener) { - listener({ - x: acceleration.x, - y: acceleration.y, - z: acceleration.z - }); - }); - }; - - ral.stopAccelerometer = function () { - jsb.device.setMotionEnabled(false); - }; - - ral.startAccelerometer = function () { - jsb.device.setMotionEnabled(true); - }; -} - -},{"../../util":21}],8:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getBatteryInfo", wuji, ral); - -_util["default"].exportTo("getBatteryInfoSync", wuji, ral); - -},{"../../util":21}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getFileSystemManager", wuji, ral); - -},{"../../util":21}],10:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./media/video"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/webgl"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":1,"../util":21,"./base/lifecycle":3,"./base/subpackage":4,"./base/system-info":5,"./base/touch-event":6,"./device/accelerometer":7,"./device/battery":8,"./file/file-system-manager":9,"./interface/keyboard":11,"./interface/window":12,"./media/audio":13,"./media/video":14,"./network/download":15,"./rendering/canvas":16,"./rendering/font":17,"./rendering/frame":18,"./rendering/image":19,"./rendering/webgl":20}],11:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onKeyboardInput", wuji, ral); - -_util["default"].exportTo("onKeyboardConfirm", wuji, ral); - -_util["default"].exportTo("onKeyboardComplete", wuji, ral); - -_util["default"].exportTo("offKeyboardInput", wuji, ral); - -_util["default"].exportTo("offKeyboardConfirm", wuji, ral); - -_util["default"].exportTo("offKeyboardComplete", wuji, ral); - -_util["default"].exportTo("hideKeyboard", wuji, ral); - -_util["default"].exportTo("showKeyboard", wuji, ral); - -_util["default"].exportTo("updateKeyboard", wuji, ral); - -},{"../../util":21}],12:[function(require,module,exports){ -"use strict"; - -var _onWindowResize = wuji.onWindowResize; - -var _info = wuji.getSystemInfoSync(); - -ral.onWindowResize = function (callBack) { - _onWindowResize(function (size) { - callBack(size.width || size.windowWidth / _info.devicePixelRatio, size.height || size.windowHeight / _info.devicePixelRatio); - }); -}; - -},{}],13:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("AudioEngine", wuji, ral); - -_util["default"].exportTo("createInnerAudioContext", wuji, ral, function () { - if (wuji.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(wuji.AudioEngine); - }; - } -}); - -},{"../../inner-context":2,"../../util":21}],14:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("createVideo", wuji, ral); - -},{"../../util":21}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("downloadFile", wuji, ral); - -},{"../../util":21}],16:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("createCanvas", wuji, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createCanvas = function () { - return document.createElement("canvas"); - }; - } - - _feature["default"].setFeature("ral.createCanvas", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":21}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadFont", wuji, ral); - -},{"../../util":21}],18:[function(require,module,exports){ -"use strict"; - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (wuji.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = wuji.setPreferredFramesPerSecond.bind(wuji); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadImageData", wuji, ral); - -_util["default"].exportTo("createImage", wuji, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createImage = function () { - return document.createElement("image"); - }; - } - - _feature["default"].setFeature("ral.createImage", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":21}],20:[function(require,module,exports){ -"use strict"; - -if (window.__gl) { - var gl = window.__gl; - var _glTexImage2D = gl.texImage2D; - - gl.texImage2D = function (target, level, internalformat, width, height, border, format, type, pixels) { - var argc = arguments.length; - - if (argc === 6) { - var image = border; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = error; - gl.texImage2D_image(target, level, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = _error; - var context2D = image.getContext('2d'); - gl.texImage2D_canvas(target, level, internalformat, format, type, context2D); - } else if (image instanceof ImageData) { - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, image.data); - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } else { - console.error("gl.texImage2D: invalid argument count!"); - } - }; - - var _glTexSubImage2D = gl.texSubImage2D; - - gl.texSubImage2D = function (target, level, xoffset, yoffset, width, height, format, type, pixels) { - var argc = arguments.length; - - if (argc === 7) { - var image = format; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = error; - gl.texSubImage2D_image(target, level, xoffset, yoffset, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error2 = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = _error2; - var context2D = image.getContext('2d'); - gl.texSubImage2D_canvas(target, level, xoffset, yoffset, format, type, context2D); - } else if (image instanceof ImageData) { - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, image.data); - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } else { - console.error(new Error("gl.texImage2D: invalid argument count!").stack); - } - }; -} - -},{}],21:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}]},{},[10]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xudmFyIF9mZWF0dXJlcyA9IHt9O1xudmFyIF9kZWZhdWx0ID0ge1xuICBzZXRGZWF0dXJlOiBmdW5jdGlvbiBzZXRGZWF0dXJlKGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICB2YXIgZmVhdHVyZSA9IF9mZWF0dXJlc1tmZWF0dXJlTmFtZV07XG5cbiAgICBpZiAoIWZlYXR1cmUpIHtcbiAgICAgIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdID0ge307XG4gICAgfVxuXG4gICAgZmVhdHVyZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgfSxcbiAgZ2V0RmVhdHVyZVByb3BlcnR5OiBmdW5jdGlvbiBnZXRGZWF0dXJlUHJvcGVydHkoZmVhdHVyZU5hbWUsIHByb3BlcnR5KSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuICAgIHJldHVybiBmZWF0dXJlID8gZmVhdHVyZVtwcm9wZXJ0eV0gOiB1bmRlZmluZWQ7XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcbnZhciBfQ0FOUExBWV9DQUxMQkFDSyA9IFwiY2FucGxheUNhbGxiYWNrc1wiO1xudmFyIF9FTkRFRF9DQUxMQkFDSyA9IFwiZW5kZWRDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ0FMTEJBQ0sgPSBcImVycm9yQ2FsbGJhY2tzXCI7XG52YXIgX1BBVVNFX0NBTExCQUNLID0gXCJwYXVzZUNhbGxiYWNrc1wiO1xudmFyIF9QTEFZX0NBTExCQUNLID0gXCJwbGF5Q2FsbGJhY2tzXCI7XG52YXIgX1NFRUtFRF9DQUxMQkFDSyA9IFwic2Vla2VkQ2FsbGJhY2tzXCI7XG52YXIgX1NFRUtJTkdfQ0FMTEJBQ0sgPSBcInNlZWtpbmdDYWxsYmFja3NcIjtcbnZhciBfU1RPUF9DQUxMQkFDSyA9IFwic3RvcENhbGxiYWNrc1wiO1xudmFyIF9USU1FX1VQREFURV9DQUxMQkFDSyA9IFwidGltZVVwZGF0ZUNhbGxiYWNrc1wiO1xudmFyIF9XQUlUSU5HX0NBTExCQUNLID0gXCJ3YWl0aW5nQ2FsbGJhY2tzXCI7XG52YXIgX0VSUk9SX0NPREUgPSB7XG4gIEVSUk9SX1NZU1RFTTogMTAwMDEsXG4gIEVSUk9SX05FVDogMTAwMDIsXG4gIEVSUk9SX0ZJTEU6IDEwMDAzLFxuICBFUlJPUl9GT1JNQVQ6IDEwMDA0LFxuICBFUlJPUl9VTktOT1dOOiAtMVxufTtcbnZhciBfU1RBVEUgPSB7XG4gIEVSUk9SOiAtMSxcbiAgSU5JVElBTElaSU5HOiAwLFxuICBQTEFZSU5HOiAxLFxuICBQQVVTRUQ6IDJcbn07XG52YXIgX2F1ZGlvRW5naW5lID0gdW5kZWZpbmVkO1xuXG52YXIgX3dlYWtNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG52YXIgX29mZkNhbGxiYWNrID0gZnVuY3Rpb24gX29mZkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXSB8fCBbXTtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgaWYgKGNhbGxiYWNrID09PSBjYWxsYmFja3NbaV0pIHtcbiAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICByZXR1cm4gY2FsbGJhY2subGVuZ3RoICsgMTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn07XG5cbnZhciBfb25DYWxsYmFjayA9IGZ1bmN0aW9uIF9vbkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXTtcblxuICBpZiAoIWNhbGxiYWNrcykge1xuICAgIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdID0gW2NhbGxiYWNrXTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2tzLmxlbmd0aDtcbn07XG5cbnZhciBfZGlzcGF0Y2hDYWxsYmFjayA9IGZ1bmN0aW9uIF9kaXNwYXRjaENhbGxiYWNrKHRhcmdldCwgdHlwZSkge1xuICB2YXIgYXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogW107XG5cbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhbGxiYWNrcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRhcmdldCwgYXJncyk7XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBJbm5lckF1ZGlvQ29udGV4dCgpIHtcbiAgdGhpcy5zdGFydFRpbWUgPSAwO1xuICB0aGlzLmF1dG9wbGF5ID0gZmFsc2U7XG5cbiAgX3dlYWtNYXAuc2V0KHRoaXMsIHtcbiAgICBzcmM6IFwiXCIsXG4gICAgdm9sdW1lOiAxLFxuICAgIGxvb3A6IGZhbHNlXG4gIH0pO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImxvb3BcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9ICEhdmFsdWU7XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldExvb3AoYXVkaW9JRCwgdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZVRoaXMubG9vcCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLmxvb3AgOiBmYWxzZTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2b2x1bWVcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICB2YWx1ZSA9IDA7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPiAxKSB7XG4gICAgICAgICAgdmFsdWUgPSAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICB9XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldFZvbHVtZShhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy52b2x1bWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICByZXR1cm4gcHJpdmF0ZVRoaXMgPyBwcml2YXRlVGhpcy52b2x1bWUgOiAxO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNyY1wiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKCFwcml2YXRlVGhpcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBvbGRTcmMgPSBwcml2YXRlVGhpcy5zcmM7XG4gICAgICBwcml2YXRlVGhpcy5zcmMgPSB2YWx1ZTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQgJiYgb2xkU3JjICE9PSB2YWx1ZSkge1xuICAgICAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICAgIF9hdWRpb0VuZ2luZS5wcmVsb2FkKHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5zcmMgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5hdXRvcGxheSkge1xuICAgICAgICAgICAgICAgIHNlbGYucGxheSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnNyYyA6IFwiXCI7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZHVyYXRpb25cIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldER1cmF0aW9uKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBOYU47XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjdXJyZW50VGltZVwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0Q3VycmVudFRpbWUoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJwYXVzZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYnVmZmVyZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldEJ1ZmZlcmVkKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbn1cblxudmFyIF9wcm90b3R5cGUgPSBJbm5lckF1ZGlvQ29udGV4dC5wcm90b3R5cGU7XG5cbl9wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcykge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLKTtcbiAgICB9XG5cbiAgICBwcml2YXRlVGhpc1tfQ0FOUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRU5ERURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX0VSUk9SX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QQVVTRV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfU0VFS0VEX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TVE9QX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19USU1FX1VQREFURV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfV0FJVElOR19DQUxMQkFDS10gPSBbXTtcbiAgICBjbGVhckludGVydmFsKHByaXZhdGVUaGlzLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLnBsYXkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gIGlmICh0eXBlb2Ygc3JjICE9PSBcInN0cmluZ1wiIHx8IHNyYyA9PT0gXCJcIikge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJpbnZhbGlkIHNyY1wiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfRklMRVxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICBpZiAoX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucmVzdW1lKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcbiAgICB9XG4gIH1cblxuICBhdWRpb0lEID0gX2F1ZGlvRW5naW5lLnBsYXkoc3JjLCB0aGlzLmxvb3AsIHRoaXMudm9sdW1lKTtcblxuICBpZiAoYXVkaW9JRCA9PT0gLTEpIHtcbiAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIFt7XG4gICAgICBlcnJNc2c6IFwidW5rbm93blwiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfVU5LTk9XTlxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSBhdWRpb0lEO1xuXG4gIGlmICh0eXBlb2YgdGhpcy5zdGFydFRpbWUgPT09IFwibnVtYmVyXCIgJiYgdGhpcy5zdGFydFRpbWUgPiAwKSB7XG4gICAgX2F1ZGlvRW5naW5lLnNldEN1cnJlbnRUaW1lKGF1ZGlvSUQsIHRoaXMuc3RhcnRUaW1lKTtcbiAgfVxuXG4gIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLKTtcblxuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgX2F1ZGlvRW5naW5lLnNldENhblBsYXlDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1BMQVlfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldFdhaXRpbmdDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9XQUlUSU5HX0NBTExCQUNLKTtcbiAgICB9XG4gIH0pO1xuXG4gIF9hdWRpb0VuZ2luZS5zZXRFcnJvckNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRVJST1JfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRU5ERURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG59O1xuXG5fcHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnBhdXNlKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zZWVrID0gZnVuY3Rpb24gKHBvc2l0aW9uKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMgJiYgdHlwZW9mIHBvc2l0aW9uID09PSBcIm51bWJlclwiICYmIHBvc2l0aW9uID49IDApIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgcG9zaXRpb24pO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSyk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZDYW5wbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZFbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX0VOREVEX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmUGF1c2UgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU2Vla2luZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtJTkdfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29mZkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICBjbGVhckludGVydmFsKF93ZWFrTWFwLmdldCh0aGlzKS5pbnRlcnZhbElEKTtcbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZXYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX0NBTlBMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FcnJvciA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU2Vla2VkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIFwic2Vla2luZ0NhbGxiYWNrc1wiLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblRpbWVVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdmFyIHJlc3VsdCA9IF9vbkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQoc2VsZik7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QTEFZSU5HKSB7XG4gICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1RJTUVfVVBEQVRFX0NBTExCQUNLKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICAgIHByaXZhdGVUaGlzLmludGVydmFsSUQgPSBpbnRlcnZhbElEO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9uV2FpdGluZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuZnVuY3Rpb24gX2RlZmF1bHQoQXVkaW9FbmdpbmUpIHtcbiAgaWYgKF9hdWRpb0VuZ2luZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgX2F1ZGlvRW5naW5lID0gT2JqZWN0LmFzc2lnbih7fSwgQXVkaW9FbmdpbmUpO1xuICAgIE9iamVjdC5rZXlzKEF1ZGlvRW5naW5lKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIEF1ZGlvRW5naW5lW25hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgQXVkaW9FbmdpbmVbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiQXVkaW9FbmdpbmUuXCIgKyBuYW1lICsgXCIgaXMgZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lW25hbWVdLmFwcGx5KEF1ZGlvRW5naW5lLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBJbm5lckF1ZGlvQ29udGV4dCgpO1xufVxuXG47XG5cbn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25TaG93XCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uSGlkZVwiLCB3dWppLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZTaG93XCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZkhpZGVcIiwgd3VqaSwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSw0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRTdWJwYWNrYWdlXCIsIHd1amksIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7IHJldHVybiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5KGFycikgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFycikgfHwgX25vbkl0ZXJhYmxlU3ByZWFkKCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTsgfVxuXG5mdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7IGlmICghbykgcmV0dXJuOyBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7IGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7IGlmIChuID09PSBcIk1hcFwiIHx8IG4gPT09IFwiU2V0XCIpIHJldHVybiBBcnJheS5mcm9tKG8pOyBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7IGlmICh0eXBlb2YgU3ltYm9sICE9PSBcInVuZGVmaW5lZFwiICYmIFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoaXRlcikpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhvdXRIb2xlcyhhcnIpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KGFycik7IH1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHsgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZW52XCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldFN5c3RlbUluZm9cIiwgd3VqaSwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1N5bmNcIiwgd3VqaSwgcmFsKTtcblxudmFyIF9nZXRTeXN0ZW1JbmZvU3luYyA9IHJhbC5nZXRTeXN0ZW1JbmZvU3luYy5iaW5kKHd1amkpO1xuXG5yYWwuZ2V0U3lzdGVtSW5mb1N5bmMgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzeXN0ZW1JbmZvID0gX2dldFN5c3RlbUluZm9TeW5jLmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcblxuICBpZiAoIXN5c3RlbUluZm8ubGFuZ3VhZ2UpIHtcbiAgICBzeXN0ZW1JbmZvLmxhbmd1YWdlID0gXCJ6aFwiO1xuICB9XG5cbiAgcmV0dXJuIHN5c3RlbUluZm87XG59O1xuXG52YXIgX2dldFN5c3RlbUluZm8gPSByYWwuZ2V0U3lzdGVtSW5mby5iaW5kKHd1amkpO1xuXG5yYWwuZ2V0U3lzdGVtSW5mbyA9IGZ1bmN0aW9uIChvYmplY3QpIHtcbiAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICB2YXIgb3B0aW9ucyA9IG9iamVjdDtcblxuICBpZiAoX3R5cGVvZihvcHRpb25zKSA9PT0gXCJvYmplY3RcIiAmJiBvcHRpb25zLnN1Y2Nlc3MgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zKTtcblxuICAgIHZhciBfc3VjY2VzcyA9IG9iamVjdC5zdWNjZXNzLmJpbmQob2JqZWN0KTtcblxuICAgIG9wdGlvbnMuc3VjY2VzcyA9IGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIGlmIChyZXMgJiYgIXJlcy5sYW5ndWFnZSkge1xuICAgICAgICByZXMubGFuZ3VhZ2UgPSBcInpoXCI7XG4gICAgICB9XG5cbiAgICAgIF9zdWNjZXNzLmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIF9nZXRTeXN0ZW1JbmZvLmFwcGx5KHZvaWQgMCwgW29wdGlvbnNdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkoYXJncykpKTtcbn07XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9qc2IgPSB3aW5kb3cuanNiO1xuXG5pZiAoIV9qc2IpIHtcbiAgX2pzYiA9IHt9O1xufVxuXG52YXIgX3RvdWNoZXMgPSBbXTtcblxudmFyIF9nZXRUb3VjaEluZGV4ID0gZnVuY3Rpb24gX2dldFRvdWNoSW5kZXgodG91Y2gpIHtcbiAgdmFyIGVsZW1lbnQ7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IF90b3VjaGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGVsZW1lbnQgPSBfdG91Y2hlc1tpbmRleF07XG5cbiAgICBpZiAodG91Y2guaWRlbnRpZmllciA9PT0gZWxlbWVudC5pZGVudGlmaWVyKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufTtcblxudmFyIF9jb3B5T2JqZWN0ID0gZnVuY3Rpb24gX2NvcHlPYmplY3QoZnJvbU9iaiwgdG9PYmplY3QpIHtcbiAgZm9yICh2YXIga2V5IGluIGZyb21PYmopIHtcbiAgICBpZiAoZnJvbU9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICB0b09iamVjdFtrZXldID0gZnJvbU9ialtrZXldO1xuICAgIH1cbiAgfVxufTtcblxudmFyIF9saXN0ZW5lck1hcCA9IHtcbiAgXCJ0b3VjaHN0YXJ0XCI6IFtdLFxuICBcInRvdWNobW92ZVwiOiBbXSxcbiAgXCJ0b3VjaGVuZFwiOiBbXSxcbiAgXCJ0b3VjaGNhbmNlbFwiOiBbXVxufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKGtleSwgdmFsdWUpIHtcbiAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW2tleV07XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwLCBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaWYgKHZhbHVlID09PSBsaXN0ZW5lckFycltpbmRleF0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBsaXN0ZW5lckFyci5wdXNoKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gX3JlbW92ZUxpc3RlbmVyKGtleSwgdmFsdWUpIHtcbiAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW2tleV0gfHwgW107XG4gIHZhciBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgIGlmICh2YWx1ZSA9PT0gbGlzdGVuZXJBcnJbaW5kZXhdKSB7XG4gICAgICBsaXN0ZW5lckFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG52YXIgX2hhc0RlbGxXaXRoID0gZmFsc2U7XG5cbnZhciBfc3lzdGVtSW5mbyA9IHd1amkuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcblxuaWYgKHdpbmRvdy5pbm5lcldpZHRoICYmIF9zeXN0ZW1JbmZvLndpbmRvd1dpZHRoICE9PSB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICBfaGFzRGVsbFdpdGggPSB0cnVlO1xufVxuXG52YXIgX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSA9IGZ1bmN0aW9uIF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkodHlwZSkge1xuICByZXR1cm4gZnVuY3Rpb24gKGNoYW5nZWRUb3VjaGVzKSB7XG4gICAgaWYgKHR5cGVvZiBjaGFuZ2VkVG91Y2hlcyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBfYWRkTGlzdGVuZXIodHlwZSwgY2hhbmdlZFRvdWNoZXMpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHRvdWNoRXZlbnQgPSBuZXcgVG91Y2hFdmVudCh0eXBlKTtcbiAgICB2YXIgaW5kZXg7XG5cbiAgICBpZiAodHlwZSA9PT0gXCJ0b3VjaHN0YXJ0XCIpIHtcbiAgICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICAgIGluZGV4ID0gX2dldFRvdWNoSW5kZXgodG91Y2gpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX2NvcHlPYmplY3QodG91Y2gsIF90b3VjaGVzW2luZGV4XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHRtcCA9IHt9O1xuXG4gICAgICAgICAgX2NvcHlPYmplY3QodG91Y2gsIHRtcCk7XG5cbiAgICAgICAgICBfdG91Y2hlcy5wdXNoKHRtcCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJ0b3VjaG1vdmVcIikge1xuICAgICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX2NvcHlPYmplY3QoZWxlbWVudCwgX3RvdWNoZXNbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBcInRvdWNoZW5kXCIgfHwgdHlwZSA9PT0gXCJ0b3VjaGNhbmNlbFwiKSB7XG4gICAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgIGluZGV4ID0gX2dldFRvdWNoSW5kZXgoZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBfdG91Y2hlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgdG91Y2hlcyA9IFtdLmNvbmNhdChfdG91Y2hlcyk7XG4gICAgdmFyIF9jaGFuZ2VkVG91Y2hlcyA9IFtdO1xuICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gdG91Y2hlcy5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIF9pbmRleCA9IDA7IF9pbmRleCA8IGxlbmd0aDsgKytfaW5kZXgpIHtcbiAgICAgICAgdmFyIF90b3VjaCA9IHRvdWNoZXNbX2luZGV4XTtcblxuICAgICAgICBpZiAodG91Y2guaWRlbnRpZmllciA9PT0gX3RvdWNoLmlkZW50aWZpZXIpIHtcbiAgICAgICAgICBfY2hhbmdlZFRvdWNoZXMucHVzaChfdG91Y2gpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIF9jaGFuZ2VkVG91Y2hlcy5wdXNoKHRvdWNoKTtcbiAgICB9KTtcbiAgICB0b3VjaEV2ZW50LnRvdWNoZXMgPSB0b3VjaGVzO1xuICAgIHRvdWNoRXZlbnQudGFyZ2V0VG91Y2hlcyA9IHRvdWNoZXM7XG4gICAgdG91Y2hFdmVudC5jaGFuZ2VkVG91Y2hlcyA9IF9jaGFuZ2VkVG91Y2hlcztcblxuICAgIGlmIChfaGFzRGVsbFdpdGgpIHtcbiAgICAgIHRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgICAgdG91Y2guY2xpZW50WCAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgdG91Y2guY2xpZW50WSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgdG91Y2gucGFnZVggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLnBhZ2VZIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgfSk7XG5cbiAgICAgIGlmICh0eXBlID09PSBcInRvdWNoY2FuY2VsXCIgfHwgdHlwZSA9PT0gXCJ0b3VjaGVuZFwiKSB7XG4gICAgICAgIF9jaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgICAgIHRvdWNoLmNsaWVudFggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2guY2xpZW50WSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICB0b3VjaC5wYWdlWCAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICB0b3VjaC5wYWdlWSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW3R5cGVdO1xuICAgIHZhciBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7XG5cbiAgICBmb3IgKHZhciBfaW5kZXgyID0gMDsgX2luZGV4MiA8IGxlbmd0aDsgX2luZGV4MisrKSB7XG4gICAgICBsaXN0ZW5lckFycltfaW5kZXgyXSh0b3VjaEV2ZW50KTtcbiAgICB9XG4gIH07XG59O1xuXG5pZiAod3VqaS5vblRvdWNoU3RhcnQpIHtcbiAgcmFsLm9uVG91Y2hTdGFydCA9IHd1amkub25Ub3VjaFN0YXJ0O1xuICByYWwub2ZmVG91Y2hTdGFydCA9IHd1amkub2ZmVG91Y2hTdGFydDtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaFN0YXJ0ID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hzdGFydCcpO1xuXG4gIF9qc2Iub2ZmVG91Y2hTdGFydCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoU3RhcnQgPSBfanNiLm9uVG91Y2hTdGFydC5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hTdGFydCA9IF9qc2Iub2ZmVG91Y2hTdGFydC5iaW5kKF9qc2IpO1xufVxuXG5pZiAod3VqaS5vblRvdWNoTW92ZSkge1xuICByYWwub25Ub3VjaE1vdmUgPSB3dWppLm9uVG91Y2hNb3ZlO1xuICByYWwub2ZmVG91Y2hNb3ZlID0gd3VqaS5vZmZUb3VjaE1vdmU7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hNb3ZlID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2htb3ZlJyk7XG5cbiAgX2pzYi5vZmZUb3VjaE1vdmUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoTW92ZSA9IF9qc2Iub25Ub3VjaE1vdmUuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoTW92ZSA9IF9qc2Iub2ZmVG91Y2hNb3ZlLmJpbmQoX2pzYik7XG59XG5cbmlmICh3dWppLm9uVG91Y2hDYW5jZWwpIHtcbiAgcmFsLm9uVG91Y2hDYW5jZWwgPSB3dWppLm9uVG91Y2hDYW5jZWw7XG4gIHJhbC5vZmZUb3VjaENhbmNlbCA9IHd1amkub2ZmVG91Y2hDYW5jZWw7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hDYW5jZWwgPSBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KCd0b3VjaGNhbmNlbCcpO1xuXG4gIF9qc2Iub2ZmVG91Y2hDYW5jZWwgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaGNhbmNlbFwiLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmFsLm9uVG91Y2hDYW5jZWwgPSBfanNiLm9uVG91Y2hDYW5jZWwuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoQ2FuY2VsID0gX2pzYi5vZmZUb3VjaENhbmNlbC5iaW5kKF9qc2IpO1xufVxuXG5pZiAod3VqaS5vblRvdWNoRW5kKSB7XG4gIHJhbC5vblRvdWNoRW5kID0gd3VqaS5vblRvdWNoRW5kO1xuICByYWwub2ZmVG91Y2hFbmQgPSB3dWppLm9mZlRvdWNoRW5kO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoRW5kID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hlbmQnKTtcblxuICBfanNiLm9mZlRvdWNoRW5kID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2hlbmRcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoRW5kID0gX2pzYi5vblRvdWNoRW5kLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaEVuZCA9IF9qc2Iub2ZmVG91Y2hFbmQuYmluZChfanNiKTtcbn1cblxufSx7fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX2xpc3RlbmVycyA9IFtdO1xucmFsLmRldmljZSA9IHJhbC5kZXZpY2UgfHwge307XG5cbmlmICh3dWppLm9mZkFjY2VsZXJvbWV0ZXJDaGFuZ2UpIHtcbiAgcmFsLm9uQWNjZWxlcm9tZXRlckNoYW5nZSA9IHd1amkub25BY2NlbGVyb21ldGVyQ2hhbmdlLmJpbmQod3VqaSk7XG4gIHJhbC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlID0gd3VqaS5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlLmJpbmQod3VqaSk7XG4gIHJhbC5zdG9wQWNjZWxlcm9tZXRlciA9IHd1amkuc3RvcEFjY2VsZXJvbWV0ZXIuYmluZCh3dWppKTtcblxuICB2YXIgX3N0YXJ0QWNjZWxlcm9tZXRlciA9IHd1amkuc3RhcnRBY2NlbGVyb21ldGVyLmJpbmQod3VqaSk7XG5cbiAgcmFsLnN0YXJ0QWNjZWxlcm9tZXRlciA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICByZXR1cm4gX3N0YXJ0QWNjZWxlcm9tZXRlcihPYmplY3QuYXNzaWduKHtcbiAgICAgIHR5cGU6IFwiYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eVwiXG4gICAgfSwgb2JqKSk7XG4gIH07XG59IGVsc2Uge1xuICByYWwub25BY2NlbGVyb21ldGVyQ2hhbmdlID0gZnVuY3Rpb24gKGxpc3RlbmVyKSB7XG4gICAgaWYgKHR5cGVvZiBsaXN0ZW5lciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gX2xpc3RlbmVycy5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgICAgaWYgKGxpc3RlbmVyID09PSBfbGlzdGVuZXJzW2luZGV4XSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBfbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cbiAgfTtcblxuICByYWwub2ZmQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgIHZhciBsZW5ndGggPSBfbGlzdGVuZXJzLmxlbmd0aDtcblxuICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgIGlmIChsaXN0ZW5lciA9PT0gX2xpc3RlbmVyc1tpbmRleF0pIHtcbiAgICAgICAgX2xpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdmFyIF9zeXN0ZW1JbmZvID0gd3VqaS5nZXRTeXN0ZW1JbmZvU3luYygpO1xuXG4gIHZhciBfaXNBbmRyb2lkID0gX3N5c3RlbUluZm8ucGxhdGZvcm0udG9Mb3dlckNhc2UoKSA9PT0gXCJhbmRyb2lkXCI7XG5cbiAganNiLmRldmljZS5kaXNwYXRjaERldmljZU1vdGlvbkV2ZW50ID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgdmFyIGFjY2VsZXJhdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIGV2ZW50Ll9hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KTtcblxuICAgIGlmIChfaXNBbmRyb2lkKSB7XG4gICAgICBhY2NlbGVyYXRpb24ueCAvPSAtMTA7XG4gICAgICBhY2NlbGVyYXRpb24ueSAvPSAtMTA7XG4gICAgICBhY2NlbGVyYXRpb24ueiAvPSAtMTA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY2VsZXJhdGlvbi54IC89IDEwO1xuICAgICAgYWNjZWxlcmF0aW9uLnkgLz0gMTA7XG4gICAgICBhY2NlbGVyYXRpb24ueiAvPSAxMDtcbiAgICB9XG5cbiAgICBfbGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24gKGxpc3RlbmVyKSB7XG4gICAgICBsaXN0ZW5lcih7XG4gICAgICAgIHg6IGFjY2VsZXJhdGlvbi54LFxuICAgICAgICB5OiBhY2NlbGVyYXRpb24ueSxcbiAgICAgICAgejogYWNjZWxlcmF0aW9uLnpcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHJhbC5zdG9wQWNjZWxlcm9tZXRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICBqc2IuZGV2aWNlLnNldE1vdGlvbkVuYWJsZWQoZmFsc2UpO1xuICB9O1xuXG4gIHJhbC5zdGFydEFjY2VsZXJvbWV0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAganNiLmRldmljZS5zZXRNb3Rpb25FbmFibGVkKHRydWUpO1xuICB9O1xufVxuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0QmF0dGVyeUluZm9cIiwgd3VqaSwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0QmF0dGVyeUluZm9TeW5jXCIsIHd1amksIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRGaWxlU3lzdGVtTWFuYWdlclwiLCB3dWppLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi91dGlsXCIpKTtcblxudmFyIF9mZWF0dXJlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vZmVhdHVyZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5pZiAod2luZG93LmpzYikge1xuICB3aW5kb3cucmFsID0gT2JqZWN0LmFzc2lnbih7fSwgd2luZG93LmpzYik7XG59IGVsc2Uge1xuICB3aW5kb3cucmFsID0ge307XG59XG5cbnJlcXVpcmUoXCIuL2Jhc2UvbGlmZWN5Y2xlXCIpO1xuXG5yZXF1aXJlKFwiLi9iYXNlL3N1YnBhY2thZ2VcIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2Uvc3lzdGVtLWluZm9cIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2UvdG91Y2gtZXZlbnRcIik7XG5cbnJlcXVpcmUoXCIuL2RldmljZS9hY2NlbGVyb21ldGVyXCIpO1xuXG5yZXF1aXJlKFwiLi9kZXZpY2UvYmF0dGVyeVwiKTtcblxucmVxdWlyZShcIi4vZmlsZS9maWxlLXN5c3RlbS1tYW5hZ2VyXCIpO1xuXG5yZXF1aXJlKFwiLi9pbnRlcmZhY2Uva2V5Ym9hcmRcIik7XG5cbnJlcXVpcmUoXCIuL2ludGVyZmFjZS93aW5kb3dcIik7XG5cbnJlcXVpcmUoXCIuL21lZGlhL2F1ZGlvXCIpO1xuXG5yZXF1aXJlKFwiLi9tZWRpYS92aWRlb1wiKTtcblxucmVxdWlyZShcIi4vbmV0d29yay9kb3dubG9hZFwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2NhbnZhc1wiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL3dlYmdsXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvZm9udFwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ZyYW1lXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvaW1hZ2VcIik7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldEZlYXR1cmVQcm9wZXJ0eVwiLCBfZmVhdHVyZVtcImRlZmF1bHRcIl0sIHJhbCk7XG5cbn0se1wiLi4vZmVhdHVyZVwiOjEsXCIuLi91dGlsXCI6MjEsXCIuL2Jhc2UvbGlmZWN5Y2xlXCI6MyxcIi4vYmFzZS9zdWJwYWNrYWdlXCI6NCxcIi4vYmFzZS9zeXN0ZW0taW5mb1wiOjUsXCIuL2Jhc2UvdG91Y2gtZXZlbnRcIjo2LFwiLi9kZXZpY2UvYWNjZWxlcm9tZXRlclwiOjcsXCIuL2RldmljZS9iYXR0ZXJ5XCI6OCxcIi4vZmlsZS9maWxlLXN5c3RlbS1tYW5hZ2VyXCI6OSxcIi4vaW50ZXJmYWNlL2tleWJvYXJkXCI6MTEsXCIuL2ludGVyZmFjZS93aW5kb3dcIjoxMixcIi4vbWVkaWEvYXVkaW9cIjoxMyxcIi4vbWVkaWEvdmlkZW9cIjoxNCxcIi4vbmV0d29yay9kb3dubG9hZFwiOjE1LFwiLi9yZW5kZXJpbmcvY2FudmFzXCI6MTYsXCIuL3JlbmRlcmluZy9mb250XCI6MTcsXCIuL3JlbmRlcmluZy9mcmFtZVwiOjE4LFwiLi9yZW5kZXJpbmcvaW1hZ2VcIjoxOSxcIi4vcmVuZGVyaW5nL3dlYmdsXCI6MjB9XSwxMTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvbktleWJvYXJkSW5wdXRcIiwgd3VqaSwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbmZpcm1cIiwgd3VqaSwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbXBsZXRlXCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkSW5wdXRcIiwgd3VqaSwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRDb25maXJtXCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29tcGxldGVcIiwgd3VqaSwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiaGlkZUtleWJvYXJkXCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcInNob3dLZXlib2FyZFwiLCB3dWppLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJ1cGRhdGVLZXlib2FyZFwiLCB3dWppLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX29uV2luZG93UmVzaXplID0gd3VqaS5vbldpbmRvd1Jlc2l6ZTtcblxudmFyIF9pbmZvID0gd3VqaS5nZXRTeXN0ZW1JbmZvU3luYygpO1xuXG5yYWwub25XaW5kb3dSZXNpemUgPSBmdW5jdGlvbiAoY2FsbEJhY2spIHtcbiAgX29uV2luZG93UmVzaXplKGZ1bmN0aW9uIChzaXplKSB7XG4gICAgY2FsbEJhY2soc2l6ZS53aWR0aCB8fCBzaXplLndpbmRvd1dpZHRoIC8gX2luZm8uZGV2aWNlUGl4ZWxSYXRpbywgc2l6ZS5oZWlnaHQgfHwgc2l6ZS53aW5kb3dIZWlnaHQgLyBfaW5mby5kZXZpY2VQaXhlbFJhdGlvKTtcbiAgfSk7XG59O1xuXG59LHt9XSwxMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbm5lckNvbnRleHQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9pbm5lci1jb250ZXh0XCIpKTtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJBdWRpb0VuZ2luZVwiLCB3dWppLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJjcmVhdGVJbm5lckF1ZGlvQ29udGV4dFwiLCB3dWppLCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgaWYgKHd1amkuQXVkaW9FbmdpbmUpIHtcbiAgICByYWwuY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gKDAsIF9pbm5lckNvbnRleHRbXCJkZWZhdWx0XCJdKSh3dWppLkF1ZGlvRW5naW5lKTtcbiAgICB9O1xuICB9XG59KTtcblxufSx7XCIuLi8uLi9pbm5lci1jb250ZXh0XCI6MixcIi4uLy4uL3V0aWxcIjoyMX1dLDE0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZVZpZGVvXCIsIHd1amksIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZG93bmxvYWRGaWxlXCIsIHd1amksIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG52YXIgX2ZlYXR1cmUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9mZWF0dXJlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZUNhbnZhc1wiLCB3dWppLCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgdmFyIGZlYXR1cmVWYWx1ZSA9IFwidW5zdXBwb3J0ZWRcIjtcblxuICBpZiAoZG9jdW1lbnQgJiYgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZlYXR1cmVWYWx1ZSA9IFwid3JhcHBlclwiO1xuXG4gICAgcmFsLmNyZWF0ZUNhbnZhcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgIH07XG4gIH1cblxuICBfZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcInJhbC5jcmVhdGVDYW52YXNcIiwgXCJzcGVjXCIsIGZlYXR1cmVWYWx1ZSk7XG59KTtcblxufSx7XCIuLi8uLi9mZWF0dXJlXCI6MSxcIi4uLy4uL3V0aWxcIjoyMX1dLDE3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRGb250XCIsIHd1amksIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmlmICh3aW5kb3cuanNiICYmIGpzYi5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQpIHtcbiAgcmFsLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9IGpzYi5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQuYmluZChqc2IpO1xufSBlbHNlIGlmICh3dWppLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCkge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gd3VqaS5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQuYmluZCh3dWppKTtcbn0gZWxzZSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgY29uc29sZS5lcnJvcihcIlRoZSBzZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgaXMgbm90IGRlZmluZSFcIik7XG4gIH07XG59XG5cbn0se31dLDE5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxudmFyIF9mZWF0dXJlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vZmVhdHVyZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkSW1hZ2VEYXRhXCIsIHd1amksIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZUltYWdlXCIsIHd1amksIHJhbCwgZnVuY3Rpb24gKCkge1xuICB2YXIgZmVhdHVyZVZhbHVlID0gXCJ1bnN1cHBvcnRlZFwiO1xuXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZmVhdHVyZVZhbHVlID0gXCJ3cmFwcGVyXCI7XG5cbiAgICByYWwuY3JlYXRlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltYWdlXCIpO1xuICAgIH07XG4gIH1cblxuICBfZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcInJhbC5jcmVhdGVJbWFnZVwiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcbn0pO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxLFwiLi4vLi4vdXRpbFwiOjIxfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmlmICh3aW5kb3cuX19nbCkge1xuICB2YXIgZ2wgPSB3aW5kb3cuX19nbDtcbiAgdmFyIF9nbFRleEltYWdlMkQgPSBnbC50ZXhJbWFnZTJEO1xuXG4gIGdsLnRleEltYWdlMkQgPSBmdW5jdGlvbiAodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIGJvcmRlciwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpIHtcbiAgICB2YXIgYXJnYyA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAoYXJnYyA9PT0gNikge1xuICAgICAgdmFyIGltYWdlID0gYm9yZGVyO1xuICAgICAgdHlwZSA9IGhlaWdodDtcbiAgICAgIGZvcm1hdCA9IHdpZHRoO1xuXG4gICAgICBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIHZhciBlcnJvciA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleEltYWdlMkQuYXBwbHkodm9pZCAwLCBhcmd1bWVudHMpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgZ2wudGV4SW1hZ2UyRF9pbWFnZSh0YXJnZXQsIGxldmVsLCBpbWFnZS5faW1hZ2VNZXRhKTtcbiAgICAgIH0gZWxzZSBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudCkge1xuICAgICAgICB2YXIgX2Vycm9yID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4SW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IF9lcnJvcjtcbiAgICAgICAgdmFyIGNvbnRleHQyRCA9IGltYWdlLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgIGdsLnRleEltYWdlMkRfY2FudmFzKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQsIHR5cGUsIGNvbnRleHQyRCk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSW1hZ2VEYXRhKSB7XG4gICAgICAgIF9nbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBwaXhlbCBhcmd1bWVudCBwYXNzZWQgdG8gZ2wudGV4SW1hZ2UyRCFcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmdjID09PSA5KSB7XG4gICAgICBfZ2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcImdsLnRleEltYWdlMkQ6IGludmFsaWQgYXJndW1lbnQgY291bnQhXCIpO1xuICAgIH1cbiAgfTtcblxuICB2YXIgX2dsVGV4U3ViSW1hZ2UyRCA9IGdsLnRleFN1YkltYWdlMkQ7XG5cbiAgZ2wudGV4U3ViSW1hZ2UyRCA9IGZ1bmN0aW9uICh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscykge1xuICAgIHZhciBhcmdjID0gYXJndW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChhcmdjID09PSA3KSB7XG4gICAgICB2YXIgaW1hZ2UgPSBmb3JtYXQ7XG4gICAgICB0eXBlID0gaGVpZ2h0O1xuICAgICAgZm9ybWF0ID0gd2lkdGg7XG5cbiAgICAgIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgdmFyIGVycm9yID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGVycm9yO1xuICAgICAgICBnbC50ZXhTdWJJbWFnZTJEX2ltYWdlKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLl9pbWFnZU1ldGEpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSB7XG4gICAgICAgIHZhciBfZXJyb3IyID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRC5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IF9lcnJvcjI7XG4gICAgICAgIHZhciBjb250ZXh0MkQgPSBpbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBnbC50ZXhTdWJJbWFnZTJEX2NhbnZhcyh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBmb3JtYXQsIHR5cGUsIGNvbnRleHQyRCk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSW1hZ2VEYXRhKSB7XG4gICAgICAgIF9nbFRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCwgZm9ybWF0LCB0eXBlLCBpbWFnZS5kYXRhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHBpeGVsIGFyZ3VtZW50IHBhc3NlZCB0byBnbC50ZXhJbWFnZTJEIVwiKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFyZ2MgPT09IDkpIHtcbiAgICAgIF9nbFRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKG5ldyBFcnJvcihcImdsLnRleEltYWdlMkQ6IGludmFsaWQgYXJndW1lbnQgY291bnQhXCIpLnN0YWNrKTtcbiAgICB9XG4gIH07XG59XG5cbn0se31dLDIxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxudmFyIF9kZWZhdWx0ID0ge1xuICBleHBvcnRUbzogZnVuY3Rpb24gZXhwb3J0VG8obmFtZSwgZnJvbSwgdG8sIGVyckNhbGxiYWNrKSB7XG4gICAgaWYgKF90eXBlb2YoZnJvbSkgIT09IFwib2JqZWN0XCIgfHwgX3R5cGVvZih0bykgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGNvbnNvbGUud2FybihcImludmFsaWQgZXhwb3J0VG86IFwiLCBuYW1lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZnJvbVByb3BlcnR5ID0gZnJvbVtuYW1lXTtcblxuICAgIGlmICh0eXBlb2YgZnJvbVByb3BlcnR5ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBpZiAodHlwZW9mIGZyb21Qcm9wZXJ0eSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRvW25hbWVdID0gZnJvbVByb3BlcnR5LmJpbmQoZnJvbSk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odG9bbmFtZV0sIGZyb21Qcm9wZXJ0eSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b1tuYW1lXSA9IGZyb21Qcm9wZXJ0eTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9bbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IobmFtZSArIFwiIGlzIG5vdCBzdXBwb3J0IVwiKTtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfTtcblxuICAgICAgaWYgKHR5cGVvZiBlcnJDYWxsYmFjayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGVyckNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7fV19LHt9LFsxMF0pO1xuIl0sImZpbGUiOiJyYWwuanMifQ== diff --git a/platforms/runtime/platforms/link-sure/ral.min.js b/platforms/runtime/platforms/link-sure/ral.min.js deleted file mode 100644 index 95a0ede7a99..00000000000 --- a/platforms/runtime/platforms/link-sure/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(r,i,a){function u(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(c)return c(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return u(r[t][1][e]||e)},o,o.exports,n,r,i,a)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;ee.length)&&(t=e.length);for(var o=0,n=new Array(t);o 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],3:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onShow", qg, ral); - -_util["default"].exportTo("onHide", qg, ral); - -_util["default"].exportTo("offShow", qg, ral); - -_util["default"].exportTo("offHide", qg, ral); - -},{"../../util":21}],4:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadSubpackage", qg, ral); - -},{"../../util":21}],5:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("env", qg, ral); - -_util["default"].exportTo("getSystemInfo", qg, ral); - -_util["default"].exportTo("getSystemInfoSync", qg, ral); - -},{"../../util":21}],6:[function(require,module,exports){ -"use strict"; - -var _jsb = window.jsb; - -if (!_jsb) { - _jsb = {}; -} - -var _touches = []; - -var _getTouchIndex = function _getTouchIndex(touch) { - var element; - - for (var index = 0; index < _touches.length; index++) { - element = _touches[index]; - - if (touch.identifier === element.identifier) { - return index; - } - } - - return -1; -}; - -var _copyObject = function _copyObject(fromObj, toObject) { - for (var key in fromObj) { - if (fromObj.hasOwnProperty(key)) { - toObject[key] = fromObj[key]; - } - } -}; - -var _listenerMap = { - "touchstart": [], - "touchmove": [], - "touchend": [], - "touchcancel": [] -}; - -function _addListener(key, value) { - var listenerArr = _listenerMap[key]; - - for (var index = 0, length = listenerArr.length; index < length; index++) { - if (value === listenerArr[index]) { - return; - } - } - - listenerArr.push(value); -} - -function _removeListener(key, value) { - var listenerArr = _listenerMap[key] || []; - var length = listenerArr.length; - - for (var index = 0; index < length; ++index) { - if (value === listenerArr[index]) { - listenerArr.splice(index, 1); - return; - } - } -} - -var _hasDellWith = false; - -var _systemInfo = qg.getSystemInfoSync(); - -if (window.innerWidth && _systemInfo.windowWidth !== window.innerWidth) { - _hasDellWith = true; -} - -var _touchEventHandlerFactory = function _touchEventHandlerFactory(type) { - return function (changedTouches) { - if (typeof changedTouches === "function") { - _addListener(type, changedTouches); - - return; - } - - var touchEvent = new TouchEvent(type); - var index; - - if (type === "touchstart") { - changedTouches.forEach(function (touch) { - index = _getTouchIndex(touch); - - if (index >= 0) { - _copyObject(touch, _touches[index]); - } else { - var tmp = {}; - - _copyObject(touch, tmp); - - _touches.push(tmp); - } - }); - } else if (type === "touchmove") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _copyObject(element, _touches[index]); - } - }); - } else if (type === "touchend" || type === "touchcancel") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _touches.splice(index, 1); - } - }); - } - - var touches = [].concat(_touches); - var _changedTouches = []; - changedTouches.forEach(function (touch) { - var length = touches.length; - - for (var _index = 0; _index < length; ++_index) { - var _touch = touches[_index]; - - if (touch.identifier === _touch.identifier) { - _changedTouches.push(_touch); - - return; - } - } - - _changedTouches.push(touch); - }); - touchEvent.touches = touches; - touchEvent.targetTouches = touches; - touchEvent.changedTouches = _changedTouches; - - if (_hasDellWith) { - touches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - - if (type === "touchcancel" || type === "touchend") { - _changedTouches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - } - } - - var listenerArr = _listenerMap[type]; - var length = listenerArr.length; - - for (var _index2 = 0; _index2 < length; _index2++) { - listenerArr[_index2](touchEvent); - } - }; -}; - -if (qg.onTouchStart) { - ral.onTouchStart = qg.onTouchStart; - ral.offTouchStart = qg.offTouchStart; -} else { - _jsb.onTouchStart = _touchEventHandlerFactory('touchstart'); - - _jsb.offTouchStart = function (callback) { - _removeListener("touchstart", callback); - }; - - ral.onTouchStart = _jsb.onTouchStart.bind(_jsb); - ral.offTouchStart = _jsb.offTouchStart.bind(_jsb); -} - -if (qg.onTouchMove) { - ral.onTouchMove = qg.onTouchMove; - ral.offTouchMove = qg.offTouchMove; -} else { - _jsb.onTouchMove = _touchEventHandlerFactory('touchmove'); - - _jsb.offTouchMove = function (callback) { - _removeListener("touchmove", callback); - }; - - ral.onTouchMove = _jsb.onTouchMove.bind(_jsb); - ral.offTouchMove = _jsb.offTouchMove.bind(_jsb); -} - -if (qg.onTouchCancel) { - ral.onTouchCancel = qg.onTouchCancel; - ral.offTouchCancel = qg.offTouchCancel; -} else { - _jsb.onTouchCancel = _touchEventHandlerFactory('touchcancel'); - - _jsb.offTouchCancel = function (callback) { - _removeListener("touchcancel", callback); - }; - - ral.onTouchCancel = _jsb.onTouchCancel.bind(_jsb); - ral.offTouchCancel = _jsb.offTouchCancel.bind(_jsb); -} - -if (qg.onTouchEnd) { - ral.onTouchEnd = qg.onTouchEnd; - ral.offTouchEnd = qg.offTouchEnd; -} else { - _jsb.onTouchEnd = _touchEventHandlerFactory('touchend'); - - _jsb.offTouchEnd = function (callback) { - _removeListener("touchend", callback); - }; - - ral.onTouchEnd = _jsb.onTouchEnd.bind(_jsb); - ral.offTouchEnd = _jsb.offTouchEnd.bind(_jsb); -} - -},{}],7:[function(require,module,exports){ -"use strict"; - -var _listeners = []; - -ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } -}; - -ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } -}; - -var _addEventListener = window.addEventListener.bind(window); - -var _onAccelerometerChange; - -ral.startAccelerometer = function () { - if (!_onAccelerometerChange) { - _onAccelerometerChange = function _onAccelerometerChange(event) { - var acceleration = Object.assign({}, event.accelerationIncludingGravity); - acceleration.x /= -10; - acceleration.y /= -10; - acceleration.z /= -10; - - _listeners.forEach(function (listener) { - listener({ - x: acceleration.x, - y: acceleration.y, - z: acceleration.z, - timestamp: event.timeStamp || Date.now() - }); - }); - }; - - _addEventListener("devicemotion", _onAccelerometerChange, false); - - jsb.device.setMotionEnabled(true); - } -}; - -var _removeEventListener = window.removeEventListener.bind(window); - -ral.stopAccelerometer = function () { - if (_onAccelerometerChange) { - _removeEventListener("devicemotion", _onAccelerometerChange, false); - - _onAccelerometerChange = null; - jsb.device.setMotionEnabled(false); - } -}; - -},{}],8:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getBatteryInfo", qg, ral); - -_util["default"].exportTo("getBatteryInfoSync", qg, ral); - -},{"../../util":21}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getFileSystemManager", qg, ral); - -},{"../../util":21}],10:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./media/video"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/webgl"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":1,"../util":21,"./base/lifecycle":3,"./base/subpackage":4,"./base/system-info":5,"./base/touch-event":6,"./device/accelerometer":7,"./device/battery":8,"./file/file-system-manager":9,"./interface/keyboard":11,"./interface/window":12,"./media/audio":13,"./media/video":14,"./network/download":15,"./rendering/canvas":16,"./rendering/font":17,"./rendering/frame":18,"./rendering/image":19,"./rendering/webgl":20}],11:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onKeyboardInput", qg, ral); - -_util["default"].exportTo("onKeyboardConfirm", qg, ral); - -_util["default"].exportTo("onKeyboardComplete", qg, ral); - -_util["default"].exportTo("offKeyboardInput", qg, ral); - -_util["default"].exportTo("offKeyboardConfirm", qg, ral); - -_util["default"].exportTo("offKeyboardComplete", qg, ral); - -_util["default"].exportTo("hideKeyboard", qg, ral); - -_util["default"].exportTo("showKeyboard", qg, ral); - -_util["default"].exportTo("updateKeyboard", qg, ral); - -},{"../../util":21}],12:[function(require,module,exports){ -"use strict"; - -var _onWindowResize = qg.onWindowResize; - -ral.onWindowResize = function (callBack) { - _onWindowResize(function (size) { - callBack(size.width || size.windowWidth, size.height || size.windowHeight); - }); -}; - -},{}],13:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("AudioEngine", qg, ral); - -_util["default"].exportTo("createInnerAudioContext", qg, ral, function () { - if (_rt.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(qg.AudioEngine); - }; - } -}); - -},{"../../inner-context":2,"../../util":21}],14:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("createVideo", qg, ral); - -},{"../../util":21}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("downloadFile", qg, ral); - -},{"../../util":21}],16:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("createCanvas", qg, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createCanvas = function () { - return document.createElement("canvas"); - }; - } - - _feature["default"].setFeature("ral.createCanvas", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":21}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadFont", qg, ral); - -},{"../../util":21}],18:[function(require,module,exports){ -"use strict"; - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (qg.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = qg.setPreferredFramesPerSecond.bind(qg); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadImageData", qg, ral, function () { - if (window.jsb && typeof jsb.loadImage === "function") { - ral.loadImageData = jsb.loadImage; - } else { - console.error("loadImageData is not function"); - } -}); - -_util["default"].exportTo("createImage", qg, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createImage = function () { - return document.createElement("image"); - }; - } - - _feature["default"].setFeature("ral.createImage", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":21}],20:[function(require,module,exports){ -"use strict"; - -if (window.__gl) { - var gl = window.__gl; - var _glTexImage2D = gl.texImage2D; - - gl.texImage2D = function (target, level, internalformat, width, height, border, format, type, pixels) { - var argc = arguments.length; - - if (argc === 6) { - var image = border; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - _glTexImage2D(target, level, image._glInternalFormat, image.width, image.height, 0, image._glFormat, image._glType, image._data); - } else if (image instanceof HTMLCanvasElement) { - if (image._context2D && image._context2D._getData) { - var data = image._context2D._getData(); - - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, data); - } else { - console.error("Invalid image argument gl.texImage2D!"); - } - } else if (image.height && image.width && image.data) { - var error = console.error; - - console.error = function () {}; - - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, image.data); - - console.error = error; - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } else { - console.error("gl.texImage2D: invalid argument count!"); - } - }; - - var _glTexSubImage2D = gl.texSubImage2D; - - gl.texSubImage2D = function (target, level, xoffset, yoffset, width, height, format, type, pixels) { - var argc = arguments.length; - - if (argc === 7) { - var image = format; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, image._glFormat, image._glType, image._data); - } else if (image instanceof HTMLCanvasElement) { - if (image._context2D && image._context2D._getData) { - var data = image._context2D._getData(); - - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, data); - } else { - console.error("Invalid image argument gl.texSubImage2D!"); - } - } else if (image.height && image.width && image.data) { - var error = console.error; - - console.error = function () {}; - - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, image.data); - - console.error = error; - } else { - console.error("Invalid pixel argument passed to gl.texSubImage2D!"); - } - } else if (argc === 9) { - _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } else { - console.error(new Error("gl.texImage2D: invalid argument count!").stack); - } - }; -} - -},{}],21:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}]},{},[10]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xudmFyIF9mZWF0dXJlcyA9IHt9O1xudmFyIF9kZWZhdWx0ID0ge1xuICBzZXRGZWF0dXJlOiBmdW5jdGlvbiBzZXRGZWF0dXJlKGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICB2YXIgZmVhdHVyZSA9IF9mZWF0dXJlc1tmZWF0dXJlTmFtZV07XG5cbiAgICBpZiAoIWZlYXR1cmUpIHtcbiAgICAgIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdID0ge307XG4gICAgfVxuXG4gICAgZmVhdHVyZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgfSxcbiAgZ2V0RmVhdHVyZVByb3BlcnR5OiBmdW5jdGlvbiBnZXRGZWF0dXJlUHJvcGVydHkoZmVhdHVyZU5hbWUsIHByb3BlcnR5KSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuICAgIHJldHVybiBmZWF0dXJlID8gZmVhdHVyZVtwcm9wZXJ0eV0gOiB1bmRlZmluZWQ7XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcbnZhciBfQ0FOUExBWV9DQUxMQkFDSyA9IFwiY2FucGxheUNhbGxiYWNrc1wiO1xudmFyIF9FTkRFRF9DQUxMQkFDSyA9IFwiZW5kZWRDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ0FMTEJBQ0sgPSBcImVycm9yQ2FsbGJhY2tzXCI7XG52YXIgX1BBVVNFX0NBTExCQUNLID0gXCJwYXVzZUNhbGxiYWNrc1wiO1xudmFyIF9QTEFZX0NBTExCQUNLID0gXCJwbGF5Q2FsbGJhY2tzXCI7XG52YXIgX1NFRUtFRF9DQUxMQkFDSyA9IFwic2Vla2VkQ2FsbGJhY2tzXCI7XG52YXIgX1NFRUtJTkdfQ0FMTEJBQ0sgPSBcInNlZWtpbmdDYWxsYmFja3NcIjtcbnZhciBfU1RPUF9DQUxMQkFDSyA9IFwic3RvcENhbGxiYWNrc1wiO1xudmFyIF9USU1FX1VQREFURV9DQUxMQkFDSyA9IFwidGltZVVwZGF0ZUNhbGxiYWNrc1wiO1xudmFyIF9XQUlUSU5HX0NBTExCQUNLID0gXCJ3YWl0aW5nQ2FsbGJhY2tzXCI7XG52YXIgX0VSUk9SX0NPREUgPSB7XG4gIEVSUk9SX1NZU1RFTTogMTAwMDEsXG4gIEVSUk9SX05FVDogMTAwMDIsXG4gIEVSUk9SX0ZJTEU6IDEwMDAzLFxuICBFUlJPUl9GT1JNQVQ6IDEwMDA0LFxuICBFUlJPUl9VTktOT1dOOiAtMVxufTtcbnZhciBfU1RBVEUgPSB7XG4gIEVSUk9SOiAtMSxcbiAgSU5JVElBTElaSU5HOiAwLFxuICBQTEFZSU5HOiAxLFxuICBQQVVTRUQ6IDJcbn07XG52YXIgX2F1ZGlvRW5naW5lID0gdW5kZWZpbmVkO1xuXG52YXIgX3dlYWtNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG52YXIgX29mZkNhbGxiYWNrID0gZnVuY3Rpb24gX29mZkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXSB8fCBbXTtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgaWYgKGNhbGxiYWNrID09PSBjYWxsYmFja3NbaV0pIHtcbiAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICByZXR1cm4gY2FsbGJhY2subGVuZ3RoICsgMTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn07XG5cbnZhciBfb25DYWxsYmFjayA9IGZ1bmN0aW9uIF9vbkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXTtcblxuICBpZiAoIWNhbGxiYWNrcykge1xuICAgIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdID0gW2NhbGxiYWNrXTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2tzLmxlbmd0aDtcbn07XG5cbnZhciBfZGlzcGF0Y2hDYWxsYmFjayA9IGZ1bmN0aW9uIF9kaXNwYXRjaENhbGxiYWNrKHRhcmdldCwgdHlwZSkge1xuICB2YXIgYXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogW107XG5cbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhbGxiYWNrcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRhcmdldCwgYXJncyk7XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBJbm5lckF1ZGlvQ29udGV4dCgpIHtcbiAgdGhpcy5zdGFydFRpbWUgPSAwO1xuICB0aGlzLmF1dG9wbGF5ID0gZmFsc2U7XG5cbiAgX3dlYWtNYXAuc2V0KHRoaXMsIHtcbiAgICBzcmM6IFwiXCIsXG4gICAgdm9sdW1lOiAxLFxuICAgIGxvb3A6IGZhbHNlXG4gIH0pO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImxvb3BcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9ICEhdmFsdWU7XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldExvb3AoYXVkaW9JRCwgdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZVRoaXMubG9vcCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLmxvb3AgOiBmYWxzZTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2b2x1bWVcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICB2YWx1ZSA9IDA7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPiAxKSB7XG4gICAgICAgICAgdmFsdWUgPSAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICB9XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldFZvbHVtZShhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy52b2x1bWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICByZXR1cm4gcHJpdmF0ZVRoaXMgPyBwcml2YXRlVGhpcy52b2x1bWUgOiAxO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNyY1wiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKCFwcml2YXRlVGhpcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBvbGRTcmMgPSBwcml2YXRlVGhpcy5zcmM7XG4gICAgICBwcml2YXRlVGhpcy5zcmMgPSB2YWx1ZTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQgJiYgb2xkU3JjICE9PSB2YWx1ZSkge1xuICAgICAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICAgIF9hdWRpb0VuZ2luZS5wcmVsb2FkKHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5zcmMgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5hdXRvcGxheSkge1xuICAgICAgICAgICAgICAgIHNlbGYucGxheSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnNyYyA6IFwiXCI7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZHVyYXRpb25cIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldER1cmF0aW9uKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBOYU47XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjdXJyZW50VGltZVwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0Q3VycmVudFRpbWUoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJwYXVzZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYnVmZmVyZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldEJ1ZmZlcmVkKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbn1cblxudmFyIF9wcm90b3R5cGUgPSBJbm5lckF1ZGlvQ29udGV4dC5wcm90b3R5cGU7XG5cbl9wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcykge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLKTtcbiAgICB9XG5cbiAgICBwcml2YXRlVGhpc1tfQ0FOUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRU5ERURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX0VSUk9SX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QQVVTRV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfU0VFS0VEX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TVE9QX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19USU1FX1VQREFURV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfV0FJVElOR19DQUxMQkFDS10gPSBbXTtcbiAgICBjbGVhckludGVydmFsKHByaXZhdGVUaGlzLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLnBsYXkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gIGlmICh0eXBlb2Ygc3JjICE9PSBcInN0cmluZ1wiIHx8IHNyYyA9PT0gXCJcIikge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJpbnZhbGlkIHNyY1wiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfRklMRVxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICBpZiAoX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucmVzdW1lKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcbiAgICB9XG4gIH1cblxuICBhdWRpb0lEID0gX2F1ZGlvRW5naW5lLnBsYXkoc3JjLCB0aGlzLmxvb3AsIHRoaXMudm9sdW1lKTtcblxuICBpZiAoYXVkaW9JRCA9PT0gLTEpIHtcbiAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIFt7XG4gICAgICBlcnJNc2c6IFwidW5rbm93blwiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfVU5LTk9XTlxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSBhdWRpb0lEO1xuXG4gIGlmICh0eXBlb2YgdGhpcy5zdGFydFRpbWUgPT09IFwibnVtYmVyXCIgJiYgdGhpcy5zdGFydFRpbWUgPiAwKSB7XG4gICAgX2F1ZGlvRW5naW5lLnNldEN1cnJlbnRUaW1lKGF1ZGlvSUQsIHRoaXMuc3RhcnRUaW1lKTtcbiAgfVxuXG4gIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLKTtcblxuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgX2F1ZGlvRW5naW5lLnNldENhblBsYXlDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1BMQVlfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldFdhaXRpbmdDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9XQUlUSU5HX0NBTExCQUNLKTtcbiAgICB9XG4gIH0pO1xuXG4gIF9hdWRpb0VuZ2luZS5zZXRFcnJvckNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRVJST1JfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRU5ERURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG59O1xuXG5fcHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnBhdXNlKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zZWVrID0gZnVuY3Rpb24gKHBvc2l0aW9uKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMgJiYgdHlwZW9mIHBvc2l0aW9uID09PSBcIm51bWJlclwiICYmIHBvc2l0aW9uID49IDApIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgcG9zaXRpb24pO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSyk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZDYW5wbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZFbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX0VOREVEX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmUGF1c2UgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU2Vla2luZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtJTkdfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29mZkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICBjbGVhckludGVydmFsKF93ZWFrTWFwLmdldCh0aGlzKS5pbnRlcnZhbElEKTtcbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZXYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX0NBTlBMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FcnJvciA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU2Vla2VkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIFwic2Vla2luZ0NhbGxiYWNrc1wiLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblRpbWVVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdmFyIHJlc3VsdCA9IF9vbkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQoc2VsZik7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QTEFZSU5HKSB7XG4gICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1RJTUVfVVBEQVRFX0NBTExCQUNLKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICAgIHByaXZhdGVUaGlzLmludGVydmFsSUQgPSBpbnRlcnZhbElEO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9uV2FpdGluZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuZnVuY3Rpb24gX2RlZmF1bHQoQXVkaW9FbmdpbmUpIHtcbiAgaWYgKF9hdWRpb0VuZ2luZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgX2F1ZGlvRW5naW5lID0gT2JqZWN0LmFzc2lnbih7fSwgQXVkaW9FbmdpbmUpO1xuICAgIE9iamVjdC5rZXlzKEF1ZGlvRW5naW5lKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIEF1ZGlvRW5naW5lW25hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgQXVkaW9FbmdpbmVbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiQXVkaW9FbmdpbmUuXCIgKyBuYW1lICsgXCIgaXMgZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lW25hbWVdLmFwcGx5KEF1ZGlvRW5naW5lLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBJbm5lckF1ZGlvQ29udGV4dCgpO1xufVxuXG47XG5cbn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25TaG93XCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvbkhpZGVcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZlNob3dcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZkhpZGVcIiwgcWcsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkU3VicGFja2FnZVwiLCBxZywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImVudlwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1wiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1N5bmNcIiwgcWcsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9qc2IgPSB3aW5kb3cuanNiO1xuXG5pZiAoIV9qc2IpIHtcbiAgX2pzYiA9IHt9O1xufVxuXG52YXIgX3RvdWNoZXMgPSBbXTtcblxudmFyIF9nZXRUb3VjaEluZGV4ID0gZnVuY3Rpb24gX2dldFRvdWNoSW5kZXgodG91Y2gpIHtcbiAgdmFyIGVsZW1lbnQ7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IF90b3VjaGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGVsZW1lbnQgPSBfdG91Y2hlc1tpbmRleF07XG5cbiAgICBpZiAodG91Y2guaWRlbnRpZmllciA9PT0gZWxlbWVudC5pZGVudGlmaWVyKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufTtcblxudmFyIF9jb3B5T2JqZWN0ID0gZnVuY3Rpb24gX2NvcHlPYmplY3QoZnJvbU9iaiwgdG9PYmplY3QpIHtcbiAgZm9yICh2YXIga2V5IGluIGZyb21PYmopIHtcbiAgICBpZiAoZnJvbU9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICB0b09iamVjdFtrZXldID0gZnJvbU9ialtrZXldO1xuICAgIH1cbiAgfVxufTtcblxudmFyIF9saXN0ZW5lck1hcCA9IHtcbiAgXCJ0b3VjaHN0YXJ0XCI6IFtdLFxuICBcInRvdWNobW92ZVwiOiBbXSxcbiAgXCJ0b3VjaGVuZFwiOiBbXSxcbiAgXCJ0b3VjaGNhbmNlbFwiOiBbXVxufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKGtleSwgdmFsdWUpIHtcbiAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW2tleV07XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwLCBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaWYgKHZhbHVlID09PSBsaXN0ZW5lckFycltpbmRleF0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBsaXN0ZW5lckFyci5wdXNoKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gX3JlbW92ZUxpc3RlbmVyKGtleSwgdmFsdWUpIHtcbiAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW2tleV0gfHwgW107XG4gIHZhciBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgIGlmICh2YWx1ZSA9PT0gbGlzdGVuZXJBcnJbaW5kZXhdKSB7XG4gICAgICBsaXN0ZW5lckFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG52YXIgX2hhc0RlbGxXaXRoID0gZmFsc2U7XG5cbnZhciBfc3lzdGVtSW5mbyA9IHFnLmdldFN5c3RlbUluZm9TeW5jKCk7XG5cbmlmICh3aW5kb3cuaW5uZXJXaWR0aCAmJiBfc3lzdGVtSW5mby53aW5kb3dXaWR0aCAhPT0gd2luZG93LmlubmVyV2lkdGgpIHtcbiAgX2hhc0RlbGxXaXRoID0gdHJ1ZTtcbn1cblxudmFyIF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkgPSBmdW5jdGlvbiBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KHR5cGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjaGFuZ2VkVG91Y2hlcykge1xuICAgIGlmICh0eXBlb2YgY2hhbmdlZFRvdWNoZXMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgX2FkZExpc3RlbmVyKHR5cGUsIGNoYW5nZWRUb3VjaGVzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB0b3VjaEV2ZW50ID0gbmV3IFRvdWNoRXZlbnQodHlwZSk7XG4gICAgdmFyIGluZGV4O1xuXG4gICAgaWYgKHR5cGUgPT09IFwidG91Y2hzdGFydFwiKSB7XG4gICAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KHRvdWNoKTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF9jb3B5T2JqZWN0KHRvdWNoLCBfdG91Y2hlc1tpbmRleF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB0bXAgPSB7fTtcblxuICAgICAgICAgIF9jb3B5T2JqZWN0KHRvdWNoLCB0bXApO1xuXG4gICAgICAgICAgX3RvdWNoZXMucHVzaCh0bXApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwidG91Y2htb3ZlXCIpIHtcbiAgICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgaW5kZXggPSBfZ2V0VG91Y2hJbmRleChlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF9jb3B5T2JqZWN0KGVsZW1lbnQsIF90b3VjaGVzW2luZGV4XSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJ0b3VjaGVuZFwiIHx8IHR5cGUgPT09IFwidG91Y2hjYW5jZWxcIikge1xuICAgICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBpbmRleCA9IF9nZXRUb3VjaEluZGV4KGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgX3RvdWNoZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIHRvdWNoZXMgPSBbXS5jb25jYXQoX3RvdWNoZXMpO1xuICAgIHZhciBfY2hhbmdlZFRvdWNoZXMgPSBbXTtcbiAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgdmFyIGxlbmd0aCA9IHRvdWNoZXMubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBfaW5kZXggPSAwOyBfaW5kZXggPCBsZW5ndGg7ICsrX2luZGV4KSB7XG4gICAgICAgIHZhciBfdG91Y2ggPSB0b3VjaGVzW19pbmRleF07XG5cbiAgICAgICAgaWYgKHRvdWNoLmlkZW50aWZpZXIgPT09IF90b3VjaC5pZGVudGlmaWVyKSB7XG4gICAgICAgICAgX2NoYW5nZWRUb3VjaGVzLnB1c2goX3RvdWNoKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBfY2hhbmdlZFRvdWNoZXMucHVzaCh0b3VjaCk7XG4gICAgfSk7XG4gICAgdG91Y2hFdmVudC50b3VjaGVzID0gdG91Y2hlcztcbiAgICB0b3VjaEV2ZW50LnRhcmdldFRvdWNoZXMgPSB0b3VjaGVzO1xuICAgIHRvdWNoRXZlbnQuY2hhbmdlZFRvdWNoZXMgPSBfY2hhbmdlZFRvdWNoZXM7XG5cbiAgICBpZiAoX2hhc0RlbGxXaXRoKSB7XG4gICAgICB0b3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICAgIHRvdWNoLmNsaWVudFggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLmNsaWVudFkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIHRvdWNoLnBhZ2VYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICB0b3VjaC5wYWdlWSAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodHlwZSA9PT0gXCJ0b3VjaGNhbmNlbFwiIHx8IHR5cGUgPT09IFwidG91Y2hlbmRcIikge1xuICAgICAgICBfY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgICAgICB0b3VjaC5jbGllbnRYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIHRvdWNoLmNsaWVudFkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2gucGFnZVggLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgICAgdG91Y2gucGFnZVkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBsaXN0ZW5lckFyciA9IF9saXN0ZW5lck1hcFt0eXBlXTtcbiAgICB2YXIgbGVuZ3RoID0gbGlzdGVuZXJBcnIubGVuZ3RoO1xuXG4gICAgZm9yICh2YXIgX2luZGV4MiA9IDA7IF9pbmRleDIgPCBsZW5ndGg7IF9pbmRleDIrKykge1xuICAgICAgbGlzdGVuZXJBcnJbX2luZGV4Ml0odG91Y2hFdmVudCk7XG4gICAgfVxuICB9O1xufTtcblxuaWYgKHFnLm9uVG91Y2hTdGFydCkge1xuICByYWwub25Ub3VjaFN0YXJ0ID0gcWcub25Ub3VjaFN0YXJ0O1xuICByYWwub2ZmVG91Y2hTdGFydCA9IHFnLm9mZlRvdWNoU3RhcnQ7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hTdGFydCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoc3RhcnQnKTtcblxuICBfanNiLm9mZlRvdWNoU3RhcnQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaFN0YXJ0ID0gX2pzYi5vblRvdWNoU3RhcnQuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoU3RhcnQgPSBfanNiLm9mZlRvdWNoU3RhcnQuYmluZChfanNiKTtcbn1cblxuaWYgKHFnLm9uVG91Y2hNb3ZlKSB7XG4gIHJhbC5vblRvdWNoTW92ZSA9IHFnLm9uVG91Y2hNb3ZlO1xuICByYWwub2ZmVG91Y2hNb3ZlID0gcWcub2ZmVG91Y2hNb3ZlO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoTW92ZSA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNobW92ZScpO1xuXG4gIF9qc2Iub2ZmVG91Y2hNb3ZlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2htb3ZlXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaE1vdmUgPSBfanNiLm9uVG91Y2hNb3ZlLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaE1vdmUgPSBfanNiLm9mZlRvdWNoTW92ZS5iaW5kKF9qc2IpO1xufVxuXG5pZiAocWcub25Ub3VjaENhbmNlbCkge1xuICByYWwub25Ub3VjaENhbmNlbCA9IHFnLm9uVG91Y2hDYW5jZWw7XG4gIHJhbC5vZmZUb3VjaENhbmNlbCA9IHFnLm9mZlRvdWNoQ2FuY2VsO1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoQ2FuY2VsID0gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSgndG91Y2hjYW5jZWwnKTtcblxuICBfanNiLm9mZlRvdWNoQ2FuY2VsID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2hjYW5jZWxcIiwgY2FsbGJhY2spO1xuICB9O1xuXG4gIHJhbC5vblRvdWNoQ2FuY2VsID0gX2pzYi5vblRvdWNoQ2FuY2VsLmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaENhbmNlbCA9IF9qc2Iub2ZmVG91Y2hDYW5jZWwuYmluZChfanNiKTtcbn1cblxuaWYgKHFnLm9uVG91Y2hFbmQpIHtcbiAgcmFsLm9uVG91Y2hFbmQgPSBxZy5vblRvdWNoRW5kO1xuICByYWwub2ZmVG91Y2hFbmQgPSBxZy5vZmZUb3VjaEVuZDtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaEVuZCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoZW5kJyk7XG5cbiAgX2pzYi5vZmZUb3VjaEVuZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNoZW5kXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaEVuZCA9IF9qc2Iub25Ub3VjaEVuZC5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hFbmQgPSBfanNiLm9mZlRvdWNoRW5kLmJpbmQoX2pzYik7XG59XG5cbn0se31dLDc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfbGlzdGVuZXJzID0gW107XG5cbnJhbC5vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgaWYgKHR5cGVvZiBsaXN0ZW5lciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdmFyIGxlbmd0aCA9IF9saXN0ZW5lcnMubGVuZ3RoO1xuXG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgICAgaWYgKGxpc3RlbmVyID09PSBfbGlzdGVuZXJzW2luZGV4XSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgX2xpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcbiAgfVxufTtcblxucmFsLm9mZkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgdmFyIGxlbmd0aCA9IF9saXN0ZW5lcnMubGVuZ3RoO1xuXG4gIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICBpZiAobGlzdGVuZXIgPT09IF9saXN0ZW5lcnNbaW5kZXhdKSB7XG4gICAgICBfbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn07XG5cbnZhciBfYWRkRXZlbnRMaXN0ZW5lciA9IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyLmJpbmQod2luZG93KTtcblxudmFyIF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2U7XG5cbnJhbC5zdGFydEFjY2VsZXJvbWV0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICghX29uQWNjZWxlcm9tZXRlckNoYW5nZSkge1xuICAgIF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UgPSBmdW5jdGlvbiBfb25BY2NlbGVyb21ldGVyQ2hhbmdlKGV2ZW50KSB7XG4gICAgICB2YXIgYWNjZWxlcmF0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgZXZlbnQuYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSk7XG4gICAgICBhY2NlbGVyYXRpb24ueCAvPSAtMTA7XG4gICAgICBhY2NlbGVyYXRpb24ueSAvPSAtMTA7XG4gICAgICBhY2NlbGVyYXRpb24ueiAvPSAtMTA7XG5cbiAgICAgIF9saXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgICAgICAgbGlzdGVuZXIoe1xuICAgICAgICAgIHg6IGFjY2VsZXJhdGlvbi54LFxuICAgICAgICAgIHk6IGFjY2VsZXJhdGlvbi55LFxuICAgICAgICAgIHo6IGFjY2VsZXJhdGlvbi56LFxuICAgICAgICAgIHRpbWVzdGFtcDogZXZlbnQudGltZVN0YW1wIHx8IERhdGUubm93KClcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX2FkZEV2ZW50TGlzdGVuZXIoXCJkZXZpY2Vtb3Rpb25cIiwgX29uQWNjZWxlcm9tZXRlckNoYW5nZSwgZmFsc2UpO1xuXG4gICAganNiLmRldmljZS5zZXRNb3Rpb25FbmFibGVkKHRydWUpO1xuICB9XG59O1xuXG52YXIgX3JlbW92ZUV2ZW50TGlzdGVuZXIgPSB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lci5iaW5kKHdpbmRvdyk7XG5cbnJhbC5zdG9wQWNjZWxlcm9tZXRlciA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9vbkFjY2VsZXJvbWV0ZXJDaGFuZ2UpIHtcbiAgICBfcmVtb3ZlRXZlbnRMaXN0ZW5lcihcImRldmljZW1vdGlvblwiLCBfb25BY2NlbGVyb21ldGVyQ2hhbmdlLCBmYWxzZSk7XG5cbiAgICBfb25BY2NlbGVyb21ldGVyQ2hhbmdlID0gbnVsbDtcbiAgICBqc2IuZGV2aWNlLnNldE1vdGlvbkVuYWJsZWQoZmFsc2UpO1xuICB9XG59O1xuXG59LHt9XSw4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldEJhdHRlcnlJbmZvXCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRCYXR0ZXJ5SW5mb1N5bmNcIiwgcWcsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRGaWxlU3lzdGVtTWFuYWdlclwiLCBxZywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxMDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuaWYgKHdpbmRvdy5qc2IpIHtcbiAgd2luZG93LnJhbCA9IE9iamVjdC5hc3NpZ24oe30sIHdpbmRvdy5qc2IpO1xufSBlbHNlIHtcbiAgd2luZG93LnJhbCA9IHt9O1xufVxuXG5yZXF1aXJlKFwiLi9iYXNlL2xpZmVjeWNsZVwiKTtcblxucmVxdWlyZShcIi4vYmFzZS9zdWJwYWNrYWdlXCIpO1xuXG5yZXF1aXJlKFwiLi9iYXNlL3N5c3RlbS1pbmZvXCIpO1xuXG5yZXF1aXJlKFwiLi9iYXNlL3RvdWNoLWV2ZW50XCIpO1xuXG5yZXF1aXJlKFwiLi9kZXZpY2UvYWNjZWxlcm9tZXRlclwiKTtcblxucmVxdWlyZShcIi4vZGV2aWNlL2JhdHRlcnlcIik7XG5cbnJlcXVpcmUoXCIuL2ZpbGUvZmlsZS1zeXN0ZW0tbWFuYWdlclwiKTtcblxucmVxdWlyZShcIi4vaW50ZXJmYWNlL2tleWJvYXJkXCIpO1xuXG5yZXF1aXJlKFwiLi9pbnRlcmZhY2Uvd2luZG93XCIpO1xuXG5yZXF1aXJlKFwiLi9tZWRpYS9hdWRpb1wiKTtcblxucmVxdWlyZShcIi4vbWVkaWEvdmlkZW9cIik7XG5cbnJlcXVpcmUoXCIuL25ldHdvcmsvZG93bmxvYWRcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9jYW52YXNcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy93ZWJnbFwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ZvbnRcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9mcmFtZVwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ltYWdlXCIpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRGZWF0dXJlUHJvcGVydHlcIiwgX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLCByYWwpO1xuXG59LHtcIi4uL2ZlYXR1cmVcIjoxLFwiLi4vdXRpbFwiOjIxLFwiLi9iYXNlL2xpZmVjeWNsZVwiOjMsXCIuL2Jhc2Uvc3VicGFja2FnZVwiOjQsXCIuL2Jhc2Uvc3lzdGVtLWluZm9cIjo1LFwiLi9iYXNlL3RvdWNoLWV2ZW50XCI6NixcIi4vZGV2aWNlL2FjY2VsZXJvbWV0ZXJcIjo3LFwiLi9kZXZpY2UvYmF0dGVyeVwiOjgsXCIuL2ZpbGUvZmlsZS1zeXN0ZW0tbWFuYWdlclwiOjksXCIuL2ludGVyZmFjZS9rZXlib2FyZFwiOjExLFwiLi9pbnRlcmZhY2Uvd2luZG93XCI6MTIsXCIuL21lZGlhL2F1ZGlvXCI6MTMsXCIuL21lZGlhL3ZpZGVvXCI6MTQsXCIuL25ldHdvcmsvZG93bmxvYWRcIjoxNSxcIi4vcmVuZGVyaW5nL2NhbnZhc1wiOjE2LFwiLi9yZW5kZXJpbmcvZm9udFwiOjE3LFwiLi9yZW5kZXJpbmcvZnJhbWVcIjoxOCxcIi4vcmVuZGVyaW5nL2ltYWdlXCI6MTksXCIuL3JlbmRlcmluZy93ZWJnbFwiOjIwfV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZElucHV0XCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvbktleWJvYXJkQ29uZmlybVwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbXBsZXRlXCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZLZXlib2FyZElucHV0XCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZLZXlib2FyZENvbmZpcm1cIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29tcGxldGVcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImhpZGVLZXlib2FyZFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwic2hvd0tleWJvYXJkXCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJ1cGRhdGVLZXlib2FyZFwiLCBxZywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9vbldpbmRvd1Jlc2l6ZSA9IHFnLm9uV2luZG93UmVzaXplO1xuXG5yYWwub25XaW5kb3dSZXNpemUgPSBmdW5jdGlvbiAoY2FsbEJhY2spIHtcbiAgX29uV2luZG93UmVzaXplKGZ1bmN0aW9uIChzaXplKSB7XG4gICAgY2FsbEJhY2soc2l6ZS53aWR0aCB8fCBzaXplLndpbmRvd1dpZHRoLCBzaXplLmhlaWdodCB8fCBzaXplLndpbmRvd0hlaWdodCk7XG4gIH0pO1xufTtcblxufSx7fV0sMTM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW5uZXJDb250ZXh0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vaW5uZXItY29udGV4dFwiKSk7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiQXVkaW9FbmdpbmVcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZUlubmVyQXVkaW9Db250ZXh0XCIsIHFnLCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9ydC5BdWRpb0VuZ2luZSkge1xuICAgIHJhbC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiAoMCwgX2lubmVyQ29udGV4dFtcImRlZmF1bHRcIl0pKHFnLkF1ZGlvRW5naW5lKTtcbiAgICB9O1xuICB9XG59KTtcblxufSx7XCIuLi8uLi9pbm5lci1jb250ZXh0XCI6MixcIi4uLy4uL3V0aWxcIjoyMX1dLDE0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImNyZWF0ZVZpZGVvXCIsIHFnLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDE1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImRvd25sb2FkRmlsZVwiLCBxZywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlQ2FudmFzXCIsIHFnLCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgdmFyIGZlYXR1cmVWYWx1ZSA9IFwidW5zdXBwb3J0ZWRcIjtcblxuICBpZiAoZG9jdW1lbnQgJiYgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZlYXR1cmVWYWx1ZSA9IFwid3JhcHBlclwiO1xuXG4gICAgcmFsLmNyZWF0ZUNhbnZhcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgIH07XG4gIH1cblxuICBfZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcInJhbC5jcmVhdGVDYW52YXNcIiwgXCJzcGVjXCIsIGZlYXR1cmVWYWx1ZSk7XG59KTtcblxufSx7XCIuLi8uLi9mZWF0dXJlXCI6MSxcIi4uLy4uL3V0aWxcIjoyMX1dLDE3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImxvYWRGb250XCIsIHFnLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDE4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5pZiAod2luZG93LmpzYiAmJiBqc2Iuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBqc2Iuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kLmJpbmQoanNiKTtcbn0gZWxzZSBpZiAocWcuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSB7XG4gIHJhbC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQgPSBxZy5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQuYmluZChxZyk7XG59IGVsc2Uge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gZnVuY3Rpb24gKCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJUaGUgc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kIGlzIG5vdCBkZWZpbmUhXCIpO1xuICB9O1xufVxuXG59LHt9XSwxOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwibG9hZEltYWdlRGF0YVwiLCBxZywgcmFsLCBmdW5jdGlvbiAoKSB7XG4gIGlmICh3aW5kb3cuanNiICYmIHR5cGVvZiBqc2IubG9hZEltYWdlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByYWwubG9hZEltYWdlRGF0YSA9IGpzYi5sb2FkSW1hZ2U7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5lcnJvcihcImxvYWRJbWFnZURhdGEgaXMgbm90IGZ1bmN0aW9uXCIpO1xuICB9XG59KTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW1hZ2VcIiwgcWcsIHJhbCwgZnVuY3Rpb24gKCkge1xuICB2YXIgZmVhdHVyZVZhbHVlID0gXCJ1bnN1cHBvcnRlZFwiO1xuXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZmVhdHVyZVZhbHVlID0gXCJ3cmFwcGVyXCI7XG5cbiAgICByYWwuY3JlYXRlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltYWdlXCIpO1xuICAgIH07XG4gIH1cblxuICBfZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcInJhbC5jcmVhdGVJbWFnZVwiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcbn0pO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxLFwiLi4vLi4vdXRpbFwiOjIxfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbmlmICh3aW5kb3cuX19nbCkge1xuICB2YXIgZ2wgPSB3aW5kb3cuX19nbDtcbiAgdmFyIF9nbFRleEltYWdlMkQgPSBnbC50ZXhJbWFnZTJEO1xuXG4gIGdsLnRleEltYWdlMkQgPSBmdW5jdGlvbiAodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIGJvcmRlciwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpIHtcbiAgICB2YXIgYXJnYyA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAoYXJnYyA9PT0gNikge1xuICAgICAgdmFyIGltYWdlID0gYm9yZGVyO1xuICAgICAgdHlwZSA9IGhlaWdodDtcbiAgICAgIGZvcm1hdCA9IHdpZHRoO1xuXG4gICAgICBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIF9nbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW1hZ2UuX2dsSW50ZXJuYWxGb3JtYXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsIGltYWdlLl9nbEZvcm1hdCwgaW1hZ2UuX2dsVHlwZSwgaW1hZ2UuX2RhdGEpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KSB7XG4gICAgICAgIGlmIChpbWFnZS5fY29udGV4dDJEICYmIGltYWdlLl9jb250ZXh0MkQuX2dldERhdGEpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IGltYWdlLl9jb250ZXh0MkQuX2dldERhdGEoKTtcblxuICAgICAgICAgIF9nbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsIGZvcm1hdCwgdHlwZSwgZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgaW1hZ2UgYXJndW1lbnQgZ2wudGV4SW1hZ2UyRCFcIik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaW1hZ2UuaGVpZ2h0ICYmIGltYWdlLndpZHRoICYmIGltYWdlLmRhdGEpIHtcbiAgICAgICAgdmFyIGVycm9yID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCwgMCwgZm9ybWF0LCB0eXBlLCBpbWFnZS5kYXRhKTtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZXJyb3I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBwaXhlbCBhcmd1bWVudCBwYXNzZWQgdG8gZ2wudGV4SW1hZ2UyRCFcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmdjID09PSA5KSB7XG4gICAgICBfZ2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcImdsLnRleEltYWdlMkQ6IGludmFsaWQgYXJndW1lbnQgY291bnQhXCIpO1xuICAgIH1cbiAgfTtcblxuICB2YXIgX2dsVGV4U3ViSW1hZ2UyRCA9IGdsLnRleFN1YkltYWdlMkQ7XG5cbiAgZ2wudGV4U3ViSW1hZ2UyRCA9IGZ1bmN0aW9uICh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIHBpeGVscykge1xuICAgIHZhciBhcmdjID0gYXJndW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChhcmdjID09PSA3KSB7XG4gICAgICB2YXIgaW1hZ2UgPSBmb3JtYXQ7XG4gICAgICB0eXBlID0gaGVpZ2h0O1xuICAgICAgZm9ybWF0ID0gd2lkdGg7XG5cbiAgICAgIGlmIChpbWFnZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCBpbWFnZS5fZ2xGb3JtYXQsIGltYWdlLl9nbFR5cGUsIGltYWdlLl9kYXRhKTtcbiAgICAgIH0gZWxzZSBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudCkge1xuICAgICAgICBpZiAoaW1hZ2UuX2NvbnRleHQyRCAmJiBpbWFnZS5fY29udGV4dDJELl9nZXREYXRhKSB7XG4gICAgICAgICAgdmFyIGRhdGEgPSBpbWFnZS5fY29udGV4dDJELl9nZXREYXRhKCk7XG5cbiAgICAgICAgICBfZ2xUZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIGZvcm1hdCwgdHlwZSwgZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgaW1hZ2UgYXJndW1lbnQgZ2wudGV4U3ViSW1hZ2UyRCFcIik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaW1hZ2UuaGVpZ2h0ICYmIGltYWdlLndpZHRoICYmIGltYWdlLmRhdGEpIHtcbiAgICAgICAgdmFyIGVycm9yID0gY29uc29sZS5lcnJvcjtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24gKCkge307XG5cbiAgICAgICAgX2dsVGV4U3ViSW1hZ2UyRCh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCBmb3JtYXQsIHR5cGUsIGltYWdlLmRhdGEpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBlcnJvcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHBpeGVsIGFyZ3VtZW50IHBhc3NlZCB0byBnbC50ZXhTdWJJbWFnZTJEIVwiKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFyZ2MgPT09IDkpIHtcbiAgICAgIF9nbFRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKG5ldyBFcnJvcihcImdsLnRleEltYWdlMkQ6IGludmFsaWQgYXJndW1lbnQgY291bnQhXCIpLnN0YWNrKTtcbiAgICB9XG4gIH07XG59XG5cbn0se31dLDIxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSB2b2lkIDA7XG5cbmZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfTsgfSBlbHNlIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9OyB9IHJldHVybiBfdHlwZW9mKG9iaik7IH1cblxudmFyIF9kZWZhdWx0ID0ge1xuICBleHBvcnRUbzogZnVuY3Rpb24gZXhwb3J0VG8obmFtZSwgZnJvbSwgdG8sIGVyckNhbGxiYWNrKSB7XG4gICAgaWYgKF90eXBlb2YoZnJvbSkgIT09IFwib2JqZWN0XCIgfHwgX3R5cGVvZih0bykgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGNvbnNvbGUud2FybihcImludmFsaWQgZXhwb3J0VG86IFwiLCBuYW1lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgZnJvbVByb3BlcnR5ID0gZnJvbVtuYW1lXTtcblxuICAgIGlmICh0eXBlb2YgZnJvbVByb3BlcnR5ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBpZiAodHlwZW9mIGZyb21Qcm9wZXJ0eSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRvW25hbWVdID0gZnJvbVByb3BlcnR5LmJpbmQoZnJvbSk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odG9bbmFtZV0sIGZyb21Qcm9wZXJ0eSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b1tuYW1lXSA9IGZyb21Qcm9wZXJ0eTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9bbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IobmFtZSArIFwiIGlzIG5vdCBzdXBwb3J0IVwiKTtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfTtcblxuICAgICAgaWYgKHR5cGVvZiBlcnJDYWxsYmFjayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGVyckNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcblxufSx7fV19LHt9LFsxMF0pO1xuIl0sImZpbGUiOiJyYWwuanMifQ== diff --git a/platforms/runtime/platforms/oppo-mini-game/ral.min.js b/platforms/runtime/platforms/oppo-mini-game/ral.min.js deleted file mode 100644 index 13e28bf7a2f..00000000000 --- a/platforms/runtime/platforms/oppo-mini-game/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(r,i,a){function u(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(c)return c(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return u(r[t][1][e]||e)},o,o.exports,n,r,i,a)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;e 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],3:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("onShow", _rt, ral); - -_util["default"].exportTo("onHide", _rt, ral); - -_util["default"].exportTo("offShow", _rt, ral); - -_util["default"].exportTo("offHide", _rt, ral); - -},{"../../util":21}],4:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadSubpackage", _rt, ral); - -},{"../../util":21}],5:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("env", _rt, ral); - -_util["default"].exportTo("getSystemInfo", _rt, ral); - -_util["default"].exportTo("getSystemInfoSync", _rt, ral); - -},{"../../util":21}],6:[function(require,module,exports){ -"use strict"; - -var _jsb = window.jsb; - -if (!_jsb) { - _jsb = {}; -} - -var _rt = loadRuntime(); - -var _touches = []; - -var _getTouchIndex = function _getTouchIndex(touch) { - var element; - - for (var index = 0; index < _touches.length; index++) { - element = _touches[index]; - - if (touch.identifier === element.identifier) { - return index; - } - } - - return -1; -}; - -var _copyObject = function _copyObject(fromObj, toObject) { - for (var key in fromObj) { - if (fromObj.hasOwnProperty(key)) { - toObject[key] = fromObj[key]; - } - } -}; - -var _listenerMap = { - "touchstart": [], - "touchmove": [], - "touchend": [], - "touchcancel": [] -}; - -function _addListener(key, value) { - var listenerArr = _listenerMap[key]; - - for (var index = 0, length = listenerArr.length; index < length; index++) { - if (value === listenerArr[index]) { - return; - } - } - - listenerArr.push(value); -} - -function _removeListener(key, value) { - var listenerArr = _listenerMap[key] || []; - var length = listenerArr.length; - - for (var index = 0; index < length; ++index) { - if (value === listenerArr[index]) { - listenerArr.splice(index, 1); - return; - } - } -} - -var _hasDellWith = false; - -var _systemInfo = _rt.getSystemInfoSync(); - -if (window.innerWidth && _systemInfo.windowWidth !== window.innerWidth) { - _hasDellWith = true; -} - -var _touchEventHandlerFactory = function _touchEventHandlerFactory(type) { - return function (changedTouches) { - if (typeof changedTouches === "function") { - _addListener(type, changedTouches); - - return; - } - - var touchEvent = new TouchEvent(type); - var index; - - if (type === "touchstart") { - changedTouches.forEach(function (touch) { - index = _getTouchIndex(touch); - - if (index >= 0) { - _copyObject(touch, _touches[index]); - } else { - var tmp = {}; - - _copyObject(touch, tmp); - - _touches.push(tmp); - } - }); - } else if (type === "touchmove") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _copyObject(element, _touches[index]); - } - }); - } else if (type === "touchend" || type === "touchcancel") { - changedTouches.forEach(function (element) { - index = _getTouchIndex(element); - - if (index >= 0) { - _touches.splice(index, 1); - } - }); - } - - var touches = [].concat(_touches); - var _changedTouches = []; - changedTouches.forEach(function (touch) { - var length = touches.length; - - for (var _index = 0; _index < length; ++_index) { - var _touch = touches[_index]; - - if (touch.identifier === _touch.identifier) { - _changedTouches.push(_touch); - - return; - } - } - - _changedTouches.push(touch); - }); - touchEvent.touches = touches; - touchEvent.targetTouches = touches; - touchEvent.changedTouches = _changedTouches; - - if (_hasDellWith) { - touches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - - if (type === "touchcancel" || type === "touchend") { - _changedTouches.forEach(function (touch) { - touch.clientX /= window.devicePixelRatio; - touch.clientY /= window.devicePixelRatio; - touch.pageX /= window.devicePixelRatio; - touch.pageY /= window.devicePixelRatio; - }); - } - } - - var listenerArr = _listenerMap[type]; - var length = listenerArr.length; - - for (var _index2 = 0; _index2 < length; _index2++) { - listenerArr[_index2](touchEvent); - } - }; -}; - -if (_rt.onTouchStart) { - ral.onTouchStart = _rt.onTouchStart; - ral.offTouchStart = _rt.offTouchStart; -} else { - _jsb.onTouchStart = _touchEventHandlerFactory('touchstart'); - - _jsb.offTouchStart = function (callback) { - _removeListener("touchstart", callback); - }; - - ral.onTouchStart = _jsb.onTouchStart.bind(_jsb); - ral.offTouchStart = _jsb.offTouchStart.bind(_jsb); -} - -if (_rt.onTouchMove) { - ral.onTouchMove = _rt.onTouchMove; - ral.offTouchMove = _rt.offTouchMove; -} else { - _jsb.onTouchMove = _touchEventHandlerFactory('touchmove'); - - _jsb.offTouchMove = function (callback) { - _removeListener("touchmove", callback); - }; - - ral.onTouchMove = _jsb.onTouchMove.bind(_jsb); - ral.offTouchMove = _jsb.offTouchMove.bind(_jsb); -} - -if (_rt.onTouchCancel) { - ral.onTouchCancel = _rt.onTouchCancel; - ral.offTouchCancel = _rt.offTouchCancel; -} else { - _jsb.onTouchCancel = _touchEventHandlerFactory('touchcancel'); - - _jsb.offTouchCancel = function (callback) { - _removeListener("touchcancel", callback); - }; - - ral.onTouchCancel = _jsb.onTouchCancel.bind(_jsb); - ral.offTouchCancel = _jsb.offTouchCancel.bind(_jsb); -} - -if (_rt.onTouchEnd) { - ral.onTouchEnd = _rt.onTouchEnd; - ral.offTouchEnd = _rt.offTouchEnd; -} else { - _jsb.onTouchEnd = _touchEventHandlerFactory('touchend'); - - _jsb.offTouchEnd = function (callback) { - _removeListener("touchend", callback); - }; - - ral.onTouchEnd = _jsb.onTouchEnd.bind(_jsb); - ral.offTouchEnd = _jsb.offTouchEnd.bind(_jsb); -} - -},{}],7:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -var _listeners = []; -ral.device = ral.device || {}; - -if (_rt.offAccelerometerChange) { - ral.onAccelerometerChange = _rt.onAccelerometerChange.bind(_rt); - ral.offAccelerometerChange = _rt.offAccelerometerChange.bind(_rt); - ral.stopAccelerometer = _rt.stopAccelerometer.bind(_rt); - - var _startAccelerometer = _rt.startAccelerometer.bind(_rt); - - ral.startAccelerometer = function (obj) { - return _startAccelerometer(Object.assign({ - type: "accelerationIncludingGravity" - }, obj)); - }; -} else { - ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } - }; - - ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } - }; - - var _systemInfo = _rt.getSystemInfoSync(); - - var _isAndroid = _systemInfo.platform.toLowerCase() === "android"; - - ral.device.dispatchDeviceMotionEvent = function (event) { - var acceleration = Object.assign({}, event._accelerationIncludingGravity); - - if (_isAndroid) { - acceleration.x /= -10; - acceleration.y /= -10; - acceleration.z /= -10; - } else { - acceleration.x /= 10; - acceleration.y /= 10; - acceleration.z /= 10; - } - - _listeners.forEach(function (listener) { - listener({ - x: acceleration.x, - y: acceleration.y, - z: acceleration.z - }); - }); - }; - - ral.stopAccelerometer = function () { - jsb.device.setMotionEnabled(false); - }; - - ral.startAccelerometer = function () { - jsb.device.setMotionEnabled(true); - }; -} - -},{"../../util":21}],8:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("getBatteryInfo", _rt, ral); - -_util["default"].exportTo("getBatteryInfoSync", _rt, ral); - -},{"../../util":21}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("getFileSystemManager", _rt, ral); - -},{"../../util":21}],10:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./media/video"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/webgl"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":1,"../util":21,"./base/lifecycle":3,"./base/subpackage":4,"./base/system-info":5,"./base/touch-event":6,"./device/accelerometer":7,"./device/battery":8,"./file/file-system-manager":9,"./interface/keyboard":11,"./interface/window":12,"./media/audio":13,"./media/video":14,"./network/download":15,"./rendering/canvas":16,"./rendering/font":17,"./rendering/frame":18,"./rendering/image":19,"./rendering/webgl":20}],11:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("onKeyboardInput", _rt, ral); - -_util["default"].exportTo("onKeyboardConfirm", _rt, ral); - -_util["default"].exportTo("onKeyboardComplete", _rt, ral); - -_util["default"].exportTo("offKeyboardInput", _rt, ral); - -_util["default"].exportTo("offKeyboardConfirm", _rt, ral); - -_util["default"].exportTo("offKeyboardComplete", _rt, ral); - -_util["default"].exportTo("hideKeyboard", _rt, ral); - -_util["default"].exportTo("showKeyboard", _rt, ral); - -_util["default"].exportTo("updateKeyboard", _rt, ral); - -},{"../../util":21}],12:[function(require,module,exports){ -"use strict"; - -var _rt = loadRuntime(); - -var _onWindowResize = _rt.onWindowResize; - -ral.onWindowResize = function (callBack) { - _onWindowResize(function (size) { - callBack(size.width || size.windowWidth, size.height || size.windowHeight); - }); -}; - -},{}],13:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("AudioEngine", _rt, ral); - -_util["default"].exportTo("createInnerAudioContext", _rt, ral, function () { - if (_rt.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(_rt.AudioEngine); - }; - } -}); - -},{"../../inner-context":2,"../../util":21}],14:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("createVideo", _rt, ral); - -},{"../../util":21}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("downloadFile", _rt, ral); - -},{"../../util":21}],16:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("createCanvas", _rt, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createCanvas = function () { - return document.createElement("canvas"); - }; - } - - _feature["default"].setFeature("ral.createCanvas", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":21}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadFont", _rt, ral); - -},{"../../util":21}],18:[function(require,module,exports){ -"use strict"; - -var _rt = loadRuntime(); - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (_rt.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = _rt.setPreferredFramesPerSecond.bind(_rt); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _rt = loadRuntime(); - -_util["default"].exportTo("loadImageData", _rt, ral); - -_util["default"].exportTo("createImage", _rt, ral, function () { - var featureValue = "unsupported"; - - if (document && typeof document.createElement === "function") { - featureValue = "wrapper"; - - ral.createImage = function () { - return document.createElement("image"); - }; - } - - _feature["default"].setFeature("ral.createImage", "spec", featureValue); -}); - -},{"../../feature":1,"../../util":21}],20:[function(require,module,exports){ -"use strict"; - -if (window.__gl) { - var gl = window.__gl; - var _glTexImage2D = gl.texImage2D; - - gl.texImage2D = function (target, level, internalformat, width, height, border, format, type, pixels) { - var argc = arguments.length; - - if (argc === 6) { - var image = border; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = error; - gl.texImage2D_image(target, level, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error = console.error; - - console.error = function () {}; - - _glTexImage2D.apply(void 0, arguments); - - console.error = _error; - var context2D = image.getContext('2d'); - gl.texImage2D_canvas(target, level, internalformat, format, type, context2D); - } else if (image instanceof ImageData) { - _glTexImage2D(target, level, internalformat, image.width, image.height, 0, format, type, image.data); - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } else { - console.error("gl.texImage2D: invalid argument count!"); - } - }; - - var _glTexSubImage2D = gl.texSubImage2D; - - gl.texSubImage2D = function (target, level, xoffset, yoffset, width, height, format, type, pixels) { - var argc = arguments.length; - - if (argc === 7) { - var image = format; - type = height; - format = width; - - if (image instanceof HTMLImageElement) { - var error = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = error; - gl.texSubImage2D_image(target, level, xoffset, yoffset, image._imageMeta); - } else if (image instanceof HTMLCanvasElement) { - var _error2 = console.error; - - console.error = function () {}; - - _glTexSubImage2D.apply(void 0, arguments); - - console.error = _error2; - var context2D = image.getContext('2d'); - gl.texSubImage2D_canvas(target, level, xoffset, yoffset, format, type, context2D); - } else if (image instanceof ImageData) { - _glTexSubImage2D(target, level, xoffset, yoffset, image.width, image.height, format, type, image.data); - } else { - console.error("Invalid pixel argument passed to gl.texImage2D!"); - } - } else if (argc === 9) { - _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } else { - console.error(new Error("gl.texImage2D: invalid argument count!").stack); - } - }; -} - -},{}],21:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}]},{},[10]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xudmFyIF9mZWF0dXJlcyA9IHt9O1xudmFyIF9kZWZhdWx0ID0ge1xuICBzZXRGZWF0dXJlOiBmdW5jdGlvbiBzZXRGZWF0dXJlKGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICB2YXIgZmVhdHVyZSA9IF9mZWF0dXJlc1tmZWF0dXJlTmFtZV07XG5cbiAgICBpZiAoIWZlYXR1cmUpIHtcbiAgICAgIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdID0ge307XG4gICAgfVxuXG4gICAgZmVhdHVyZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgfSxcbiAgZ2V0RmVhdHVyZVByb3BlcnR5OiBmdW5jdGlvbiBnZXRGZWF0dXJlUHJvcGVydHkoZmVhdHVyZU5hbWUsIHByb3BlcnR5KSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuICAgIHJldHVybiBmZWF0dXJlID8gZmVhdHVyZVtwcm9wZXJ0eV0gOiB1bmRlZmluZWQ7XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcbnZhciBfQ0FOUExBWV9DQUxMQkFDSyA9IFwiY2FucGxheUNhbGxiYWNrc1wiO1xudmFyIF9FTkRFRF9DQUxMQkFDSyA9IFwiZW5kZWRDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ0FMTEJBQ0sgPSBcImVycm9yQ2FsbGJhY2tzXCI7XG52YXIgX1BBVVNFX0NBTExCQUNLID0gXCJwYXVzZUNhbGxiYWNrc1wiO1xudmFyIF9QTEFZX0NBTExCQUNLID0gXCJwbGF5Q2FsbGJhY2tzXCI7XG52YXIgX1NFRUtFRF9DQUxMQkFDSyA9IFwic2Vla2VkQ2FsbGJhY2tzXCI7XG52YXIgX1NFRUtJTkdfQ0FMTEJBQ0sgPSBcInNlZWtpbmdDYWxsYmFja3NcIjtcbnZhciBfU1RPUF9DQUxMQkFDSyA9IFwic3RvcENhbGxiYWNrc1wiO1xudmFyIF9USU1FX1VQREFURV9DQUxMQkFDSyA9IFwidGltZVVwZGF0ZUNhbGxiYWNrc1wiO1xudmFyIF9XQUlUSU5HX0NBTExCQUNLID0gXCJ3YWl0aW5nQ2FsbGJhY2tzXCI7XG52YXIgX0VSUk9SX0NPREUgPSB7XG4gIEVSUk9SX1NZU1RFTTogMTAwMDEsXG4gIEVSUk9SX05FVDogMTAwMDIsXG4gIEVSUk9SX0ZJTEU6IDEwMDAzLFxuICBFUlJPUl9GT1JNQVQ6IDEwMDA0LFxuICBFUlJPUl9VTktOT1dOOiAtMVxufTtcbnZhciBfU1RBVEUgPSB7XG4gIEVSUk9SOiAtMSxcbiAgSU5JVElBTElaSU5HOiAwLFxuICBQTEFZSU5HOiAxLFxuICBQQVVTRUQ6IDJcbn07XG52YXIgX2F1ZGlvRW5naW5lID0gdW5kZWZpbmVkO1xuXG52YXIgX3dlYWtNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG52YXIgX29mZkNhbGxiYWNrID0gZnVuY3Rpb24gX29mZkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXSB8fCBbXTtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgaWYgKGNhbGxiYWNrID09PSBjYWxsYmFja3NbaV0pIHtcbiAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICByZXR1cm4gY2FsbGJhY2subGVuZ3RoICsgMTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn07XG5cbnZhciBfb25DYWxsYmFjayA9IGZ1bmN0aW9uIF9vbkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXTtcblxuICBpZiAoIWNhbGxiYWNrcykge1xuICAgIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdID0gW2NhbGxiYWNrXTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2tzLmxlbmd0aDtcbn07XG5cbnZhciBfZGlzcGF0Y2hDYWxsYmFjayA9IGZ1bmN0aW9uIF9kaXNwYXRjaENhbGxiYWNrKHRhcmdldCwgdHlwZSkge1xuICB2YXIgYXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogW107XG5cbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhbGxiYWNrcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRhcmdldCwgYXJncyk7XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBJbm5lckF1ZGlvQ29udGV4dCgpIHtcbiAgdGhpcy5zdGFydFRpbWUgPSAwO1xuICB0aGlzLmF1dG9wbGF5ID0gZmFsc2U7XG5cbiAgX3dlYWtNYXAuc2V0KHRoaXMsIHtcbiAgICBzcmM6IFwiXCIsXG4gICAgdm9sdW1lOiAxLFxuICAgIGxvb3A6IGZhbHNlXG4gIH0pO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImxvb3BcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9ICEhdmFsdWU7XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldExvb3AoYXVkaW9JRCwgdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZVRoaXMubG9vcCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLmxvb3AgOiBmYWxzZTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2b2x1bWVcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICB2YWx1ZSA9IDA7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPiAxKSB7XG4gICAgICAgICAgdmFsdWUgPSAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICB9XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldFZvbHVtZShhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy52b2x1bWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICByZXR1cm4gcHJpdmF0ZVRoaXMgPyBwcml2YXRlVGhpcy52b2x1bWUgOiAxO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNyY1wiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKCFwcml2YXRlVGhpcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBvbGRTcmMgPSBwcml2YXRlVGhpcy5zcmM7XG4gICAgICBwcml2YXRlVGhpcy5zcmMgPSB2YWx1ZTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQgJiYgb2xkU3JjICE9PSB2YWx1ZSkge1xuICAgICAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICAgIF9hdWRpb0VuZ2luZS5wcmVsb2FkKHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5zcmMgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5hdXRvcGxheSkge1xuICAgICAgICAgICAgICAgIHNlbGYucGxheSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnNyYyA6IFwiXCI7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZHVyYXRpb25cIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldER1cmF0aW9uKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBOYU47XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjdXJyZW50VGltZVwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0Q3VycmVudFRpbWUoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJwYXVzZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYnVmZmVyZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldEJ1ZmZlcmVkKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbn1cblxudmFyIF9wcm90b3R5cGUgPSBJbm5lckF1ZGlvQ29udGV4dC5wcm90b3R5cGU7XG5cbl9wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcykge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLKTtcbiAgICB9XG5cbiAgICBwcml2YXRlVGhpc1tfQ0FOUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRU5ERURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX0VSUk9SX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QQVVTRV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfU0VFS0VEX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TVE9QX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19USU1FX1VQREFURV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfV0FJVElOR19DQUxMQkFDS10gPSBbXTtcbiAgICBjbGVhckludGVydmFsKHByaXZhdGVUaGlzLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLnBsYXkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gIGlmICh0eXBlb2Ygc3JjICE9PSBcInN0cmluZ1wiIHx8IHNyYyA9PT0gXCJcIikge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJpbnZhbGlkIHNyY1wiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfRklMRVxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICBpZiAoX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucmVzdW1lKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcbiAgICB9XG4gIH1cblxuICBhdWRpb0lEID0gX2F1ZGlvRW5naW5lLnBsYXkoc3JjLCB0aGlzLmxvb3AsIHRoaXMudm9sdW1lKTtcblxuICBpZiAoYXVkaW9JRCA9PT0gLTEpIHtcbiAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIFt7XG4gICAgICBlcnJNc2c6IFwidW5rbm93blwiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfVU5LTk9XTlxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSBhdWRpb0lEO1xuXG4gIGlmICh0eXBlb2YgdGhpcy5zdGFydFRpbWUgPT09IFwibnVtYmVyXCIgJiYgdGhpcy5zdGFydFRpbWUgPiAwKSB7XG4gICAgX2F1ZGlvRW5naW5lLnNldEN1cnJlbnRUaW1lKGF1ZGlvSUQsIHRoaXMuc3RhcnRUaW1lKTtcbiAgfVxuXG4gIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLKTtcblxuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgX2F1ZGlvRW5naW5lLnNldENhblBsYXlDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1BMQVlfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldFdhaXRpbmdDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9XQUlUSU5HX0NBTExCQUNLKTtcbiAgICB9XG4gIH0pO1xuXG4gIF9hdWRpb0VuZ2luZS5zZXRFcnJvckNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRVJST1JfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRU5ERURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG59O1xuXG5fcHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnBhdXNlKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zZWVrID0gZnVuY3Rpb24gKHBvc2l0aW9uKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMgJiYgdHlwZW9mIHBvc2l0aW9uID09PSBcIm51bWJlclwiICYmIHBvc2l0aW9uID49IDApIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgcG9zaXRpb24pO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSyk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZDYW5wbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZFbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX0VOREVEX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmUGF1c2UgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU2Vla2luZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtJTkdfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29mZkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICBjbGVhckludGVydmFsKF93ZWFrTWFwLmdldCh0aGlzKS5pbnRlcnZhbElEKTtcbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZXYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX0NBTlBMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FcnJvciA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU2Vla2VkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIFwic2Vla2luZ0NhbGxiYWNrc1wiLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblRpbWVVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdmFyIHJlc3VsdCA9IF9vbkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQoc2VsZik7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QTEFZSU5HKSB7XG4gICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1RJTUVfVVBEQVRFX0NBTExCQUNLKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICAgIHByaXZhdGVUaGlzLmludGVydmFsSUQgPSBpbnRlcnZhbElEO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9uV2FpdGluZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuZnVuY3Rpb24gX2RlZmF1bHQoQXVkaW9FbmdpbmUpIHtcbiAgaWYgKF9hdWRpb0VuZ2luZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgX2F1ZGlvRW5naW5lID0gT2JqZWN0LmFzc2lnbih7fSwgQXVkaW9FbmdpbmUpO1xuICAgIE9iamVjdC5rZXlzKEF1ZGlvRW5naW5lKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIEF1ZGlvRW5naW5lW25hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgQXVkaW9FbmdpbmVbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiQXVkaW9FbmdpbmUuXCIgKyBuYW1lICsgXCIgaXMgZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lW25hbWVdLmFwcGx5KEF1ZGlvRW5naW5lLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBJbm5lckF1ZGlvQ29udGV4dCgpO1xufVxuXG47XG5cbn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uU2hvd1wiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uSGlkZVwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZlNob3dcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZIaWRlXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSw0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkU3VicGFja2FnZVwiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZW52XCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0U3lzdGVtSW5mb1wiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldFN5c3RlbUluZm9TeW5jXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSw2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX2pzYiA9IHdpbmRvdy5qc2I7XG5cbmlmICghX2pzYikge1xuICBfanNiID0ge307XG59XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG52YXIgX3RvdWNoZXMgPSBbXTtcblxudmFyIF9nZXRUb3VjaEluZGV4ID0gZnVuY3Rpb24gX2dldFRvdWNoSW5kZXgodG91Y2gpIHtcbiAgdmFyIGVsZW1lbnQ7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IF90b3VjaGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGVsZW1lbnQgPSBfdG91Y2hlc1tpbmRleF07XG5cbiAgICBpZiAodG91Y2guaWRlbnRpZmllciA9PT0gZWxlbWVudC5pZGVudGlmaWVyKSB7XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIC0xO1xufTtcblxudmFyIF9jb3B5T2JqZWN0ID0gZnVuY3Rpb24gX2NvcHlPYmplY3QoZnJvbU9iaiwgdG9PYmplY3QpIHtcbiAgZm9yICh2YXIga2V5IGluIGZyb21PYmopIHtcbiAgICBpZiAoZnJvbU9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICB0b09iamVjdFtrZXldID0gZnJvbU9ialtrZXldO1xuICAgIH1cbiAgfVxufTtcblxudmFyIF9saXN0ZW5lck1hcCA9IHtcbiAgXCJ0b3VjaHN0YXJ0XCI6IFtdLFxuICBcInRvdWNobW92ZVwiOiBbXSxcbiAgXCJ0b3VjaGVuZFwiOiBbXSxcbiAgXCJ0b3VjaGNhbmNlbFwiOiBbXVxufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKGtleSwgdmFsdWUpIHtcbiAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW2tleV07XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwLCBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaWYgKHZhbHVlID09PSBsaXN0ZW5lckFycltpbmRleF0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBsaXN0ZW5lckFyci5wdXNoKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gX3JlbW92ZUxpc3RlbmVyKGtleSwgdmFsdWUpIHtcbiAgdmFyIGxpc3RlbmVyQXJyID0gX2xpc3RlbmVyTWFwW2tleV0gfHwgW107XG4gIHZhciBsZW5ndGggPSBsaXN0ZW5lckFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgIGlmICh2YWx1ZSA9PT0gbGlzdGVuZXJBcnJbaW5kZXhdKSB7XG4gICAgICBsaXN0ZW5lckFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG52YXIgX2hhc0RlbGxXaXRoID0gZmFsc2U7XG5cbnZhciBfc3lzdGVtSW5mbyA9IF9ydC5nZXRTeXN0ZW1JbmZvU3luYygpO1xuXG5pZiAod2luZG93LmlubmVyV2lkdGggJiYgX3N5c3RlbUluZm8ud2luZG93V2lkdGggIT09IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gIF9oYXNEZWxsV2l0aCA9IHRydWU7XG59XG5cbnZhciBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5ID0gZnVuY3Rpb24gX3RvdWNoRXZlbnRIYW5kbGVyRmFjdG9yeSh0eXBlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoY2hhbmdlZFRvdWNoZXMpIHtcbiAgICBpZiAodHlwZW9mIGNoYW5nZWRUb3VjaGVzID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIF9hZGRMaXN0ZW5lcih0eXBlLCBjaGFuZ2VkVG91Y2hlcyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdG91Y2hFdmVudCA9IG5ldyBUb3VjaEV2ZW50KHR5cGUpO1xuICAgIHZhciBpbmRleDtcblxuICAgIGlmICh0eXBlID09PSBcInRvdWNoc3RhcnRcIikge1xuICAgICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgICAgaW5kZXggPSBfZ2V0VG91Y2hJbmRleCh0b3VjaCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBfY29weU9iamVjdCh0b3VjaCwgX3RvdWNoZXNbaW5kZXhdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgdG1wID0ge307XG5cbiAgICAgICAgICBfY29weU9iamVjdCh0b3VjaCwgdG1wKTtcblxuICAgICAgICAgIF90b3VjaGVzLnB1c2godG1wKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBcInRvdWNobW92ZVwiKSB7XG4gICAgICBjaGFuZ2VkVG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgIGluZGV4ID0gX2dldFRvdWNoSW5kZXgoZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBfY29weU9iamVjdChlbGVtZW50LCBfdG91Y2hlc1tpbmRleF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwidG91Y2hlbmRcIiB8fCB0eXBlID09PSBcInRvdWNoY2FuY2VsXCIpIHtcbiAgICAgIGNoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgaW5kZXggPSBfZ2V0VG91Y2hJbmRleChlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIF90b3VjaGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciB0b3VjaGVzID0gW10uY29uY2F0KF90b3VjaGVzKTtcbiAgICB2YXIgX2NoYW5nZWRUb3VjaGVzID0gW107XG4gICAgY2hhbmdlZFRvdWNoZXMuZm9yRWFjaChmdW5jdGlvbiAodG91Y2gpIHtcbiAgICAgIHZhciBsZW5ndGggPSB0b3VjaGVzLmxlbmd0aDtcblxuICAgICAgZm9yICh2YXIgX2luZGV4ID0gMDsgX2luZGV4IDwgbGVuZ3RoOyArK19pbmRleCkge1xuICAgICAgICB2YXIgX3RvdWNoID0gdG91Y2hlc1tfaW5kZXhdO1xuXG4gICAgICAgIGlmICh0b3VjaC5pZGVudGlmaWVyID09PSBfdG91Y2guaWRlbnRpZmllcikge1xuICAgICAgICAgIF9jaGFuZ2VkVG91Y2hlcy5wdXNoKF90b3VjaCk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgX2NoYW5nZWRUb3VjaGVzLnB1c2godG91Y2gpO1xuICAgIH0pO1xuICAgIHRvdWNoRXZlbnQudG91Y2hlcyA9IHRvdWNoZXM7XG4gICAgdG91Y2hFdmVudC50YXJnZXRUb3VjaGVzID0gdG91Y2hlcztcbiAgICB0b3VjaEV2ZW50LmNoYW5nZWRUb3VjaGVzID0gX2NoYW5nZWRUb3VjaGVzO1xuXG4gICAgaWYgKF9oYXNEZWxsV2l0aCkge1xuICAgICAgdG91Y2hlcy5mb3JFYWNoKGZ1bmN0aW9uICh0b3VjaCkge1xuICAgICAgICB0b3VjaC5jbGllbnRYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICB0b3VjaC5jbGllbnRZIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICB0b3VjaC5wYWdlWCAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgdG91Y2gucGFnZVkgLz0gd2luZG93LmRldmljZVBpeGVsUmF0aW87XG4gICAgICB9KTtcblxuICAgICAgaWYgKHR5cGUgPT09IFwidG91Y2hjYW5jZWxcIiB8fCB0eXBlID09PSBcInRvdWNoZW5kXCIpIHtcbiAgICAgICAgX2NoYW5nZWRUb3VjaGVzLmZvckVhY2goZnVuY3Rpb24gKHRvdWNoKSB7XG4gICAgICAgICAgdG91Y2guY2xpZW50WCAvPSB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbztcbiAgICAgICAgICB0b3VjaC5jbGllbnRZIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIHRvdWNoLnBhZ2VYIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICAgIHRvdWNoLnBhZ2VZIC89IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgbGlzdGVuZXJBcnIgPSBfbGlzdGVuZXJNYXBbdHlwZV07XG4gICAgdmFyIGxlbmd0aCA9IGxpc3RlbmVyQXJyLmxlbmd0aDtcblxuICAgIGZvciAodmFyIF9pbmRleDIgPSAwOyBfaW5kZXgyIDwgbGVuZ3RoOyBfaW5kZXgyKyspIHtcbiAgICAgIGxpc3RlbmVyQXJyW19pbmRleDJdKHRvdWNoRXZlbnQpO1xuICAgIH1cbiAgfTtcbn07XG5cbmlmIChfcnQub25Ub3VjaFN0YXJ0KSB7XG4gIHJhbC5vblRvdWNoU3RhcnQgPSBfcnQub25Ub3VjaFN0YXJ0O1xuICByYWwub2ZmVG91Y2hTdGFydCA9IF9ydC5vZmZUb3VjaFN0YXJ0O1xufSBlbHNlIHtcbiAgX2pzYi5vblRvdWNoU3RhcnQgPSBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KCd0b3VjaHN0YXJ0Jyk7XG5cbiAgX2pzYi5vZmZUb3VjaFN0YXJ0ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgX3JlbW92ZUxpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmFsLm9uVG91Y2hTdGFydCA9IF9qc2Iub25Ub3VjaFN0YXJ0LmJpbmQoX2pzYik7XG4gIHJhbC5vZmZUb3VjaFN0YXJ0ID0gX2pzYi5vZmZUb3VjaFN0YXJ0LmJpbmQoX2pzYik7XG59XG5cbmlmIChfcnQub25Ub3VjaE1vdmUpIHtcbiAgcmFsLm9uVG91Y2hNb3ZlID0gX3J0Lm9uVG91Y2hNb3ZlO1xuICByYWwub2ZmVG91Y2hNb3ZlID0gX3J0Lm9mZlRvdWNoTW92ZTtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaE1vdmUgPSBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KCd0b3VjaG1vdmUnKTtcblxuICBfanNiLm9mZlRvdWNoTW92ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNobW92ZVwiLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmFsLm9uVG91Y2hNb3ZlID0gX2pzYi5vblRvdWNoTW92ZS5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hNb3ZlID0gX2pzYi5vZmZUb3VjaE1vdmUuYmluZChfanNiKTtcbn1cblxuaWYgKF9ydC5vblRvdWNoQ2FuY2VsKSB7XG4gIHJhbC5vblRvdWNoQ2FuY2VsID0gX3J0Lm9uVG91Y2hDYW5jZWw7XG4gIHJhbC5vZmZUb3VjaENhbmNlbCA9IF9ydC5vZmZUb3VjaENhbmNlbDtcbn0gZWxzZSB7XG4gIF9qc2Iub25Ub3VjaENhbmNlbCA9IF90b3VjaEV2ZW50SGFuZGxlckZhY3RvcnkoJ3RvdWNoY2FuY2VsJyk7XG5cbiAgX2pzYi5vZmZUb3VjaENhbmNlbCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgIF9yZW1vdmVMaXN0ZW5lcihcInRvdWNoY2FuY2VsXCIsIGNhbGxiYWNrKTtcbiAgfTtcblxuICByYWwub25Ub3VjaENhbmNlbCA9IF9qc2Iub25Ub3VjaENhbmNlbC5iaW5kKF9qc2IpO1xuICByYWwub2ZmVG91Y2hDYW5jZWwgPSBfanNiLm9mZlRvdWNoQ2FuY2VsLmJpbmQoX2pzYik7XG59XG5cbmlmIChfcnQub25Ub3VjaEVuZCkge1xuICByYWwub25Ub3VjaEVuZCA9IF9ydC5vblRvdWNoRW5kO1xuICByYWwub2ZmVG91Y2hFbmQgPSBfcnQub2ZmVG91Y2hFbmQ7XG59IGVsc2Uge1xuICBfanNiLm9uVG91Y2hFbmQgPSBfdG91Y2hFdmVudEhhbmRsZXJGYWN0b3J5KCd0b3VjaGVuZCcpO1xuXG4gIF9qc2Iub2ZmVG91Y2hFbmQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICBfcmVtb3ZlTGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgcmFsLm9uVG91Y2hFbmQgPSBfanNiLm9uVG91Y2hFbmQuYmluZChfanNiKTtcbiAgcmFsLm9mZlRvdWNoRW5kID0gX2pzYi5vZmZUb3VjaEVuZC5iaW5kKF9qc2IpO1xufVxuXG59LHt9XSw3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG52YXIgX2xpc3RlbmVycyA9IFtdO1xucmFsLmRldmljZSA9IHJhbC5kZXZpY2UgfHwge307XG5cbmlmIChfcnQub2ZmQWNjZWxlcm9tZXRlckNoYW5nZSkge1xuICByYWwub25BY2NlbGVyb21ldGVyQ2hhbmdlID0gX3J0Lm9uQWNjZWxlcm9tZXRlckNoYW5nZS5iaW5kKF9ydCk7XG4gIHJhbC5vZmZBY2NlbGVyb21ldGVyQ2hhbmdlID0gX3J0Lm9mZkFjY2VsZXJvbWV0ZXJDaGFuZ2UuYmluZChfcnQpO1xuICByYWwuc3RvcEFjY2VsZXJvbWV0ZXIgPSBfcnQuc3RvcEFjY2VsZXJvbWV0ZXIuYmluZChfcnQpO1xuXG4gIHZhciBfc3RhcnRBY2NlbGVyb21ldGVyID0gX3J0LnN0YXJ0QWNjZWxlcm9tZXRlci5iaW5kKF9ydCk7XG5cbiAgcmFsLnN0YXJ0QWNjZWxlcm9tZXRlciA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICByZXR1cm4gX3N0YXJ0QWNjZWxlcm9tZXRlcihPYmplY3QuYXNzaWduKHtcbiAgICAgIHR5cGU6IFwiYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eVwiXG4gICAgfSwgb2JqKSk7XG4gIH07XG59IGVsc2Uge1xuICByYWwub25BY2NlbGVyb21ldGVyQ2hhbmdlID0gZnVuY3Rpb24gKGxpc3RlbmVyKSB7XG4gICAgaWYgKHR5cGVvZiBsaXN0ZW5lciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gX2xpc3RlbmVycy5sZW5ndGg7XG5cbiAgICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgICAgaWYgKGxpc3RlbmVyID09PSBfbGlzdGVuZXJzW2luZGV4XSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBfbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cbiAgfTtcblxuICByYWwub2ZmQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgIHZhciBsZW5ndGggPSBfbGlzdGVuZXJzLmxlbmd0aDtcblxuICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHtcbiAgICAgIGlmIChsaXN0ZW5lciA9PT0gX2xpc3RlbmVyc1tpbmRleF0pIHtcbiAgICAgICAgX2xpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdmFyIF9zeXN0ZW1JbmZvID0gX3J0LmdldFN5c3RlbUluZm9TeW5jKCk7XG5cbiAgdmFyIF9pc0FuZHJvaWQgPSBfc3lzdGVtSW5mby5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpID09PSBcImFuZHJvaWRcIjtcblxuICByYWwuZGV2aWNlLmRpc3BhdGNoRGV2aWNlTW90aW9uRXZlbnQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgYWNjZWxlcmF0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgZXZlbnQuX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkpO1xuXG4gICAgaWYgKF9pc0FuZHJvaWQpIHtcbiAgICAgIGFjY2VsZXJhdGlvbi54IC89IC0xMDtcbiAgICAgIGFjY2VsZXJhdGlvbi55IC89IC0xMDtcbiAgICAgIGFjY2VsZXJhdGlvbi56IC89IC0xMDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjZWxlcmF0aW9uLnggLz0gMTA7XG4gICAgICBhY2NlbGVyYXRpb24ueSAvPSAxMDtcbiAgICAgIGFjY2VsZXJhdGlvbi56IC89IDEwO1xuICAgIH1cblxuICAgIF9saXN0ZW5lcnMuZm9yRWFjaChmdW5jdGlvbiAobGlzdGVuZXIpIHtcbiAgICAgIGxpc3RlbmVyKHtcbiAgICAgICAgeDogYWNjZWxlcmF0aW9uLngsXG4gICAgICAgIHk6IGFjY2VsZXJhdGlvbi55LFxuICAgICAgICB6OiBhY2NlbGVyYXRpb24uelxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgcmFsLnN0b3BBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKCkge1xuICAgIGpzYi5kZXZpY2Uuc2V0TW90aW9uRW5hYmxlZChmYWxzZSk7XG4gIH07XG5cbiAgcmFsLnN0YXJ0QWNjZWxlcm9tZXRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICBqc2IuZGV2aWNlLnNldE1vdGlvbkVuYWJsZWQodHJ1ZSk7XG4gIH07XG59XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0QmF0dGVyeUluZm9cIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRCYXR0ZXJ5SW5mb1N5bmNcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldEZpbGVTeXN0ZW1NYW5hZ2VyXCIsIF9ydCwgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6MjF9XSwxMDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuaWYgKHdpbmRvdy5qc2IpIHtcbiAgd2luZG93LnJhbCA9IE9iamVjdC5hc3NpZ24oe30sIHdpbmRvdy5qc2IpO1xufSBlbHNlIHtcbiAgd2luZG93LnJhbCA9IHt9O1xufVxuXG5yZXF1aXJlKFwiLi9iYXNlL2xpZmVjeWNsZVwiKTtcblxucmVxdWlyZShcIi4vYmFzZS9zdWJwYWNrYWdlXCIpO1xuXG5yZXF1aXJlKFwiLi9iYXNlL3N5c3RlbS1pbmZvXCIpO1xuXG5yZXF1aXJlKFwiLi9iYXNlL3RvdWNoLWV2ZW50XCIpO1xuXG5yZXF1aXJlKFwiLi9kZXZpY2UvYWNjZWxlcm9tZXRlclwiKTtcblxucmVxdWlyZShcIi4vZGV2aWNlL2JhdHRlcnlcIik7XG5cbnJlcXVpcmUoXCIuL2ZpbGUvZmlsZS1zeXN0ZW0tbWFuYWdlclwiKTtcblxucmVxdWlyZShcIi4vaW50ZXJmYWNlL2tleWJvYXJkXCIpO1xuXG5yZXF1aXJlKFwiLi9pbnRlcmZhY2Uvd2luZG93XCIpO1xuXG5yZXF1aXJlKFwiLi9tZWRpYS9hdWRpb1wiKTtcblxucmVxdWlyZShcIi4vbWVkaWEvdmlkZW9cIik7XG5cbnJlcXVpcmUoXCIuL25ldHdvcmsvZG93bmxvYWRcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9jYW52YXNcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy93ZWJnbFwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ZvbnRcIik7XG5cbnJlcXVpcmUoXCIuL3JlbmRlcmluZy9mcmFtZVwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ltYWdlXCIpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRGZWF0dXJlUHJvcGVydHlcIiwgX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLCByYWwpO1xuXG59LHtcIi4uL2ZlYXR1cmVcIjoxLFwiLi4vdXRpbFwiOjIxLFwiLi9iYXNlL2xpZmVjeWNsZVwiOjMsXCIuL2Jhc2Uvc3VicGFja2FnZVwiOjQsXCIuL2Jhc2Uvc3lzdGVtLWluZm9cIjo1LFwiLi9iYXNlL3RvdWNoLWV2ZW50XCI6NixcIi4vZGV2aWNlL2FjY2VsZXJvbWV0ZXJcIjo3LFwiLi9kZXZpY2UvYmF0dGVyeVwiOjgsXCIuL2ZpbGUvZmlsZS1zeXN0ZW0tbWFuYWdlclwiOjksXCIuL2ludGVyZmFjZS9rZXlib2FyZFwiOjExLFwiLi9pbnRlcmZhY2Uvd2luZG93XCI6MTIsXCIuL21lZGlhL2F1ZGlvXCI6MTMsXCIuL21lZGlhL3ZpZGVvXCI6MTQsXCIuL25ldHdvcmsvZG93bmxvYWRcIjoxNSxcIi4vcmVuZGVyaW5nL2NhbnZhc1wiOjE2LFwiLi9yZW5kZXJpbmcvZm9udFwiOjE3LFwiLi9yZW5kZXJpbmcvZnJhbWVcIjoxOCxcIi4vcmVuZGVyaW5nL2ltYWdlXCI6MTksXCIuL3JlbmRlcmluZy93ZWJnbFwiOjIwfV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRJbnB1dFwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRDb25maXJtXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbXBsZXRlXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRJbnB1dFwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29uZmlybVwiLCBfcnQsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZktleWJvYXJkQ29tcGxldGVcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJoaWRlS2V5Ym9hcmRcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJzaG93S2V5Ym9hcmRcIiwgX3J0LCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJ1cGRhdGVLZXlib2FyZFwiLCBfcnQsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjIxfV0sMTI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG52YXIgX29uV2luZG93UmVzaXplID0gX3J0Lm9uV2luZG93UmVzaXplO1xuXG5yYWwub25XaW5kb3dSZXNpemUgPSBmdW5jdGlvbiAoY2FsbEJhY2spIHtcbiAgX29uV2luZG93UmVzaXplKGZ1bmN0aW9uIChzaXplKSB7XG4gICAgY2FsbEJhY2soc2l6ZS53aWR0aCB8fCBzaXplLndpbmRvd1dpZHRoLCBzaXplLmhlaWdodCB8fCBzaXplLndpbmRvd0hlaWdodCk7XG4gIH0pO1xufTtcblxufSx7fV0sMTM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfaW5uZXJDb250ZXh0ID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vaW5uZXItY29udGV4dFwiKSk7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxudmFyIF9ydCA9IGxvYWRSdW50aW1lKCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIkF1ZGlvRW5naW5lXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHRcIiwgX3J0LCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9ydC5BdWRpb0VuZ2luZSkge1xuICAgIHJhbC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiAoMCwgX2lubmVyQ29udGV4dFtcImRlZmF1bHRcIl0pKF9ydC5BdWRpb0VuZ2luZSk7XG4gICAgfTtcbiAgfVxufSk7XG5cbn0se1wiLi4vLi4vaW5uZXItY29udGV4dFwiOjIsXCIuLi8uLi91dGlsXCI6MjF9XSwxNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlVmlkZW9cIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDE1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJkb3dubG9hZEZpbGVcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDE2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxudmFyIF9mZWF0dXJlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vZmVhdHVyZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlQ2FudmFzXCIsIF9ydCwgcmFsLCBmdW5jdGlvbiAoKSB7XG4gIHZhciBmZWF0dXJlVmFsdWUgPSBcInVuc3VwcG9ydGVkXCI7XG5cbiAgaWYgKGRvY3VtZW50ICYmIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmZWF0dXJlVmFsdWUgPSBcIndyYXBwZXJcIjtcblxuICAgIHJhbC5jcmVhdGVDYW52YXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICB9O1xuICB9XG5cbiAgX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLnNldEZlYXR1cmUoXCJyYWwuY3JlYXRlQ2FudmFzXCIsIFwic3BlY1wiLCBmZWF0dXJlVmFsdWUpO1xufSk7XG5cbn0se1wiLi4vLi4vZmVhdHVyZVwiOjEsXCIuLi8uLi91dGlsXCI6MjF9XSwxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwibG9hZEZvbnRcIiwgX3J0LCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjoyMX1dLDE4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3J0ID0gbG9hZFJ1bnRpbWUoKTtcblxuaWYgKHdpbmRvdy5qc2IgJiYganNiLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCkge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0ganNiLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZC5iaW5kKGpzYik7XG59IGVsc2UgaWYgKF9ydC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQpIHtcbiAgcmFsLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9IF9ydC5zZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQuYmluZChfcnQpO1xufSBlbHNlIHtcbiAgcmFsLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiVGhlIHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCBpcyBub3QgZGVmaW5lIVwiKTtcbiAgfTtcbn1cblxufSx7fV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG52YXIgX2ZlYXR1cmUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9mZWF0dXJlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbnZhciBfcnQgPSBsb2FkUnVudGltZSgpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkSW1hZ2VEYXRhXCIsIF9ydCwgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW1hZ2VcIiwgX3J0LCByYWwsIGZ1bmN0aW9uICgpIHtcbiAgdmFyIGZlYXR1cmVWYWx1ZSA9IFwidW5zdXBwb3J0ZWRcIjtcblxuICBpZiAoZG9jdW1lbnQgJiYgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZlYXR1cmVWYWx1ZSA9IFwid3JhcHBlclwiO1xuXG4gICAgcmFsLmNyZWF0ZUltYWdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWFnZVwiKTtcbiAgICB9O1xuICB9XG5cbiAgX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLnNldEZlYXR1cmUoXCJyYWwuY3JlYXRlSW1hZ2VcIiwgXCJzcGVjXCIsIGZlYXR1cmVWYWx1ZSk7XG59KTtcblxufSx7XCIuLi8uLi9mZWF0dXJlXCI6MSxcIi4uLy4uL3V0aWxcIjoyMX1dLDIwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5pZiAod2luZG93Ll9fZ2wpIHtcbiAgdmFyIGdsID0gd2luZG93Ll9fZ2w7XG4gIHZhciBfZ2xUZXhJbWFnZTJEID0gZ2wudGV4SW1hZ2UyRDtcblxuICBnbC50ZXhJbWFnZTJEID0gZnVuY3Rpb24gKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKSB7XG4gICAgdmFyIGFyZ2MgPSBhcmd1bWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKGFyZ2MgPT09IDYpIHtcbiAgICAgIHZhciBpbWFnZSA9IGJvcmRlcjtcbiAgICAgIHR5cGUgPSBoZWlnaHQ7XG4gICAgICBmb3JtYXQgPSB3aWR0aDtcblxuICAgICAgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCkge1xuICAgICAgICB2YXIgZXJyb3IgPSBjb25zb2xlLmVycm9yO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbiAoKSB7fTtcblxuICAgICAgICBfZ2xUZXhJbWFnZTJELmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKTtcblxuICAgICAgICBjb25zb2xlLmVycm9yID0gZXJyb3I7XG4gICAgICAgIGdsLnRleEltYWdlMkRfaW1hZ2UodGFyZ2V0LCBsZXZlbCwgaW1hZ2UuX2ltYWdlTWV0YSk7XG4gICAgICB9IGVsc2UgaWYgKGltYWdlIGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgdmFyIF9lcnJvciA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleEltYWdlMkQuYXBwbHkodm9pZCAwLCBhcmd1bWVudHMpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBfZXJyb3I7XG4gICAgICAgIHZhciBjb250ZXh0MkQgPSBpbWFnZS5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBnbC50ZXhJbWFnZTJEX2NhbnZhcyh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBjb250ZXh0MkQpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEltYWdlRGF0YSkge1xuICAgICAgICBfZ2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCAwLCBmb3JtYXQsIHR5cGUsIGltYWdlLmRhdGEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgcGl4ZWwgYXJndW1lbnQgcGFzc2VkIHRvIGdsLnRleEltYWdlMkQhXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJnYyA9PT0gOSkge1xuICAgICAgX2dsVGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgYm9yZGVyLCBmb3JtYXQsIHR5cGUsIHBpeGVscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJnbC50ZXhJbWFnZTJEOiBpbnZhbGlkIGFyZ3VtZW50IGNvdW50IVwiKTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIF9nbFRleFN1YkltYWdlMkQgPSBnbC50ZXhTdWJJbWFnZTJEO1xuXG4gIGdsLnRleFN1YkltYWdlMkQgPSBmdW5jdGlvbiAodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpIHtcbiAgICB2YXIgYXJnYyA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAoYXJnYyA9PT0gNykge1xuICAgICAgdmFyIGltYWdlID0gZm9ybWF0O1xuICAgICAgdHlwZSA9IGhlaWdodDtcbiAgICAgIGZvcm1hdCA9IHdpZHRoO1xuXG4gICAgICBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgIHZhciBlcnJvciA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleFN1YkltYWdlMkQuYXBwbHkodm9pZCAwLCBhcmd1bWVudHMpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRF9pbWFnZSh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBpbWFnZS5faW1hZ2VNZXRhKTtcbiAgICAgIH0gZWxzZSBpZiAoaW1hZ2UgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudCkge1xuICAgICAgICB2YXIgX2Vycm9yMiA9IGNvbnNvbGUuZXJyb3I7XG5cbiAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uICgpIHt9O1xuXG4gICAgICAgIF9nbFRleFN1YkltYWdlMkQuYXBwbHkodm9pZCAwLCBhcmd1bWVudHMpO1xuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IgPSBfZXJyb3IyO1xuICAgICAgICB2YXIgY29udGV4dDJEID0gaW1hZ2UuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRF9jYW52YXModGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgZm9ybWF0LCB0eXBlLCBjb250ZXh0MkQpO1xuICAgICAgfSBlbHNlIGlmIChpbWFnZSBpbnN0YW5jZW9mIEltYWdlRGF0YSkge1xuICAgICAgICBfZ2xUZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIGZvcm1hdCwgdHlwZSwgaW1hZ2UuZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiSW52YWxpZCBwaXhlbCBhcmd1bWVudCBwYXNzZWQgdG8gZ2wudGV4SW1hZ2UyRCFcIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmdjID09PSA5KSB7XG4gICAgICBfZ2xUZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihuZXcgRXJyb3IoXCJnbC50ZXhJbWFnZTJEOiBpbnZhbGlkIGFyZ3VtZW50IGNvdW50IVwiKS5zdGFjayk7XG4gICAgfVxuICB9O1xufVxuXG59LHt9XSwyMTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikgeyBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH07IH0gZWxzZSB7IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgfSByZXR1cm4gX3R5cGVvZihvYmopOyB9XG5cbnZhciBfZGVmYXVsdCA9IHtcbiAgZXhwb3J0VG86IGZ1bmN0aW9uIGV4cG9ydFRvKG5hbWUsIGZyb20sIHRvLCBlcnJDYWxsYmFjaykge1xuICAgIGlmIChfdHlwZW9mKGZyb20pICE9PSBcIm9iamVjdFwiIHx8IF90eXBlb2YodG8pICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICBjb25zb2xlLndhcm4oXCJpbnZhbGlkIGV4cG9ydFRvOiBcIiwgbmFtZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGZyb21Qcm9wZXJ0eSA9IGZyb21bbmFtZV07XG5cbiAgICBpZiAodHlwZW9mIGZyb21Qcm9wZXJ0eSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgaWYgKHR5cGVvZiBmcm9tUHJvcGVydHkgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0b1tuYW1lXSA9IGZyb21Qcm9wZXJ0eS5iaW5kKGZyb20pO1xuICAgICAgICBPYmplY3QuYXNzaWduKHRvW25hbWVdLCBmcm9tUHJvcGVydHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9bbmFtZV0gPSBmcm9tUHJvcGVydHk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvW25hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKG5hbWUgKyBcIiBpcyBub3Qgc3VwcG9ydCFcIik7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH07XG5cbiAgICAgIGlmICh0eXBlb2YgZXJyQ2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBlcnJDYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gX2RlZmF1bHQ7XG5cbn0se31dfSx7fSxbMTBdKTtcbiJdLCJmaWxlIjoicmFsLmpzIn0= diff --git a/platforms/runtime/platforms/qtt/ral.min.js b/platforms/runtime/platforms/qtt/ral.min.js deleted file mode 100644 index 73159ad2648..00000000000 --- a/platforms/runtime/platforms/qtt/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(r,i,a){function u(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(c)return c(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return u(r[t][1][e]||e)},o,o.exports,n,r,i,a)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;e 2 && arguments[2] !== undefined ? arguments[2] : []; - - var privateThis = _weakMap.get(target); - - if (privateThis) { - var callbacks = privateThis[type] || []; - - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(target, args); - } - } -}; - -function InnerAudioContext() { - this.startTime = 0; - this.autoplay = false; - - _weakMap.set(this, { - src: "", - volume: 1, - loop: false - }); - - Object.defineProperty(this, "loop", { - set: function set(value) { - value = !!value; - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setLoop(audioID, value); - } - - privateThis.loop = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.loop : false; - } - }); - Object.defineProperty(this, "volume", { - set: function set(value) { - if (typeof value === "number") { - if (value < 0) { - value = 0; - } else if (value > 1) { - value = 1; - } - } else { - value = 1; - } - - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setVolume(audioID, value); - } - - privateThis.volume = value; - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.volume : 1; - } - }); - Object.defineProperty(this, "src", { - set: function set(value) { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var oldSrc = privateThis.src; - privateThis.src = value; - - if (typeof value === "string") { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PAUSED && oldSrc !== value) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - - var self = this; - - _audioEngine.preload(value, function () { - setTimeout(function () { - if (self.src === value) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - if (self.autoplay) { - self.play(); - } - } - }); - }); - } - }, - get: function get() { - var privateThis = _weakMap.get(this); - - return privateThis ? privateThis.src : ""; - } - }); - Object.defineProperty(this, "duration", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getDuration(audioID); - } - } - - return NaN; - }, - set: function set() {} - }); - Object.defineProperty(this, "currentTime", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getCurrentTime(audioID); - } - } - - return 0; - }, - set: function set() {} - }); - Object.defineProperty(this, "paused", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getState(audioID) === _STATE.PAUSED; - } - } - - return true; - }, - set: function set() {} - }); - Object.defineProperty(this, "buffered", { - get: function get() { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - return _audioEngine.getBuffered(audioID); - } - } - - return 0; - }, - set: function set() {} - }); -} - -var _prototype = InnerAudioContext.prototype; - -_prototype.destroy = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - - privateThis[_CANPLAY_CALLBACK] = []; - privateThis[_ENDED_CALLBACK] = []; - privateThis[_ERROR_CALLBACK] = []; - privateThis[_PAUSE_CALLBACK] = []; - privateThis[_PLAY_CALLBACK] = []; - privateThis[_SEEKED_CALLBACK] = []; - privateThis[_SEEKING_CALLBACK] = []; - privateThis[_STOP_CALLBACK] = []; - privateThis[_TIME_UPDATE_CALLBACK] = []; - privateThis[_WAITING_CALLBACK] = []; - clearInterval(privateThis.intervalID); - } -}; - -_prototype.play = function () { - var privateThis = _weakMap.get(this); - - if (!privateThis) { - return; - } - - var src = privateThis.src; - var audioID = privateThis.audioID; - - if (typeof src !== "string" || src === "") { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "invalid src", - errCode: _ERROR_CODE.ERROR_FILE - }]); - - return; - } - - if (typeof audioID === "number" && audioID >= 0) { - if (_audioEngine.getState(audioID) === _STATE.PAUSED) { - _audioEngine.resume(audioID); - - _dispatchCallback(this, _PLAY_CALLBACK); - - return; - } else { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - } - } - - audioID = _audioEngine.play(src, this.loop, this.volume); - - if (audioID === -1) { - _dispatchCallback(this, _ERROR_CALLBACK, [{ - errMsg: "unknown", - errCode: _ERROR_CODE.ERROR_UNKNOWN - }]); - - return; - } - - privateThis.audioID = audioID; - - if (typeof this.startTime === "number" && this.startTime > 0) { - _audioEngine.setCurrentTime(audioID, this.startTime); - } - - _dispatchCallback(this, _WAITING_CALLBACK); - - var self = this; - - _audioEngine.setCanPlayCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _CANPLAY_CALLBACK); - - _dispatchCallback(self, _PLAY_CALLBACK); - } - }); - - _audioEngine.setWaitingCallback(audioID, function () { - if (src === self.src) { - _dispatchCallback(self, _WAITING_CALLBACK); - } - }); - - _audioEngine.setErrorCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ERROR_CALLBACK); - } - }); - - _audioEngine.setFinishCallback(audioID, function () { - if (src === self.src) { - privateThis.audioID = -1; - - _dispatchCallback(self, _ENDED_CALLBACK); - } - }); -}; - -_prototype.pause = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.pause(audioID); - - _dispatchCallback(this, _PAUSE_CALLBACK); - } - } -}; - -_prototype.seek = function (position) { - var privateThis = _weakMap.get(this); - - if (privateThis && typeof position === "number" && position >= 0) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.setCurrentTime(audioID, position); - - _dispatchCallback(this, _SEEKING_CALLBACK); - - _dispatchCallback(this, _SEEKED_CALLBACK); - } - } -}; - -_prototype.stop = function () { - var privateThis = _weakMap.get(this); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0) { - _audioEngine.stop(audioID); - - privateThis.audioID = -1; - - _dispatchCallback(this, _STOP_CALLBACK); - } - } -}; - -_prototype.offCanplay = function (callback) { - _offCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.offEnded = function (callback) { - _offCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.offError = function (callback) { - _offCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.offPause = function (callback) { - _offCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.offPlay = function (callback) { - _offCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.offSeeked = function (callback) { - _offCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.offSeeking = function (callback) { - _offCallback(this, _SEEKING_CALLBACK, callback); -}; - -_prototype.offStop = function (callback) { - _offCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.offTimeUpdate = function (callback) { - var result = _offCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - clearInterval(_weakMap.get(this).intervalID); - } -}; - -_prototype.offWaiting = function (callback) { - _offCallback(this, _WAITING_CALLBACK, callback); -}; - -_prototype.onCanplay = function (callback) { - _onCallback(this, _CANPLAY_CALLBACK, callback); -}; - -_prototype.onEnded = function (callback) { - _onCallback(this, _ENDED_CALLBACK, callback); -}; - -_prototype.onError = function (callback) { - _onCallback(this, _ERROR_CALLBACK, callback); -}; - -_prototype.onPause = function (callback) { - _onCallback(this, _PAUSE_CALLBACK, callback); -}; - -_prototype.onPlay = function (callback) { - _onCallback(this, _PLAY_CALLBACK, callback); -}; - -_prototype.onSeeked = function (callback) { - _onCallback(this, _SEEKED_CALLBACK, callback); -}; - -_prototype.onSeeking = function (callback) { - _onCallback(this, "seekingCallbacks", callback); -}; - -_prototype.onStop = function (callback) { - _onCallback(this, _STOP_CALLBACK, callback); -}; - -_prototype.onTimeUpdate = function (callback) { - var result = _onCallback(this, _TIME_UPDATE_CALLBACK, callback); - - if (result === 1) { - var privateThis = _weakMap.get(this); - - var self = this; - var intervalID = setInterval(function () { - var privateThis = _weakMap.get(self); - - if (privateThis) { - var audioID = privateThis.audioID; - - if (typeof audioID === "number" && audioID >= 0 && _audioEngine.getState(audioID) === _STATE.PLAYING) { - _dispatchCallback(self, _TIME_UPDATE_CALLBACK); - } - } else { - clearInterval(intervalID); - } - }, 500); - privateThis.intervalID = intervalID; - } -}; - -_prototype.onWaiting = function (callback) { - _onCallback(this, _WAITING_CALLBACK, callback); -}; - -function _default(AudioEngine) { - if (_audioEngine === undefined) { - _audioEngine = Object.assign({}, AudioEngine); - Object.keys(AudioEngine).forEach(function (name) { - if (typeof AudioEngine[name] === "function") { - AudioEngine[name] = function () { - console.warn("AudioEngine." + name + " is deprecated"); - return _audioEngine[name].apply(AudioEngine, arguments); - }; - } - }); - } - - return new InnerAudioContext(); -} - -; - -},{}],3:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var _default = { - exportTo: function exportTo(name, from, to, errCallback) { - if (_typeof(from) !== "object" || _typeof(to) !== "object") { - console.warn("invalid exportTo: ", name); - return; - } - - var fromProperty = from[name]; - - if (typeof fromProperty !== "undefined") { - if (typeof fromProperty === "function") { - to[name] = fromProperty.bind(from); - Object.assign(to[name], fromProperty); - } else { - to[name] = fromProperty; - } - } else { - to[name] = function () { - console.error(name + " is not support!"); - return {}; - }; - - if (typeof errCallback === "function") { - errCallback(); - } - } - } -}; -exports["default"] = _default; - -},{}],4:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onShow", qg, ral); - -_util["default"].exportTo("onHide", qg, ral); - -_util["default"].exportTo("offShow", qg, ral); - -_util["default"].exportTo("offHide", qg, ral); - -},{"../../util":3}],5:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadSubpackage", qg, ral); - -},{"../../util":3}],6:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("env", qg, ral); - -_util["default"].exportTo("getSystemInfo", qg, ral); - -ral.getSystemInfoSync = function () { - var systemInfo = qg.getSystemInfoSync(); - systemInfo.platform = "android"; - return systemInfo; -}; - -},{"../../util":3}],7:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onTouchStart", qg, ral); - -_util["default"].exportTo("offTouchStart", qg, ral); - -_util["default"].exportTo("onTouchMove", qg, ral); - -_util["default"].exportTo("offTouchMove", qg, ral); - -_util["default"].exportTo("onTouchCancel", qg, ral); - -_util["default"].exportTo("offTouchCancel", qg, ral); - -_util["default"].exportTo("onTouchEnd", qg, ral); - -_util["default"].exportTo("offTouchEnd", qg, ral); - -},{"../../util":3}],8:[function(require,module,exports){ -"use strict"; - -var _listeners = []; - -ral.onAccelerometerChange = function (listener) { - if (typeof listener === "function") { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - return; - } - } - - _listeners.push(listener); - } -}; - -ral.offAccelerometerChange = function (listener) { - var length = _listeners.length; - - for (var index = 0; index < length; ++index) { - if (listener === _listeners[index]) { - _listeners.splice(index, 1); - - return; - } - } -}; - -ral.stopAccelerometer = function () { - qg.unsubscribeAccelerometer(); -}; - -ral.startAccelerometer = function () { - qg.subscribeAccelerometer({ - callback: function callback(data) { - var x = data.x / -10; - var y = data.y / -10; - var z = data.z / -10; - var timestamp = data.timeStamp || Date.now(); - - _listeners.forEach(function (listener) { - listener({ - x: x, - y: y, - z: z, - timestamp: timestamp - }); - }); - } - }); -}; - -},{}],9:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getBatteryInfo", qg, ral); - -_util["default"].exportTo("getBatteryInfoSync", qg, ral); - -},{"../../util":3}],10:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("getFileSystemManager", qg, ral); - -var fs = ral.getFileSystemManager(); -var readFileSync = fs.readFileSync; - -fs.readFileSync = function (path, encode) { - try { - var res = readFileSync.bind(this)(path, encode); - return res.data; - } catch (error) { - throw error; - } -}; - -},{"../../util":3}],11:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../util")); - -var _feature = _interopRequireDefault(require("../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -if (window.jsb) { - window.ral = Object.assign({}, window.jsb); -} else { - window.ral = {}; -} - -require("./base/lifecycle"); - -require("./base/subpackage"); - -require("./base/system-info"); - -require("./base/touch-event"); - -require("./device/accelerometer"); - -require("./device/battery"); - -require("./file/file-system-manager"); - -require("./interface/keyboard"); - -require("./interface/window"); - -require("./media/audio"); - -require("./network/download"); - -require("./rendering/canvas"); - -require("./rendering/font"); - -require("./rendering/frame"); - -require("./rendering/image"); - -_util["default"].exportTo("getFeatureProperty", _feature["default"], ral); - -},{"../feature":1,"../util":3,"./base/lifecycle":4,"./base/subpackage":5,"./base/system-info":6,"./base/touch-event":7,"./device/accelerometer":8,"./device/battery":9,"./file/file-system-manager":10,"./interface/keyboard":12,"./interface/window":13,"./media/audio":14,"./network/download":15,"./rendering/canvas":16,"./rendering/font":17,"./rendering/frame":18,"./rendering/image":19}],12:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("onKeyboardInput", qg, ral); - -_util["default"].exportTo("onKeyboardConfirm", qg, ral); - -_util["default"].exportTo("onKeyboardComplete", qg, ral); - -_util["default"].exportTo("offKeyboardInput", qg, ral); - -_util["default"].exportTo("offKeyboardConfirm", qg, ral); - -_util["default"].exportTo("offKeyboardComplete", qg, ral); - -_util["default"].exportTo("hideKeyboard", qg, ral); - -_util["default"].exportTo("showKeyboard", qg, ral); - -_util["default"].exportTo("updateKeyboard", qg, ral); - -},{"../../util":3}],13:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(window, "devicePixelRatio", { - set: function set(val) {}, - get: function get() { - return 1; - } -}); - -},{}],14:[function(require,module,exports){ -"use strict"; - -var _innerContext = _interopRequireDefault(require("../../inner-context")); - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("AudioEngine", qg, ral); - -_util["default"].exportTo("createInnerAudioContext", qg, ral, function () { - if (_rt.AudioEngine) { - ral.createInnerAudioContext = function () { - return (0, _innerContext["default"])(qg.AudioEngine); - }; - } -}); - -},{"../../inner-context":2,"../../util":3}],15:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("downloadFile", qg, ral); - -},{"../../util":3}],16:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -window.CanvasRenderingContext2D = qg.getCanvasRenderingContext2D(); -window.mainCanvas = qg.createCanvas(); -var mainCanvas = window.mainCanvas; -Object.defineProperty(window, "HTMLCanvasElement", { - set: function set(val) {}, - get: function get() { - return mainCanvas.constructor; - } -}); - -_util["default"].exportTo("createCanvas", qg, ral); - -var featureValue = "vivo_platform_support"; - -_feature["default"].setFeature("CanvasRenderingContext2D", "spec", featureValue); - -_feature["default"].setFeature("HTMLCanvasElement", "spec", featureValue); - -},{"../../feature":1,"../../util":3}],17:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -_util["default"].exportTo("loadFont", qg, ral); - -},{"../../util":3}],18:[function(require,module,exports){ -"use strict"; - -if (window.jsb && jsb.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = jsb.setPreferredFramesPerSecond.bind(jsb); -} else if (qg.setPreferredFramesPerSecond) { - ral.setPreferredFramesPerSecond = qg.setPreferredFramesPerSecond.bind(qg); -} else { - ral.setPreferredFramesPerSecond = function () { - console.error("The setPreferredFramesPerSecond is not define!"); - }; -} - -},{}],19:[function(require,module,exports){ -"use strict"; - -var _util = _interopRequireDefault(require("../../util")); - -var _feature = _interopRequireDefault(require("../../feature")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -Object.defineProperty(window, "HTMLImageElement", { - set: function set(val) {}, - get: function get() { - return qg.createImage().constructor; - } -}); - -_util["default"].exportTo("createImage", qg, ral); - -var featureValue = "vivo_platform_support"; - -_feature["default"].setFeature("HTMLImageElement", "spec", featureValue); - -_feature["default"].setFeature("Image", "spec", featureValue); - -_feature["default"].setFeature("ral.createImage", "spec", featureValue); - -},{"../../feature":1,"../../util":3}]},{},[11]); - -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJyYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gdm9pZCAwO1xudmFyIF9mZWF0dXJlcyA9IHt9O1xudmFyIF9kZWZhdWx0ID0ge1xuICBzZXRGZWF0dXJlOiBmdW5jdGlvbiBzZXRGZWF0dXJlKGZlYXR1cmVOYW1lLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICB2YXIgZmVhdHVyZSA9IF9mZWF0dXJlc1tmZWF0dXJlTmFtZV07XG5cbiAgICBpZiAoIWZlYXR1cmUpIHtcbiAgICAgIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdID0ge307XG4gICAgfVxuXG4gICAgZmVhdHVyZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgfSxcbiAgZ2V0RmVhdHVyZVByb3BlcnR5OiBmdW5jdGlvbiBnZXRGZWF0dXJlUHJvcGVydHkoZmVhdHVyZU5hbWUsIHByb3BlcnR5KSB7XG4gICAgdmFyIGZlYXR1cmUgPSBfZmVhdHVyZXNbZmVhdHVyZU5hbWVdO1xuICAgIHJldHVybiBmZWF0dXJlID8gZmVhdHVyZVtwcm9wZXJ0eV0gOiB1bmRlZmluZWQ7XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBfZGVmYXVsdDtcbnZhciBfQ0FOUExBWV9DQUxMQkFDSyA9IFwiY2FucGxheUNhbGxiYWNrc1wiO1xudmFyIF9FTkRFRF9DQUxMQkFDSyA9IFwiZW5kZWRDYWxsYmFja3NcIjtcbnZhciBfRVJST1JfQ0FMTEJBQ0sgPSBcImVycm9yQ2FsbGJhY2tzXCI7XG52YXIgX1BBVVNFX0NBTExCQUNLID0gXCJwYXVzZUNhbGxiYWNrc1wiO1xudmFyIF9QTEFZX0NBTExCQUNLID0gXCJwbGF5Q2FsbGJhY2tzXCI7XG52YXIgX1NFRUtFRF9DQUxMQkFDSyA9IFwic2Vla2VkQ2FsbGJhY2tzXCI7XG52YXIgX1NFRUtJTkdfQ0FMTEJBQ0sgPSBcInNlZWtpbmdDYWxsYmFja3NcIjtcbnZhciBfU1RPUF9DQUxMQkFDSyA9IFwic3RvcENhbGxiYWNrc1wiO1xudmFyIF9USU1FX1VQREFURV9DQUxMQkFDSyA9IFwidGltZVVwZGF0ZUNhbGxiYWNrc1wiO1xudmFyIF9XQUlUSU5HX0NBTExCQUNLID0gXCJ3YWl0aW5nQ2FsbGJhY2tzXCI7XG52YXIgX0VSUk9SX0NPREUgPSB7XG4gIEVSUk9SX1NZU1RFTTogMTAwMDEsXG4gIEVSUk9SX05FVDogMTAwMDIsXG4gIEVSUk9SX0ZJTEU6IDEwMDAzLFxuICBFUlJPUl9GT1JNQVQ6IDEwMDA0LFxuICBFUlJPUl9VTktOT1dOOiAtMVxufTtcbnZhciBfU1RBVEUgPSB7XG4gIEVSUk9SOiAtMSxcbiAgSU5JVElBTElaSU5HOiAwLFxuICBQTEFZSU5HOiAxLFxuICBQQVVTRUQ6IDJcbn07XG52YXIgX2F1ZGlvRW5naW5lID0gdW5kZWZpbmVkO1xuXG52YXIgX3dlYWtNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG52YXIgX29mZkNhbGxiYWNrID0gZnVuY3Rpb24gX29mZkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXSB8fCBbXTtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgaWYgKGNhbGxiYWNrID09PSBjYWxsYmFja3NbaV0pIHtcbiAgICAgIGNhbGxiYWNrcy5zcGxpY2UoaSwgMSk7XG4gICAgICByZXR1cm4gY2FsbGJhY2subGVuZ3RoICsgMTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn07XG5cbnZhciBfb25DYWxsYmFjayA9IGZ1bmN0aW9uIF9vbkNhbGxiYWNrKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiIHx8ICFwcml2YXRlVGhpcykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHZhciBjYWxsYmFja3MgPSBwcml2YXRlVGhpc1t0eXBlXTtcblxuICBpZiAoIWNhbGxiYWNrcykge1xuICAgIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdID0gW2NhbGxiYWNrXTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gY2FsbGJhY2tzLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICBpZiAoY2FsbGJhY2sgPT09IGNhbGxiYWNrc1tpXSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2tzLmxlbmd0aDtcbn07XG5cbnZhciBfZGlzcGF0Y2hDYWxsYmFjayA9IGZ1bmN0aW9uIF9kaXNwYXRjaENhbGxiYWNrKHRhcmdldCwgdHlwZSkge1xuICB2YXIgYXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogW107XG5cbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRhcmdldCk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGNhbGxiYWNrcyA9IHByaXZhdGVUaGlzW3R5cGVdIHx8IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhbGxiYWNrcy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRhcmdldCwgYXJncyk7XG4gICAgfVxuICB9XG59O1xuXG5mdW5jdGlvbiBJbm5lckF1ZGlvQ29udGV4dCgpIHtcbiAgdGhpcy5zdGFydFRpbWUgPSAwO1xuICB0aGlzLmF1dG9wbGF5ID0gZmFsc2U7XG5cbiAgX3dlYWtNYXAuc2V0KHRoaXMsIHtcbiAgICBzcmM6IFwiXCIsXG4gICAgdm9sdW1lOiAxLFxuICAgIGxvb3A6IGZhbHNlXG4gIH0pO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImxvb3BcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9ICEhdmFsdWU7XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldExvb3AoYXVkaW9JRCwgdmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpdmF0ZVRoaXMubG9vcCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLmxvb3AgOiBmYWxzZTtcbiAgICB9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2b2x1bWVcIiwge1xuICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgICB2YWx1ZSA9IDA7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPiAxKSB7XG4gICAgICAgICAgdmFsdWUgPSAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IDE7XG4gICAgICB9XG5cbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgICAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICAgICAgX2F1ZGlvRW5naW5lLnNldFZvbHVtZShhdWRpb0lELCB2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlVGhpcy52b2x1bWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICByZXR1cm4gcHJpdmF0ZVRoaXMgPyBwcml2YXRlVGhpcy52b2x1bWUgOiAxO1xuICAgIH1cbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInNyY1wiLCB7XG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICAgICAgaWYgKCFwcml2YXRlVGhpcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBvbGRTcmMgPSBwcml2YXRlVGhpcy5zcmM7XG4gICAgICBwcml2YXRlVGhpcy5zcmMgPSB2YWx1ZTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QQVVTRUQgJiYgb2xkU3JjICE9PSB2YWx1ZSkge1xuICAgICAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXG4gICAgICAgIF9hdWRpb0VuZ2luZS5wcmVsb2FkKHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoc2VsZi5zcmMgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgICAgICAgICBpZiAoc2VsZi5hdXRvcGxheSkge1xuICAgICAgICAgICAgICAgIHNlbGYucGxheSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIHJldHVybiBwcml2YXRlVGhpcyA/IHByaXZhdGVUaGlzLnNyYyA6IFwiXCI7XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiZHVyYXRpb25cIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldER1cmF0aW9uKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBOYU47XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJjdXJyZW50VGltZVwiLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgICAgIHJldHVybiBfYXVkaW9FbmdpbmUuZ2V0Q3VycmVudFRpbWUoYXVkaW9JRCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHt9XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJwYXVzZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiYnVmZmVyZWRcIiwge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gICAgICBpZiAocHJpdmF0ZVRoaXMpIHtcbiAgICAgICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lLmdldEJ1ZmZlcmVkKGF1ZGlvSUQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7fVxuICB9KTtcbn1cblxudmFyIF9wcm90b3R5cGUgPSBJbm5lckF1ZGlvQ29udGV4dC5wcm90b3R5cGU7XG5cbl9wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHByaXZhdGVUaGlzID0gX3dlYWtNYXAuZ2V0KHRoaXMpO1xuXG4gIGlmIChwcml2YXRlVGhpcykge1xuICAgIHZhciBhdWRpb0lEID0gcHJpdmF0ZVRoaXMuYXVkaW9JRDtcblxuICAgIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICAgIF9hdWRpb0VuZ2luZS5zdG9wKGF1ZGlvSUQpO1xuXG4gICAgICBwcml2YXRlVGhpcy5hdWRpb0lEID0gLTE7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TVE9QX0NBTExCQUNLKTtcbiAgICB9XG5cbiAgICBwcml2YXRlVGhpc1tfQ0FOUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfRU5ERURfQ0FMTEJBQ0tdID0gW107XG4gICAgcHJpdmF0ZVRoaXNbX0VSUk9SX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19QQVVTRV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfUExBWV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfU0VFS0VEX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TRUVLSU5HX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19TVE9QX0NBTExCQUNLXSA9IFtdO1xuICAgIHByaXZhdGVUaGlzW19USU1FX1VQREFURV9DQUxMQkFDS10gPSBbXTtcbiAgICBwcml2YXRlVGhpc1tfV0FJVElOR19DQUxMQkFDS10gPSBbXTtcbiAgICBjbGVhckludGVydmFsKHByaXZhdGVUaGlzLmludGVydmFsSUQpO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLnBsYXkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAoIXByaXZhdGVUaGlzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNyYyA9IHByaXZhdGVUaGlzLnNyYztcbiAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gIGlmICh0eXBlb2Ygc3JjICE9PSBcInN0cmluZ1wiIHx8IHNyYyA9PT0gXCJcIikge1xuICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9FUlJPUl9DQUxMQkFDSywgW3tcbiAgICAgIGVyck1zZzogXCJpbnZhbGlkIHNyY1wiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfRklMRVxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYXVkaW9JRCA9PT0gXCJudW1iZXJcIiAmJiBhdWRpb0lEID49IDApIHtcbiAgICBpZiAoX2F1ZGlvRW5naW5lLmdldFN0YXRlKGF1ZGlvSUQpID09PSBfU1RBVEUuUEFVU0VEKSB7XG4gICAgICBfYXVkaW9FbmdpbmUucmVzdW1lKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcbiAgICB9XG4gIH1cblxuICBhdWRpb0lEID0gX2F1ZGlvRW5naW5lLnBsYXkoc3JjLCB0aGlzLmxvb3AsIHRoaXMudm9sdW1lKTtcblxuICBpZiAoYXVkaW9JRCA9PT0gLTEpIHtcbiAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIFt7XG4gICAgICBlcnJNc2c6IFwidW5rbm93blwiLFxuICAgICAgZXJyQ29kZTogX0VSUk9SX0NPREUuRVJST1JfVU5LTk9XTlxuICAgIH1dKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSBhdWRpb0lEO1xuXG4gIGlmICh0eXBlb2YgdGhpcy5zdGFydFRpbWUgPT09IFwibnVtYmVyXCIgJiYgdGhpcy5zdGFydFRpbWUgPiAwKSB7XG4gICAgX2F1ZGlvRW5naW5lLnNldEN1cnJlbnRUaW1lKGF1ZGlvSUQsIHRoaXMuc3RhcnRUaW1lKTtcbiAgfVxuXG4gIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9XQUlUSU5HX0NBTExCQUNLKTtcblxuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgX2F1ZGlvRW5naW5lLnNldENhblBsYXlDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9DQU5QTEFZX0NBTExCQUNLKTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1BMQVlfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldFdhaXRpbmdDYWxsYmFjayhhdWRpb0lELCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHNyYyA9PT0gc2VsZi5zcmMpIHtcbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHNlbGYsIF9XQUlUSU5HX0NBTExCQUNLKTtcbiAgICB9XG4gIH0pO1xuXG4gIF9hdWRpb0VuZ2luZS5zZXRFcnJvckNhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRVJST1JfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG5cbiAgX2F1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGF1ZGlvSUQsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc3JjID09PSBzZWxmLnNyYykge1xuICAgICAgcHJpdmF0ZVRoaXMuYXVkaW9JRCA9IC0xO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayhzZWxmLCBfRU5ERURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfSk7XG59O1xuXG5fcHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnBhdXNlKGF1ZGlvSUQpO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zZWVrID0gZnVuY3Rpb24gKHBvc2l0aW9uKSB7XG4gIHZhciBwcml2YXRlVGhpcyA9IF93ZWFrTWFwLmdldCh0aGlzKTtcblxuICBpZiAocHJpdmF0ZVRoaXMgJiYgdHlwZW9mIHBvc2l0aW9uID09PSBcIm51bWJlclwiICYmIHBvc2l0aW9uID49IDApIHtcbiAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICBpZiAodHlwZW9mIGF1ZGlvSUQgPT09IFwibnVtYmVyXCIgJiYgYXVkaW9JRCA+PSAwKSB7XG4gICAgICBfYXVkaW9FbmdpbmUuc2V0Q3VycmVudFRpbWUoYXVkaW9JRCwgcG9zaXRpb24pO1xuXG4gICAgICBfZGlzcGF0Y2hDYWxsYmFjayh0aGlzLCBfU0VFS0lOR19DQUxMQkFDSyk7XG5cbiAgICAgIF9kaXNwYXRjaENhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24gKCkge1xuICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgaWYgKHByaXZhdGVUaGlzKSB7XG4gICAgdmFyIGF1ZGlvSUQgPSBwcml2YXRlVGhpcy5hdWRpb0lEO1xuXG4gICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCkge1xuICAgICAgX2F1ZGlvRW5naW5lLnN0b3AoYXVkaW9JRCk7XG5cbiAgICAgIHByaXZhdGVUaGlzLmF1ZGlvSUQgPSAtMTtcblxuICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0spO1xuICAgIH1cbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZDYW5wbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfQ0FOUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZFbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX0VOREVEX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9mZkVycm9yID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmUGF1c2UgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9QQVVTRV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZQbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfUExBWV9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vZmZTZWVrZWQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29mZkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU2Vla2luZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NFRUtJTkdfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb2ZmQ2FsbGJhY2sodGhpcywgX1NUT1BfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub2ZmVGltZVVwZGF0ZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICB2YXIgcmVzdWx0ID0gX29mZkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICBjbGVhckludGVydmFsKF93ZWFrTWFwLmdldCh0aGlzKS5pbnRlcnZhbElEKTtcbiAgfVxufTtcblxuX3Byb3RvdHlwZS5vZmZXYWl0aW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vZmZDYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vbkNhbnBsYXkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgX29uQ2FsbGJhY2sodGhpcywgX0NBTlBMQVlfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FbmRlZCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRU5ERURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25FcnJvciA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfRVJST1JfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QYXVzZSA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfUEFVU0VfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25QbGF5ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9QTEFZX0NBTExCQUNLLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU2Vla2VkID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIF9TRUVLRURfQ0FMTEJBQ0ssIGNhbGxiYWNrKTtcbn07XG5cbl9wcm90b3R5cGUub25TZWVraW5nID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIF9vbkNhbGxiYWNrKHRoaXMsIFwic2Vla2luZ0NhbGxiYWNrc1wiLCBjYWxsYmFjayk7XG59O1xuXG5fcHJvdG90eXBlLm9uU3RvcCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfU1RPUF9DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuX3Byb3RvdHlwZS5vblRpbWVVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdmFyIHJlc3VsdCA9IF9vbkNhbGxiYWNrKHRoaXMsIF9USU1FX1VQREFURV9DQUxMQkFDSywgY2FsbGJhY2spO1xuXG4gIGlmIChyZXN1bHQgPT09IDEpIHtcbiAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQodGhpcyk7XG5cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgdmFyIGludGVydmFsSUQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgcHJpdmF0ZVRoaXMgPSBfd2Vha01hcC5nZXQoc2VsZik7XG5cbiAgICAgIGlmIChwcml2YXRlVGhpcykge1xuICAgICAgICB2YXIgYXVkaW9JRCA9IHByaXZhdGVUaGlzLmF1ZGlvSUQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdWRpb0lEID09PSBcIm51bWJlclwiICYmIGF1ZGlvSUQgPj0gMCAmJiBfYXVkaW9FbmdpbmUuZ2V0U3RhdGUoYXVkaW9JRCkgPT09IF9TVEFURS5QTEFZSU5HKSB7XG4gICAgICAgICAgX2Rpc3BhdGNoQ2FsbGJhY2soc2VsZiwgX1RJTUVfVVBEQVRFX0NBTExCQUNLKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuICAgIHByaXZhdGVUaGlzLmludGVydmFsSUQgPSBpbnRlcnZhbElEO1xuICB9XG59O1xuXG5fcHJvdG90eXBlLm9uV2FpdGluZyA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICBfb25DYWxsYmFjayh0aGlzLCBfV0FJVElOR19DQUxMQkFDSywgY2FsbGJhY2spO1xufTtcblxuZnVuY3Rpb24gX2RlZmF1bHQoQXVkaW9FbmdpbmUpIHtcbiAgaWYgKF9hdWRpb0VuZ2luZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgX2F1ZGlvRW5naW5lID0gT2JqZWN0LmFzc2lnbih7fSwgQXVkaW9FbmdpbmUpO1xuICAgIE9iamVjdC5rZXlzKEF1ZGlvRW5naW5lKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICBpZiAodHlwZW9mIEF1ZGlvRW5naW5lW25hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgQXVkaW9FbmdpbmVbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiQXVkaW9FbmdpbmUuXCIgKyBuYW1lICsgXCIgaXMgZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgICByZXR1cm4gX2F1ZGlvRW5naW5lW25hbWVdLmFwcGx5KEF1ZGlvRW5naW5lLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBJbm5lckF1ZGlvQ29udGV4dCgpO1xufVxuXG47XG5cbn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IHZvaWQgMDtcblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiOyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHsgX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9OyB9IGVsc2UgeyBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07IH0gcmV0dXJuIF90eXBlb2Yob2JqKTsgfVxuXG52YXIgX2RlZmF1bHQgPSB7XG4gIGV4cG9ydFRvOiBmdW5jdGlvbiBleHBvcnRUbyhuYW1lLCBmcm9tLCB0bywgZXJyQ2FsbGJhY2spIHtcbiAgICBpZiAoX3R5cGVvZihmcm9tKSAhPT0gXCJvYmplY3RcIiB8fCBfdHlwZW9mKHRvKSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgY29uc29sZS53YXJuKFwiaW52YWxpZCBleHBvcnRUbzogXCIsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBmcm9tUHJvcGVydHkgPSBmcm9tW25hbWVdO1xuXG4gICAgaWYgKHR5cGVvZiBmcm9tUHJvcGVydHkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnJvbVByb3BlcnR5ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdG9bbmFtZV0gPSBmcm9tUHJvcGVydHkuYmluZChmcm9tKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0b1tuYW1lXSwgZnJvbVByb3BlcnR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvW25hbWVdID0gZnJvbVByb3BlcnR5O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0b1tuYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihuYW1lICsgXCIgaXMgbm90IHN1cHBvcnQhXCIpO1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9O1xuXG4gICAgICBpZiAodHlwZW9mIGVyckNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZXJyQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IF9kZWZhdWx0O1xuXG59LHt9XSw0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uU2hvd1wiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25IaWRlXCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZTaG93XCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZIaWRlXCIsIHFnLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjozfV0sNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJsb2FkU3VicGFja2FnZVwiLCBxZywgcmFsKTtcblxufSx7XCIuLi8uLi91dGlsXCI6M31dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZW52XCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRTeXN0ZW1JbmZvXCIsIHFnLCByYWwpO1xuXG5yYWwuZ2V0U3lzdGVtSW5mb1N5bmMgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzeXN0ZW1JbmZvID0gcWcuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcbiAgc3lzdGVtSW5mby5wbGF0Zm9ybSA9IFwiYW5kcm9pZFwiO1xuICByZXR1cm4gc3lzdGVtSW5mbztcbn07XG5cbn0se1wiLi4vLi4vdXRpbFwiOjN9XSw3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uVG91Y2hTdGFydFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmVG91Y2hTdGFydFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25Ub3VjaE1vdmVcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZlRvdWNoTW92ZVwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25Ub3VjaENhbmNlbFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmVG91Y2hDYW5jZWxcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uVG91Y2hFbmRcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9mZlRvdWNoRW5kXCIsIHFnLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjozfV0sODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9saXN0ZW5lcnMgPSBbXTtcblxucmFsLm9uQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICBpZiAodHlwZW9mIGxpc3RlbmVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgbGVuZ3RoID0gX2xpc3RlbmVycy5sZW5ndGg7XG5cbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICBpZiAobGlzdGVuZXIgPT09IF9saXN0ZW5lcnNbaW5kZXhdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICB9XG59O1xuXG5yYWwub2ZmQWNjZWxlcm9tZXRlckNoYW5nZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICB2YXIgbGVuZ3RoID0gX2xpc3RlbmVycy5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkge1xuICAgIGlmIChsaXN0ZW5lciA9PT0gX2xpc3RlbmVyc1tpbmRleF0pIHtcbiAgICAgIF9saXN0ZW5lcnMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufTtcblxucmFsLnN0b3BBY2NlbGVyb21ldGVyID0gZnVuY3Rpb24gKCkge1xuICBxZy51bnN1YnNjcmliZUFjY2VsZXJvbWV0ZXIoKTtcbn07XG5cbnJhbC5zdGFydEFjY2VsZXJvbWV0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gIHFnLnN1YnNjcmliZUFjY2VsZXJvbWV0ZXIoe1xuICAgIGNhbGxiYWNrOiBmdW5jdGlvbiBjYWxsYmFjayhkYXRhKSB7XG4gICAgICB2YXIgeCA9IGRhdGEueCAvIC0xMDtcbiAgICAgIHZhciB5ID0gZGF0YS55IC8gLTEwO1xuICAgICAgdmFyIHogPSBkYXRhLnogLyAtMTA7XG4gICAgICB2YXIgdGltZXN0YW1wID0gZGF0YS50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcblxuICAgICAgX2xpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0ZW5lcikge1xuICAgICAgICBsaXN0ZW5lcih7XG4gICAgICAgICAgeDogeCxcbiAgICAgICAgICB5OiB5LFxuICAgICAgICAgIHo6IHosXG4gICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXBcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xufTtcblxufSx7fV0sOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJnZXRCYXR0ZXJ5SW5mb1wiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0QmF0dGVyeUluZm9TeW5jXCIsIHFnLCByYWwpO1xuXG59LHtcIi4uLy4uL3V0aWxcIjozfV0sMTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiZ2V0RmlsZVN5c3RlbU1hbmFnZXJcIiwgcWcsIHJhbCk7XG5cbnZhciBmcyA9IHJhbC5nZXRGaWxlU3lzdGVtTWFuYWdlcigpO1xudmFyIHJlYWRGaWxlU3luYyA9IGZzLnJlYWRGaWxlU3luYztcblxuZnMucmVhZEZpbGVTeW5jID0gZnVuY3Rpb24gKHBhdGgsIGVuY29kZSkge1xuICB0cnkge1xuICAgIHZhciByZXMgPSByZWFkRmlsZVN5bmMuYmluZCh0aGlzKShwYXRoLCBlbmNvZGUpO1xuICAgIHJldHVybiByZXMuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxufSx7XCIuLi8uLi91dGlsXCI6M31dLDExOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi91dGlsXCIpKTtcblxudmFyIF9mZWF0dXJlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vZmVhdHVyZVwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5pZiAod2luZG93LmpzYikge1xuICB3aW5kb3cucmFsID0gT2JqZWN0LmFzc2lnbih7fSwgd2luZG93LmpzYik7XG59IGVsc2Uge1xuICB3aW5kb3cucmFsID0ge307XG59XG5cbnJlcXVpcmUoXCIuL2Jhc2UvbGlmZWN5Y2xlXCIpO1xuXG5yZXF1aXJlKFwiLi9iYXNlL3N1YnBhY2thZ2VcIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2Uvc3lzdGVtLWluZm9cIik7XG5cbnJlcXVpcmUoXCIuL2Jhc2UvdG91Y2gtZXZlbnRcIik7XG5cbnJlcXVpcmUoXCIuL2RldmljZS9hY2NlbGVyb21ldGVyXCIpO1xuXG5yZXF1aXJlKFwiLi9kZXZpY2UvYmF0dGVyeVwiKTtcblxucmVxdWlyZShcIi4vZmlsZS9maWxlLXN5c3RlbS1tYW5hZ2VyXCIpO1xuXG5yZXF1aXJlKFwiLi9pbnRlcmZhY2Uva2V5Ym9hcmRcIik7XG5cbnJlcXVpcmUoXCIuL2ludGVyZmFjZS93aW5kb3dcIik7XG5cbnJlcXVpcmUoXCIuL21lZGlhL2F1ZGlvXCIpO1xuXG5yZXF1aXJlKFwiLi9uZXR3b3JrL2Rvd25sb2FkXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvY2FudmFzXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvZm9udFwiKTtcblxucmVxdWlyZShcIi4vcmVuZGVyaW5nL2ZyYW1lXCIpO1xuXG5yZXF1aXJlKFwiLi9yZW5kZXJpbmcvaW1hZ2VcIik7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcImdldEZlYXR1cmVQcm9wZXJ0eVwiLCBfZmVhdHVyZVtcImRlZmF1bHRcIl0sIHJhbCk7XG5cbn0se1wiLi4vZmVhdHVyZVwiOjEsXCIuLi91dGlsXCI6MyxcIi4vYmFzZS9saWZlY3ljbGVcIjo0LFwiLi9iYXNlL3N1YnBhY2thZ2VcIjo1LFwiLi9iYXNlL3N5c3RlbS1pbmZvXCI6NixcIi4vYmFzZS90b3VjaC1ldmVudFwiOjcsXCIuL2RldmljZS9hY2NlbGVyb21ldGVyXCI6OCxcIi4vZGV2aWNlL2JhdHRlcnlcIjo5LFwiLi9maWxlL2ZpbGUtc3lzdGVtLW1hbmFnZXJcIjoxMCxcIi4vaW50ZXJmYWNlL2tleWJvYXJkXCI6MTIsXCIuL2ludGVyZmFjZS93aW5kb3dcIjoxMyxcIi4vbWVkaWEvYXVkaW9cIjoxNCxcIi4vbmV0d29yay9kb3dubG9hZFwiOjE1LFwiLi9yZW5kZXJpbmcvY2FudmFzXCI6MTYsXCIuL3JlbmRlcmluZy9mb250XCI6MTcsXCIuL3JlbmRlcmluZy9mcmFtZVwiOjE4LFwiLi9yZW5kZXJpbmcvaW1hZ2VcIjoxOX1dLDEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXtcblwidXNlIHN0cmljdFwiO1xuXG52YXIgX3V0aWwgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi91dGlsXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRJbnB1dFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib25LZXlib2FyZENvbmZpcm1cIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcIm9uS2V5Ym9hcmRDb21wbGV0ZVwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRJbnB1dFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwib2ZmS2V5Ym9hcmRDb25maXJtXCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJvZmZLZXlib2FyZENvbXBsZXRlXCIsIHFnLCByYWwpO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJoaWRlS2V5Ym9hcmRcIiwgcWcsIHJhbCk7XG5cbl91dGlsW1wiZGVmYXVsdFwiXS5leHBvcnRUbyhcInNob3dLZXlib2FyZFwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwidXBkYXRlS2V5Ym9hcmRcIiwgcWcsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjN9XSwxMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgXCJkZXZpY2VQaXhlbFJhdGlvXCIsIHtcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7fSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn0pO1xuXG59LHt9XSwxNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbm5lckNvbnRleHQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9pbm5lci1jb250ZXh0XCIpKTtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJBdWRpb0VuZ2luZVwiLCBxZywgcmFsKTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHRcIiwgcWcsIHJhbCwgZnVuY3Rpb24gKCkge1xuICBpZiAoX3J0LkF1ZGlvRW5naW5lKSB7XG4gICAgcmFsLmNyZWF0ZUlubmVyQXVkaW9Db250ZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuICgwLCBfaW5uZXJDb250ZXh0W1wiZGVmYXVsdFwiXSkocWcuQXVkaW9FbmdpbmUpO1xuICAgIH07XG4gIH1cbn0pO1xuXG59LHtcIi4uLy4uL2lubmVyLWNvbnRleHRcIjoyLFwiLi4vLi4vdXRpbFwiOjN9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJkb3dubG9hZEZpbGVcIiwgcWcsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjN9XSwxNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxudmFyIF91dGlsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vdXRpbFwiKSk7XG5cbnZhciBfZmVhdHVyZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL2ZlYXR1cmVcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxud2luZG93LkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA9IHFnLmdldENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCgpO1xud2luZG93Lm1haW5DYW52YXMgPSBxZy5jcmVhdGVDYW52YXMoKTtcbnZhciBtYWluQ2FudmFzID0gd2luZG93Lm1haW5DYW52YXM7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCBcIkhUTUxDYW52YXNFbGVtZW50XCIsIHtcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7fSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIG1haW5DYW52YXMuY29uc3RydWN0b3I7XG4gIH1cbn0pO1xuXG5fdXRpbFtcImRlZmF1bHRcIl0uZXhwb3J0VG8oXCJjcmVhdGVDYW52YXNcIiwgcWcsIHJhbCk7XG5cbnZhciBmZWF0dXJlVmFsdWUgPSBcInZpdm9fcGxhdGZvcm1fc3VwcG9ydFwiO1xuXG5fZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFwiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcblxuX2ZlYXR1cmVbXCJkZWZhdWx0XCJdLnNldEZlYXR1cmUoXCJIVE1MQ2FudmFzRWxlbWVudFwiLCBcInNwZWNcIiwgZmVhdHVyZVZhbHVlKTtcblxufSx7XCIuLi8uLi9mZWF0dXJlXCI6MSxcIi4uLy4uL3V0aWxcIjozfV0sMTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBcImRlZmF1bHRcIjogb2JqIH07IH1cblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwibG9hZEZvbnRcIiwgcWcsIHJhbCk7XG5cbn0se1wiLi4vLi4vdXRpbFwiOjN9XSwxODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7XG5cInVzZSBzdHJpY3RcIjtcblxuaWYgKHdpbmRvdy5qc2IgJiYganNiLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCkge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0ganNiLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZC5iaW5kKGpzYik7XG59IGVsc2UgaWYgKHFnLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCkge1xuICByYWwuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kID0gcWcuc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kLmJpbmQocWcpO1xufSBlbHNlIHtcbiAgcmFsLnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiVGhlIHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCBpcyBub3QgZGVmaW5lIVwiKTtcbiAgfTtcbn1cblxufSx7fV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe1xuXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBfdXRpbCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uLy4uL3V0aWxcIikpO1xuXG52YXIgX2ZlYXR1cmUgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9mZWF0dXJlXCIpKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgXCJkZWZhdWx0XCI6IG9iaiB9OyB9XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csIFwiSFRNTEltYWdlRWxlbWVudFwiLCB7XG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbCkge30sXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBxZy5jcmVhdGVJbWFnZSgpLmNvbnN0cnVjdG9yO1xuICB9XG59KTtcblxuX3V0aWxbXCJkZWZhdWx0XCJdLmV4cG9ydFRvKFwiY3JlYXRlSW1hZ2VcIiwgcWcsIHJhbCk7XG5cbnZhciBmZWF0dXJlVmFsdWUgPSBcInZpdm9fcGxhdGZvcm1fc3VwcG9ydFwiO1xuXG5fZmVhdHVyZVtcImRlZmF1bHRcIl0uc2V0RmVhdHVyZShcIkhUTUxJbWFnZUVsZW1lbnRcIiwgXCJzcGVjXCIsIGZlYXR1cmVWYWx1ZSk7XG5cbl9mZWF0dXJlW1wiZGVmYXVsdFwiXS5zZXRGZWF0dXJlKFwiSW1hZ2VcIiwgXCJzcGVjXCIsIGZlYXR1cmVWYWx1ZSk7XG5cbl9mZWF0dXJlW1wiZGVmYXVsdFwiXS5zZXRGZWF0dXJlKFwicmFsLmNyZWF0ZUltYWdlXCIsIFwic3BlY1wiLCBmZWF0dXJlVmFsdWUpO1xuXG59LHtcIi4uLy4uL2ZlYXR1cmVcIjoxLFwiLi4vLi4vdXRpbFwiOjN9XX0se30sWzExXSk7XG4iXSwiZmlsZSI6InJhbC5qcyJ9 diff --git a/platforms/runtime/platforms/vivo-mini-game/ral.min.js b/platforms/runtime/platforms/vivo-mini-game/ral.min.js deleted file mode 100644 index 70f4fa77020..00000000000 --- a/platforms/runtime/platforms/vivo-mini-game/ral.min.js +++ /dev/null @@ -1 +0,0 @@ -!function n(o,i,a){function u(t,e){if(!i[t]){if(!o[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(f)return f(t,!0);throw(r=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",r}r=i[t]={exports:{}},o[t][0].call(r.exports,function(e){return u(o[t][1][e]||e)},r,r.exports,n,o,i,a)}return i[t].exports}for(var f="function"==typeof require&&require,e=0;e => { + for (const name of await fs.readdir(dir)) { + const source = ps.join(dir, name); + // eslint-disable-next-line no-await-in-loop + if ((await fs.stat(source)).isDirectory()) { + // eslint-disable-next-line no-await-in-loop + await mirrorPalDts(source); + continue; + } + if (!source.endsWith('.d.ts')) { + continue; + } + const target = ps.join(unbundledOutDirNormalized, ps.relative(engine, source)); + // eslint-disable-next-line no-await-in-loop + await fs.ensureDir(ps.dirname(target)); + // eslint-disable-next-line no-await-in-loop + await fs.copyFile(source, target); + } + }; + await mirrorPalDts(palDtsRoot); + } const types = parsedCommandLine.options.types?.map((typeFile) => `${typeFile}.d.ts`); if (types) { for (const file of types) { diff --git a/scripts/build-engine/src/build-time-constants.ts b/scripts/build-engine/src/build-time-constants.ts index f25e8237ba8..600273665de 100644 --- a/scripts/build-engine/src/build-time-constants.ts +++ b/scripts/build-engine/src/build-time-constants.ts @@ -35,7 +35,7 @@ export function setupBuildTimeConstants ({ result.DEV = result.EDITOR || result.PREVIEW || result.TEST; result.DEBUG = result.DEBUG || result.DEV; - result.RUNTIME_BASED = result.OPPO || result.VIVO || result.HUAWEI || result.COCOSPLAY || result.LINKSURE || result.QTT; + result.RUNTIME_BASED = result.OPPO || result.VIVO || result.HUAWEI || result.COCOSPLAY || result.LINKSURE || result.QTT || result.SUD || result.SUDV2; result.MINIGAME = result.WECHAT || result.ALIPAY || result.XIAOMI || result.BYTEDANCE || result.BAIDU; result.JSB = result.NATIVE; result.SUPPORT_JIT = !(result.MINIGAME || result.RUNTIME_BASED); @@ -43,7 +43,7 @@ export function setupBuildTimeConstants ({ } export function getPlatformConstantNames () { - return ['HTML5', 'WECHAT', 'ALIPAY', 'BAIDU', 'XIAOMI', 'BYTEDANCE', 'OPPO', 'VIVO', 'HUAWEI', 'NATIVE', 'COCOSPLAY', 'LINKSURE', 'QTT']; + return ['HTML5', 'WECHAT', 'ALIPAY', 'BAIDU', 'XIAOMI', 'BYTEDANCE', 'OPPO', 'VIVO', 'HUAWEI', 'NATIVE', 'COCOSPLAY', 'LINKSURE', 'QTT', 'SUD', 'SUDV2', 'NODEJS']; } export function getBuildModeConstantNames () { diff --git a/scripts/build-engine/src/ts-paths.ts b/scripts/build-engine/src/ts-paths.ts index 844c2847718..368721285d4 100644 --- a/scripts/build-engine/src/ts-paths.ts +++ b/scripts/build-engine/src/ts-paths.ts @@ -1,13 +1,29 @@ - import * as rollup from 'rollup'; import ts from 'typescript'; import ps from 'path'; -export default function ({ - configFileName, -}: { - configFileName: string; -}): rollup.Plugin { +type ResolveTsPath = (source: string) => string | null; + +function completePathExtension (file: string): string | undefined { + if (ps.extname(file) && ts.sys.fileExists(file)) { + return file; + } + for (const extension of ['.ts', '.js', '.json']) { + const fileWithExtension = `${file}${extension}`; + if (ts.sys.fileExists(fileWithExtension)) { + return fileWithExtension; + } + } + for (const extension of ['.ts', '.js', '.json']) { + const indexWithExtension = ps.join(file, `index${extension}`); + if (ts.sys.fileExists(indexWithExtension)) { + return indexWithExtension; + } + } + return undefined; +} + +export function createTsPathResolver (configFileName: string): ResolveTsPath { const parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configFileName, {}, { onUnRecoverableConfigFileDiagnostic: () => {}, useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, @@ -19,24 +35,60 @@ export default function ({ if (!parsedCommandLine) { throw new Error(`Failed to read tsconfig`); } + const { baseUrl, paths } = parsedCommandLine.options; - let resolveId: rollup.ResolveIdHook | undefined; - if (paths) { - const baseUrlNormalized = ps.resolve(configFileName, baseUrl ?? '.'); - const simpleMap: Record = {}; - for (const [key, mapped] of Object.entries(paths)) { - simpleMap[key] = ps.resolve(baseUrlNormalized, mapped[0]); + if (!paths) { + return () => null; + } + + const baseUrlNormalized = ps.resolve(ps.dirname(configFileName), baseUrl ?? '.'); + const simpleMap: Record = {}; + const wildcardMap: Array<{ prefix: string; suffix: string; target: string }> = []; + for (const [key, mapped] of Object.entries(paths)) { + const target = ps.resolve(baseUrlNormalized, mapped[0]); + const wildcardIndex = key.indexOf('*'); + if (wildcardIndex < 0) { + simpleMap[key] = target; + } else { + wildcardMap.push({ + prefix: key.slice(0, wildcardIndex), + suffix: key.slice(wildcardIndex + 1), + target, + }); } - resolveId = function (this, source, importer) { - if (!(source in simpleMap)) { - return null; - } else { - return simpleMap[source]; - } - }; } + + return (source: string): string | null => { + if (source in simpleMap) { + return completePathExtension(simpleMap[source]) ?? simpleMap[source]; + } + + for (const { prefix, suffix, target } of wildcardMap) { + if (source.length < prefix.length + suffix.length + || !source.startsWith(prefix) + || !source.endsWith(suffix)) { + continue; + } + const captured = source.slice(prefix.length, source.length - suffix.length); + const resolved = completePathExtension(ps.normalize(target.replace('*', captured))); + if (resolved) { + return resolved; + } + } + return null; + }; +} + +export default function ({ + configFileName, +}: { + configFileName: string; +}): rollup.Plugin { + const resolveTsPath = createTsPathResolver(configFileName); return { name: 'ts-paths', - resolveId, + resolveId (source) { + return resolveTsPath(source); + }, }; -} \ No newline at end of file +} diff --git a/scripts/build-engine/tests/ts-paths.test.ts b/scripts/build-engine/tests/ts-paths.test.ts new file mode 100644 index 00000000000..3fcef3cf5b2 --- /dev/null +++ b/scripts/build-engine/tests/ts-paths.test.ts @@ -0,0 +1,28 @@ +import { expect, test } from '@jest/globals'; +import ps from 'path'; +import { createTsPathResolver } from '../src/ts-paths'; + +const engineRoot = ps.resolve(__dirname, '../../..'); +const resolveTsPath = createTsPathResolver(ps.join(engineRoot, 'tsconfig.json')); + +test('resolves exact tsconfig path aliases', () => { + expect(resolveTsPath('cc.decorator')).toBe( + ps.join(engineRoot, 'cocos/core/data/decorators/index.ts'), + ); +}); + +test('resolves wildcard tsconfig path aliases and completes file extensions', () => { + expect(resolveTsPath('@cocos/engine/cocos/core/platform/debug')).toBe( + ps.join(engineRoot, 'cocos/core/platform/debug.ts'), + ); +}); + +test('resolves wildcard tsconfig path aliases to directory indexes', () => { + expect(resolveTsPath('@cocos/engine/cocos/core/math')).toBe( + ps.join(engineRoot, 'cocos/core/math/index.ts'), + ); +}); + +test('falls through when a wildcard alias target does not exist', () => { + expect(resolveTsPath('@cocos/engine/not-exists')).toBeNull(); +}); diff --git a/scripts/spread-adapter.cjs b/scripts/spread-adapter.cjs new file mode 100644 index 00000000000..9f33beeb090 --- /dev/null +++ b/scripts/spread-adapter.cjs @@ -0,0 +1,103 @@ +// postinstall 相当:把 @cocos/engine-platforms 的预打包 adapter 【复制】到 engineRoot/bin/adapter。 +// +// 与 spread-pal.cjs 的区别: +// - pal 发布的是逐文件源码,必须铺到 engineRoot/pal 供 ccbuild 每次构建时编译; +// - platforms 发布的是【已打包产物】bin/adapter,游戏构建期只拷贝它(native/harmonyos +// 从 bin/adapter/native;编辑器/预览经 compiler 从 bin/adapter/nodejs 生成 bin/.editor)。 +// 故这里只需把包里的 bin/adapter 复制到 engineRoot/bin/adapter,不再本地跑 build-adapter。 +// +// 容错:本包尚未正式发布 npm 时,一次干净的 `npm i` 拉不到它。此时【打印警告并 exit 0】, +// 保留 engineRoot 已存在的 bin/adapter,避免阻断 postinstall。发布并加入 dependencies 后必然能找到。 +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); + +const engineRoot = path.join(__dirname, '..'); +const packageRoot = path.join(engineRoot, 'node_modules', '@cocos', 'engine-platforms'); +const src = path.join(packageRoot, 'bin', 'adapter'); +const dst = path.join(engineRoot, 'bin', 'adapter'); +const patchAssetsPattern = /^@cocos\+engine-platforms\+.*\.patch-assets\.json$/; + +if (!fs.existsSync(src)) { + console.warn(`[spread-adapter] 未找到 @cocos/engine-platforms 的预打包 adapter: ${src}`); + console.warn('[spread-adapter] 跳过(保留已有 bin/adapter)。该包正式发布并加入 engine dependencies 后此步会自动生效。'); + process.exit(0); +} + +function sha256(content) { + return crypto.createHash('sha256').update(content).digest('hex').toUpperCase(); +} + +function safeAssetPath(root, relativePath) { + if (typeof relativePath !== 'string' || !relativePath || relativePath.includes('\\')) { + throw new Error(`[spread-adapter] 非法二进制资源路径: ${String(relativePath)}`); + } + const normalized = path.posix.normalize(relativePath); + if (normalized !== relativePath || normalized === '..' || normalized.startsWith('../') || path.posix.isAbsolute(normalized)) { + throw new Error(`[spread-adapter] 二进制资源路径越界: ${relativePath}`); + } + const resolvedRoot = path.resolve(root); + const destination = path.resolve(resolvedRoot, ...normalized.split('/')); + if (destination !== resolvedRoot && !destination.startsWith(`${resolvedRoot}${path.sep}`)) { + throw new Error(`[spread-adapter] 二进制资源路径越界: ${relativePath}`); + } + return destination; +} + +function restorePatchAssets() { + const patchesDir = path.join(engineRoot, 'patches'); + if (!fs.existsSync(patchesDir)) return 0; + const manifests = fs.readdirSync(patchesDir).filter((name) => patchAssetsPattern.test(name)); + if (manifests.length === 0) return 0; + if (manifests.length !== 1) { + throw new Error(`[spread-adapter] 只能存在一个 Platforms 二进制资源清单,实际为 ${manifests.length} 个。`); + } + + const manifestFile = path.join(patchesDir, manifests[0]); + const manifest = JSON.parse(fs.readFileSync(manifestFile, 'utf8')); + const installed = JSON.parse(fs.readFileSync(path.join(packageRoot, 'package.json'), 'utf8')); + if (manifest.format !== 1 || manifest.package !== '@cocos/engine-platforms' + || manifest.baseline !== installed.version || manifest.payload !== 'bin/adapter' + || !Array.isArray(manifest.files) || !Array.isArray(manifest.deletions)) { + throw new Error(`[spread-adapter] 无效或版本不匹配的二进制资源清单: ${manifestFile}`); + } + + for (const relativePath of manifest.deletions) { + fs.rmSync(safeAssetPath(src, relativePath), { force: true }); + } + for (const entry of manifest.files) { + if (typeof entry.base64 !== 'string' || Buffer.from(entry.base64, 'base64').toString('base64') !== entry.base64) { + throw new Error(`[spread-adapter] 非法 base64 二进制资源: ${entry.path}`); + } + const content = Buffer.from(entry.base64, 'base64'); + if (content.length !== entry.bytes || sha256(content) !== entry.sha256) { + throw new Error(`[spread-adapter] 二进制资源校验失败: ${entry.path}`); + } + const destination = safeAssetPath(src, entry.path); + fs.mkdirSync(path.dirname(destination), { recursive: true }); + fs.writeFileSync(destination, content); + if (fs.statSync(destination).size !== entry.bytes || sha256(fs.readFileSync(destination)) !== entry.sha256) { + throw new Error(`[spread-adapter] 二进制资源写入校验失败: ${entry.path}`); + } + } + console.log(`[spread-adapter] 已从 ${manifests[0]} 恢复 ${manifest.files.length} 个、删除 ${manifest.deletions.length} 个二进制资源。`); + return manifest.files.length + manifest.deletions.length; +} + +restorePatchAssets(); + +let count = 0; +function copyDir(s, d) { + fs.mkdirSync(d, { recursive: true }); + for (const name of fs.readdirSync(s)) { + const sp = path.join(s, name); + const dp = path.join(d, name); + if (fs.statSync(sp).isDirectory()) copyDir(sp, dp); + else { fs.copyFileSync(sp, dp); count++; } + } +} + +// 只清除 bin/adapter(不动 bin 下其它产物,如 .editor / .cache 等) +fs.rmSync(dst, { recursive: true, force: true }); +copyDir(src, dst); +console.log(`[spread-adapter] 已复制 ${count} 个文件: ${src} -> ${dst}`); diff --git a/scripts/spread-pal.cjs b/scripts/spread-pal.cjs new file mode 100644 index 00000000000..f6a8ba3563e --- /dev/null +++ b/scripts/spread-pal.cjs @@ -0,0 +1,48 @@ +// postinstall 相当:把 @cocos/engine-pal 的产物【复制】到 engineRoot/pal。 +// +// 为什么必须挂到 engineRoot/pal(而非直接用 node_modules):见 docs/pal-platforms-privatization.md §8.2—— +// 引擎 cocos/* 通过相对路径深度 import pal(如 ../../pal/audio/type,23 处),由 rollup 基于 +// importer 文件位置解析成 /pal/...,不经任何 alias;第二条链路(quick-compiler)与 +// tsc 类型检查同样依赖 pal 物理位于 engineRoot/pal。 +// +// 为什么用【复制】而非软链(junction/symlink):实测软链不可行(2026-07-03)。 +// rollup 的 nodeResolve(jail=realPath(engineRoot)) 与 tsc 都会对软链做 realpath,pal 文件的 +// 真实路径落回 node_modules/@cocos/engine-pal/dist,导致 tsconfig 的 `@cocos/engine/*` paths +// 别名对其失效(tsc 不对 node_modules 内文件应用 paths) → 产物残留未解析的 `@cocos/engine/*` +// import(运行时会坏)。tsconfig 单加 preserveSymlinks 也无效(nodeResolve 已先 realpath)。 +// 要用软链得改 ccbuild 传 rollup preserveSymlinks,代价与副作用不划算。故用复制:pal 真实 +// 物理位于 engineRoot/pal,paths 别名才生效。 +const fs = require('fs'); +const path = require('path'); + +const engineRoot = path.join(__dirname, '..'); +const src = path.join(engineRoot, 'node_modules', '@cocos', 'engine-pal', 'dist'); +const dst = path.join(engineRoot, 'pal'); + +if (!fs.existsSync(src)) { + console.error(`[spread-pal] 找不到 pal 产物: ${src}\n请先安装 @cocos/engine-pal。`); + process.exit(1); +} + +// 安全清除已有 pal:软链只删链接本身(不碰目标),真实目录才递归删。 +function removeExisting(p) { + let st; + try { st = fs.lstatSync(p); } catch (e) { return; } // 不存在 + if (st.isSymbolicLink()) fs.unlinkSync(p); // 兼容历史软链 + else fs.rmSync(p, { recursive: true, force: true }); +} + +let count = 0; +function copyDir(s, d) { + fs.mkdirSync(d, { recursive: true }); + for (const name of fs.readdirSync(s)) { + const sp = path.join(s, name); + const dp = path.join(d, name); + if (fs.statSync(sp).isDirectory()) copyDir(sp, dp); + else { fs.copyFileSync(sp, dp); count++; } + } +} + +removeExisting(dst); +copyDir(src, dst); +console.log(`[spread-pal] 已复制 ${count} 个文件: ${src} -> ${dst}`); diff --git a/tsconfig.json b/tsconfig.json index 2f0ceff065d..02f54e6d7ef 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,10 @@ "paths": { "cc.decorator": [ "cocos/core/data/decorators/index.ts" - ] + ], + "@cocos/engine/*": [ + "*" + ] }, "types": [ "./@types/globals",